- 博客(22)
- 收藏
- 关注
原创 基于ArcMap中Python 批量处理栅格数据(以按掩膜提取为例)
ArcMap中的python编辑器是很多本科生使用ArcMap时容易忽略的一个工具,本人最近正在读一本书《ArcGIS Python 编程基础与应用》,在此和大家分享、交流一些相关的知识。这篇文章主要分享一下。当数据量比较少的时候,栅格数据的裁剪可以通过 ArcToolbox -- 提取分析 -- 按掩膜提取的功能进行。如下图:但是如果需要处理的数据很多,也就是批量处理栅格数据,再手动处理就显得比较低效了。这个时候就需要用到 Python编辑器,利用程序批量处理。
2024-10-29 16:59:52
897
原创 数据库原理及应用:用实例理解关系代数(传统集合运算和专门关系运算)
本篇博客只是利用实例来更好地理解关系代数,有关本章内容专业的表达式在此篇博客中未被提及。本博客中关系和表格这两个表达是等价的。关系操作分为传统集合运算和专门关系运算,这一篇博客我们将从实例进行关系操作的讨论。
2024-10-08 01:30:53
1442
原创 C++:模板初阶
当取消下面代码段的注释时,此时出现了函数重载(函数名相同,但是参数不同),此时主函数调用Swap函数,起作用的就是(参数是int&)的Swap函数。原因在于函数模板相当于便于不知道参数具体类型时可以根据传入的参数自动推导,而如果有一个现成的确定了参数类型的同名函数,那么模板函数就可以“休息”了,不用发挥作用。函数模板允许我们定义一个通用的函数,该函数可以接受不同类型的参数,并根据实际的参数类型进行类型推断来确定具体的函数实例。模板允许我们定义通用的函数或类,并根据需要自动创建具体的实例。
2024-10-07 10:51:23
542
原创 数据结构:栈和队列的练习题1(括号匹配问题)
因为涉及匹配问题,所以所有的左括号和右括号肯定要分开来整理。当遇到左括号时便使其进入栈,当遇到右括号时再去栈顶元素和右括号进行匹配。如果是同种类型的括号就匹配成功,将栈顶元素出栈并继续匹配;若匹配失败则直接return。为预防碰到括号数量不对等时,我们可以引入count变量来记录左括号和右括号的个数,一次来解决做题时遇到的一些问题。
2024-05-30 20:48:41
399
原创 数据结构:单链表
SL;链表由两部分组成:存储的数据以及指向下一个节点的指针。定义和重命名完成之后,就要开始在.c文件中操作链表进行增删查改的工作了。
2024-05-04 20:47:58
928
1
原创 数据结构:顺序表
顺序表属于数据结构中的一种。我们之前学过的数组就是最简单的一种数据结构。那么我们为什么要学习其他的数据结构呢?因为在处理数据量较大,较复杂的实际情况里,只有数组一种数据结构显然是不够用的,只用数组处理复杂和大量的数据会使程序的效率大大降低,所以我们需要学习其他的数据结构。
2024-04-16 22:04:23
678
1
原创 简析atoi函数
atoi函数的作用是将字符串转化为整型。注意事项:(由官网上翻译而来)1.解析 C 字符串 str,将其内容解释为整数,该整数以 int 类型的值返回。该函数首先根据需要丢弃任意数量的空格字符(如在 isspace 中),直到找到第一个非空格字符。然后,从此字符开始,采用可选的初始加号或减号,后跟尽可能多的以 10 为基数的数字,并将它们解释为数值。2.字符串可以在构成整数的字符之后包含其他字符,这些字符将被忽略,并且对此函数的行为没有影响。
2024-04-16 22:03:21
257
1
原创 动态内存管理
用free函数释放申请的动态内存后,这块空间的使用权限会还给操作系统。这个时候指针就没有指向的空间了,如果此时不将指针制为NULL,指针就会变成野指针,这对程序的安全非常不利。用C语言写代码的时候我们需要向内存申请空间,申请空间有2种方式:(1)创建变量。向后没有足够的位置可供开辟,需要重新找一块地方扩容(将原来空间的数据拷贝一份到),原有的内存会被释放。找到新的空格后会返回新的空间的起始地址。向内存申请一块连续可用的空间,并返回指向这块空间的指针。向后有足够的内存可以开辟,在原有的位置扩容。
2024-04-02 20:52:05
347
1
原创 C语言:浮点数在内存中的存储
根据国际标准IEEE754规定:任何一个二进制浮点数V都可以写成下面这种形式:其中:S是符号位M表示的是有效数字(和10进制的科学计数法类似,二进制有效数字的范围总是十进制1~2之间,即总是1.xxxxx这种形式),2^E表示的是指数位(可以类比于10进制的10^E)。
2024-04-02 20:51:36
417
1
原创 C语言:解析自定义类型(结构体、联合体、枚举类型)
C语言中除了自带的 int,float,char 等数据类型,还为我们提供了自定义类型:结构体、联合体、枚举类型。有了这些自定义类型在解决某些问题上就可以更加轻松。
2024-03-30 23:43:44
847
1
原创 C语言:判断VS编译器是大端存储还是小端存储
如果是小端存储就是 01 00 00 00的形式,通过上述操作得到的是 01 ,也就是1。我们发现我们创建的变量 0x11223344 在编译器内存中是把变量的小字节“44”放在第一位(也就是低地址处),所以我们了解到了VS是小端存储。超过一个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分。小端存储:数据的高位字节内容保存在内存的高地址处,数据的低位字节内容,保存。数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,保存。为大端字节序存储和小端字节序存储。
2024-03-20 11:45:19
570
1
原创 C语言:字符串函数(strcpy,strcat,strcmp,strstr)简介
根据官网上的介绍,strcpy函数有2个参数,第一个参数是destnation(意思是字符串的粘贴地),第二个参数是source(意思是字符串的复制地)。这个函数有几个注意事项:1.源字符串必须以‘\0’结尾。2.strcpy函数会将‘\0’拷贝到目标空间。3.目标空间必须可修改而且要足够大。strcat函数(str connact):作用是将源字符串的内容转移到目标字符串的后面。这种方式不会破坏目标字符串,相当于只给目标字符串添加了一个源字符串。
2024-03-18 10:30:56
8358
2
原创 简析qsort函数
qsort函数是系统自带的一个用于排序的库函数。其底层使用的是快速排序,并且可以排任意类型的数据(比如整型、结构体等)。这个函数独特之处在与它的参数相对比较特殊。
2024-03-06 09:51:20
1182
1
原创 C语言:简析移位操作符与位操作符
用公式来理解 b=(a^b)^b=a^b^b=a^(b^b)=a^0=a;同理,最后一行a=a^b=(a^b)^a=a^a^b=(a^a)^b=0^b=b;负整数的原码与正整数的区别在于最高位数变成了“1”,因此,原码的最高位就可以看做是数字的“符号位”(1为负数、0为正数)。同时,我们发现左移操作符每操作一次就会使二进制数中的所有“1”向高位移动一位,这个作用的效果就是操作后的数是操作前的数的两倍。所有二进制位向右移动x位,最右边多余的位数舍去,但最左边的符号为不改变(是1还是1,不会用0覆盖)
2024-02-29 08:46:46
1041
2
原创 C语言:指针(3)—— 指针与函数
( 3 ) 函数指针变量是存储函数的地址的变量,所以现在我们认为“0”就是某个函数的地址。比如说:int p(类型是int),int*p(类型是int*).......所以,void(*pa)() 的类型就是 void(*)(),是函数指针变量的一种类型。知道它是一种变量类型之后,我们可以用 type 表示: (*(type)0)())(int),将整个函数去除后:void(*)(int)---->函数指针类型(变量类型)(指针变量的类型)(*指针变量)(函数的参数的类型)
2024-02-18 14:15:14
1069
1
原创 C语言:指针(2)—— 指针与数组
在上一篇指针(1)的博客中简要介绍了指针的概念以及指针的一些简单运算,指针(2)博客将逐步深入地介绍指针与数组的联系,包括指针数组、数组指针、一二维数组传参的本质 等等。这些联系可以使我们初学者更加深入了解指针的概念以及作用。
2024-02-15 16:44:16
909
1
原创 C语言:指针(1)——指针基础知识
比如说上面这段代码块,输出结果代表了变量 a,b 的地址相差的“距离”,3代表3个元素,而1个int元素代表4个字节,3个元素等于12个字节刚好对应a,b地址相差。解引用 "*"的作用是引用指针指向的变量值,引用其实就是引用该变量的地址,解的含义把地址对应的值(也就是变量)解开来。我们可以看到输出的结果(X86环境)是一个地址,而变量a占了4个字节(4个地址),所以,&a取的是4个地址中的。(决定指针的访问权限),所以,如果创建的指针变量类型与指向对象的类型不同,就有可能发生解引用失效的结果。
2024-02-07 17:21:24
626
1
原创 分支与循环的学习
当符合while内表达式的内容(或者说while内的表达式为真的时候),会一直执行语句内容,直到不满足while内表达式为止。同时,如果你想让循环无限执行下去,可以写while(1).因为在C语言中,1代表真,输入1就会使表达式永远满足条件。运用简单的代码就可以和好朋友玩一个有意思的游戏.就是根据输入的字母不同从而使输出的结果不一样.在C语言中有时会遇到运用到多个if的时候,比如判断一个数字是正数、负数、0中的哪种。·表达式为真,执行语句1;表达式为假,执行语句2。表达式为假,不执行语句。
2023-12-11 19:59:10
822
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人