Shapefile 文件是美国环境系统研究所(ESRI)所研制的 GIS 文件系统格式文件,是工业标准的矢量数据文件。 Shapefile 将空间特征表中的非拓扑几何对象和属性信息存储在数据集中,特征表中的几何对象存为以坐标点集表示的图形文件—SHP 文件,Shapefile 文件并不含拓扑(Topological)数据结构。一个 Shape 文件包括三个文件:一个主文件(*.shp),一个索引文件(*.shx),和一个 dBASE(*.dbf)表。主文件是一个直接存取,变长度记录的文件,其中每个记录描述构成一个地理特征(Feature)的所有 vertices 坐标值。在索引文件中,每条记录包含对应主文件记录距离主文件头开始的偏移量,dBASE 表包含 SHP 文件中每一个 Feature 的特征属性,表中几何记录和属性数据之间的一一对应关系是基于记录数目的ID。在 dBASE 文件中的属性记录必须和主文件中的记录顺序是相同的。图形数据和属性数据通过索引号建立一一对应的关系。 Shapefile 中坐标文件(.shp)由固定长度的文件头和接着的变长度空间数据记录组成。文件头由100字节的说明信息组成的(附表 1),主要说明文件的长度、Shape 类型、整个 Shape图层的范围等等,这些信息构成了空间数据的元数据。在导入空间数据时首先要读入文件头获取 Shape 文件的基本信息,并以此信息为基础建立相应的元数据表。而变长度空间数据记录是由固定长度的记录头和变长度记录内容组成,其记录结构基本类似,每条记录都有记录头和记录内容组成(空间坐标对)。记录头的内容包括记录号(Record Nu mber)和坐标记录长度(Content Length)两个记录项,Shapefile 文件中的记录号都是从1开始的,坐标记录长度是按16位字来衡量的。记录内容包括目标的几何类型(ShapeTy pe)和具体的坐标记录(X,Y),记录内容因要素几何类型的不同,其具体的内容和格式都有所不同。 属性文件(.dbf)用于记录属性信息。它是一个标准的 DBF 文件,也是由头文件和实体信息两部分构成。其中文件头部分的长度是不定长的,它主要对 DBF 文件作了一些总体说明(附表 3),其中最主要的是对这个 DBF 文件的记录项的信息进行了详细的描述(附表 4),比如对每个记录项的名称,数据类型,长度等信息都有具体的说明。属性文件的实体信息部分就是一条条属性记录,每条记录都是由若干个记录项构成,因此只要依次循环读取每条记录就可以了。 索引文件(.shx)主要包含坐标文件的索引信息,文件中每个记录包含对应的坐...