shp文件结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

* Unused, with value 0.0, if not Measured or Z type

Big表示大尾(big endian)型字节顺序,即是高低位字节是反序的,主要适用于Sun® or Motorola®平台,而Little表示小尾(little endian)型字节顺序,高低位字节顺序不变,主要使用在PC or Intel®平台。在读取的字节为Big时,需要进行字节顺序交换,才能得出正确的值。一个把Big顺序转换为Little顺序的函数可以如下:

int Big2LittleEndian(int num)

{

int reverse; //返回结果

char bit0, bit1, bit2, bit3;

bit0 = (num & 0x000000ff);

bit1 = (num & 0x0000ff00) >> 8;

bit2 = (num & 0x00ff0000) >> 16;

bit3 = (num & 0xff000000) >> 24;

reverse = (bit0 << 24) | (bit1 << 16) | (bit2 << 8) | (bit3);

return reverse;

}

文件头中第32-35位字节为一个整型,其值反映了shapefile的图形对象类型,具体值对应含义如下:

第36-67个字节包含了图幅的范围大小。

每条记录由记录头和实体内容组成,记录头格式固定,具体组成如下所示:

记录头包含8个字节,0-3表示记录的顺序号,4-7表示记录实体自身的大小。

实体的内容根据对象类型不同而变化,需根据具体情况处理。

.shx文件由文件头和记录组成,文件头与前述.shp文件一致,但需注意File Length字段的值不一样。而每条记录由2个整型组成,具体内容如下:

其中,offset表示该条记录在.shp文件中的字节位置,而Content Length 说明了记录的大小。

标准的DBF文件,是由头文件和实体信息两部分构成(如图1所示)。

……

……

图1 DBF文件的结构

文件头部分的长度是不定长的,它主要对DBF文件作了一些总体说明(表),其中最主要的是对这个DBF文件的记录项的信息进行了详细地描述,比如对每个记录项的名称、数据类型、长度等信息都有具体的说明。

文件(.dbf)的文件头

记录项信息描述

dbf文件中的数据类型

相关文档
最新文档