【GIS】Shapefile文件格式详解

Shapefile文件格式详解

http://www.cppblog.com/alantop/archive/2008/08/14/58880.html

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 Number)和坐标记录长度(Content Length)两个记录项,Shapefile文件中的记录号都是从1开始的,坐标记录长度是按16位字来衡量的。记录内容包括目标的几何类型(ShapeType)和具体的坐标记录(X,Y),记录内容因要素几何类型的不同,其具体的内容和格式都有所不同。对于具体的记录主要包括空Shape记录,点记录,线记录和多边形记录,具体的记录结构如附表 2所示。

属性文件(.dbf)用于记录属性信息。它是一个标准的DBF文件,也是由头文件和实体信息两部分构成。其中文件头部分的长度是不定长的,它主要对DBF文件作了一些总体说明(附表 3),其中最主要的是对这个DBF文件的记录项的信息进行了详细的描述(附表 4),比如对每个记录项的名称,数据类型,长度等信息都有具体的说明。属性文件的实体信息部分就是一条条属性记录,每条记录都是由若干个记录项构成,因此只要依次循环读取每条记录就可以了。

索引文件(.shx)主要包含坐标文件的索引信息,文件中每个记录包含对应的坐标文件记录距离坐标文件的文件头的偏移量。通过索引文件可以很方便地在坐标文件中定位到指定目标地坐标信息。索引文件也是由文件头和实体信息两部分构成的,其中文件头部分是一个长度固定(100 bytes)的记录段,其内容与坐标文件的文件头基本一致。它的实体信息以记录为基本单位,每一条记录包括偏移量(Offset)和记录段长度(Content Length)两个记录项。附表 5给出了具体的描述。


GIS shape文件之中国数据库 SHAPEFILE_OF_CHINA ..................\Lambert ..................\.......\chinamap.mxd ..................\.......\hillshade_10k ..................\.......\.............\dblbnd.adf ..................\.......\.............\hdr.adf ..................\.......\.............\metadata.xml ..................\.......\.............\prj.adf ..................\.......\.............\sta.adf ..................\.......\.............\vat.adf ..................\.......\.............\w001001.adf ..................\.......\.............\w001001x.adf ..................\.......\hillshade_10k.aux ..................\.......\hillshade_10k.rrd ..................\.......\info ..................\.......\....\arc.dir ..................\.......\....\arc0000.dat ..................\.......\....\arc0000.nit ..................\.......\....\arc0001.dat ..................\.......\....\arc0001.nit ..................\.......\....\arc0002.dat ..................\.......\....\arc0002.nit ..................\.......\....\arc0002r.001 ..................\.......\中国县界.dbf ..................\.......\中国县界.prj ..................\.......\中国县界.sbn ..................\.......\中国县界.sbx ..................\.......\中国县界.shp ..................\.......\中国县界.shx ..................\.......\中国地州界.dbf ..................\.......\中国地州界.prj ..................\.......\中国地州界.sbn ..................\.......\中国地州界.sbx ..................\.......\中国地州界.shp ..................\.......\中国地州界.shx ..................\.......\中国湖泊.dbf ..................\.......\中国湖泊.prj ..................\.......\中国湖泊.sbn ..................\.......\中国湖泊.sbx ..................\.......\中国湖泊.shp ..................\.......\中国湖泊.shp.xml ..................\.......\中国湖泊.shx ..................\.......\主要公路.dbf ..................\.......\主要公路.prj ..................\.......\主要公路.sbn ..................\.......\主要公路.sbx ..................\.......\主要公路.shp ..................\.......\主要公路.shx ..................\.......\主要河流.dbf ..................\.......\主要河流.prj ..................\.......\主要河流.sbn ..................\.......\主要河流.sbx ..................\.......\主要河流.shp ..................\.......\主要河流.shx ..................\.......\主要铁路.dbf ..................\.......\主要铁路.prj ..................\.......\主要铁路.sbn ..................\.......\主要铁路.sbx ..................\.......\主要铁路.shp ..................\.......\主要铁路.shx ..................\.......\全国县级统计数据.dbf ..................\.......\全国县级统计数据.prj ..................\.......\全国县级统计数据.sbn ..................\.......\全国县级统计数据.sbx ..................\.......\全国县级统计数据.shp ..................\.......\全国县级统计数据.shp.xml ..................\.......\全国县级统计数据.shx ..................\.......\县城驻地.dbf ..................\.......\县城驻地.prj ..................\.......\县城驻地.sbn ..................\.......\县城驻地.sbx ..................\.......\县城驻地.shp ..................\.......\县城驻地.shx ..................\.......\国界线.dbf ..................\.......\国界线.prj ..................\.......\国界线.sbn ..................\.......\国界线.sbx ..................\.......\国界线.shp ..................\.......\国界线.shp.xml ..................\.......\国界线.shx ..................\.......\地级城市驻地.dbf ..................\.......\地级城市驻地.prj ..................\.......\地级城市驻地.sbn ..................\.......\地级城市驻地.sbx ..................\.......\地级城市驻地.shp ..................\.......\地级城市驻地.shx ..................\.......\省会城市.dbf ..................\.......\省会城市.prj ..................\.......\省会城市.sbn ..................\.......\省会城市.sbx ..................\.......\省会城市.shp ..................\.......\省会城市.shx ..................\.......\省级行政区.dbf ..................\.......\省级行政区.prj ..................\.......\省级行政区.sbn ..................\.......\省级行政区.sbx ..................\.......\省级行政区.shp ..................\.......\省级行政区.shx ..................\.......\线状县界.dbf ..................\.......\线状县界.prj
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值