1.shx文件的基本情况 shx文件又叫索引文件,主要包含坐标文件的索引信息,文件中每个记录包含对应的坐标文件记录距离坐标文件的初始位置的偏移量.通过索引文件可以很方便地在坐标文件中定位到指定目标的坐标信息. 2.shx文件的组成 索引文件也是由头文件和实体信息两部分构成,其中文件头部分是一个长度固定(100 bytes)的记录段,其内容与坐标文件的文件头基本一致(FileLength指shx文件的FileLength).它的实体信息以记录为基本单位,每一条记录包括偏移量(offset)和记录段…
之前介绍了Shp文件和Dbf的写(创建),最后来介绍一下Shx文件的写(创建).Shx文件是三者之中最简单的一个,原因有两个:第一是Shx文件的头文件与Shp文件的头文件几乎一样(除了FileLength):第二是Shx文件的主体只有两个记录项,分别是Offset和ContentLength. 推荐结合读取shx的博客一起看! 推荐结合读取shx的博客一起看! 推荐结合读取shx的博客一起看! 1.Shx头文件 Shx头文件的各项和Shp文件一样,字节数为100.FileLength代表本Shx…
1.DBF文件要点 DBF文件又叫属性文件,也叫dBASE文件,文件后缀是.dbf,实际上ArcGIS打开后的属性表就是DBF的信息.DBF文件遵循以下几个条件: 每个要素在表中必须要包含一个与之相对应的记录. 记录的顺序必须与要素在主文件中(*.shp)的顺序一样. dBASE 文件头中的年份值必须要晚于 1900 年. 2.DBF文件的组成 属性文件(.dbf)用于记录属性信息.它是一个标准的DBF文件,也是由头文件和实体信息两部分构成: 3.DBF文件的头文件 文件头部分的长度是不定长的,…
前言 读书之法,在循序而渐进,熟读而精思.--朱熹 抽空又来写一篇,毕竟知识在于分享! 一.xlwt模块是什么 python第三方工具包,用于往excel中写入数据:(ps:只能创建新表格,不能修改表格内容!!) 它支持 xlsx 和 xls 格式的excel表格: 与之对应的还有一个xlrd包,用于读取excel中的数据. 二.安装xlwt模块 命令行中输入:pip install xlwt 下载安装包进行离线安装 三.xlwt应用举例 3.1 xlwt基本应用实例 import xlwt #…
MainActivity如下: package cc.c; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.widget.TextView; /** * Demo描述: * * 示例步骤如下: * 1 子线程给子线程本身发送消息 * 2 收到1的消…
MainActivity例如以下: package cc.c; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.widget.TextView; /** * Demo描写叙述: * * 演示样例过程例如以下: * 1 子线程给子线程本身发送消息 *…
之前介绍了shp文件.dbf文件和shx文件的的读取,接下来将分别介绍它们的创建过程.一般来说,读和写的一一对应的,写出的文件就是为了保存数据供以后读取的.写的文件要符合shapefile的标准.之前读取的时候使用的函数是fread,写的函数对应为fwrite,文件为二进制流文件. 建议本博客和之前shp读取的博客一起看! 建议本博客和之前shp读取的博客一起看! 建议本博客和之前shp读取的博客一起看! 1.位序little转为big shp文件中部分参数是big类型,读取的时候读取的big要…
博客背景和目的 最近在用C++写一个底层的东西,需要读取和创建shp文件.虽然接触shp文件已经几年了,但是对于shp文件内到底包含什么东西一直是一知半解.以前使用shp文件都是利用软件(如ArcGIS)直接打开,保存:创建文件则需要专门利用ArcToolBox等创建图形. 网上有现成的有关shp文件的库,如GDAL等,可以结合这些库来读写shp文件.但是由于编程环境问题.库的版本.编译.引用等等问题,在现有情况下无法正常使用,加之使用现有的库不能让我从底层完全了解shp文件的组织方式,遂决心一…
1.各数据类型及其字节数 BYTE 1;       char 1;    short 2;      int 4;    double 8; 2.位序big和little及其转换 对于位序是big的数据我们在读取时要小心.通常,数据的位序都是Little,但在有些情况下可能会是big,二者的区别在于它们位序的顺序相反.一个位序为big的数据,如果我们想得到它的真实数值,需要将它的位序转换成Little即可.转换原理就是交换字节顺序,下面是转换代码(big->little): int OnCha…
C#中的函数式编程:递归与纯函数(二)   在序言中,我们提到函数式编程的两大特征:无副作用.函数是第一公民.现在,我们先来深入第一个特征:无副作用. 无副作用是通过引用透明(Referential transparency)来定义的.如果一个表达式满足将它替换成它的值,而程序的行为不变,则称这个表达式是引用透明的. 现在,我们不妨进行一个尝试:我们来实现一些函数,但是这次有一个限制:只能用无副作用的表达式. 先以素数判定为例子,我们要写一个函数bool IsPrime(int n),它返回这个…