资料shapefile中文版.docx
- 文档编号:1154915
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:28
- 大小:292.91KB
资料shapefile中文版.docx
《资料shapefile中文版.docx》由会员分享,可在线阅读,更多相关《资料shapefile中文版.docx(28页珍藏版)》请在冰豆网上搜索。
资料shapefile中文版
ESRIshapefile技术手册
本技术手册规定了shapefile空间数据格式,阐述了为什么是一种比较重要的数据格式。
同时本技术手册还列出了直接创建shapefile数据的ESRI工具和从其它数据格式向shapefile格式转换的软件。
对一些希望通过自己开发程序来完成数据转换或者创建shapefile格式的数据的组织来说,这份技术说明同样提供了所需的所有技术支持。
什么是shapefile?
Shapefile把空间对象的非拓扑地理数据和属性信息存储在一个数据集里面。
由于其不包含拓扑结构数据结构,因此相比于其它的数据格式,具有更易于图形输出与编辑的能力。
Shapefile更易于处理单要素图形,此外shapefile还具有需要较少的磁盘储存空间与易于读写的优点。
Shapefile支持点、线、面状要素;面状要素以闭合的多线,即多边形的边界存储。
属性要素以dBASE格式记录。
且每一个属性值与相关的形记录有一对一的关系。
如何创建shapefile?
可以通过以下方式创建shapefile:
导入---使用ARC/INFO、PCARC/INFO,、SpatialDatabaseEngine(SDE)、ArcViewGIS,或者是BusinessMAP等软件,由已有的数据源创建。
数字化---由ArcView的地理信息要素创建工具直接数字化得到。
编程---使用Avenue™(ArcViewGIS),MapObjects™,ARCMacroLanguage(AML™)(ARC/INFO),或者简单的宏命令,自行创建shapefile.
直接生成----通过特定的程序直接生成shapefile文件。
SDE、ARC/INFO、PCARC/INFO、DataAutomationKit(DAK),和ArcCAD这些软件可以把shapefile格式的文件转化为coverage的文件格式,ARC/INFO还可以把coverage格式转化为shapefile文件格式,在这份文件中详细地说明了shapefile数据与其他形式数据的转化过程。
另外一些数据流,像全球定位系统接收机所生成的数据文件等,也可以用shapefile、坐标甚至图表的形式存储。
Shapefile技术说明
通过本技术说明,可以自行编写计算机程序读或写shapefile文件。
ERSI公司的shapefile数据格式,包含一个主文件,一个索引文件,还有一个dBASE表。
主文件是一个可以直接获得、记录长度可变的文件,在该文件里,每一个记录都描述了一个以矢量记录图形。
在索引文件中,每一个记录都包含了与主文件中一致的结构。
在dBASE表中包含了属性特征,每一个特征对应一个记录。
几何形状与属性之间一对一的关系是基于记录的数量。
dBASE表中属性记录的顺序必须与其在主文件中的顺序一致。
命名规则
所有文件的命名都遵从8.3命名规则。
主文件、索引文件、dBASE文件有相同的前缀,这个前缀必须以英文字母或者数字开头(从a到z,从0到9),后面跟0到7个字符(从a到z,从0到9,或者_,-),主文件的后缀为.shp,索引文件的后缀为.shx,dBASE表的后缀为.dbf,如果操作对系统对字母的大小写有规定时,文件命中的所有字母都为小写字母。
举例:
主文件名:
counties.shp
索引文件名:
counties.shx
dBASE表文件名:
counties.dbf
数字类型shapefile文件存储整形和双精度型数据,该文件将会涉及以下类型:
整型:
占据32位,即4字节。
双精度浮点型字符:
占据64位,即8个字节。
浮点型字符必须是数字格式,在shapefile文件格式中不允许存在无穷大、无穷小或者无尽循环的数值,但是shapefile支持无值型变量,一般情况下,它们只是用于测量值,任何小于–1038浮点型数值将被认为是无值型。
接下来的第一部分将说明shapefile主要的数据结构和组成。
第二部分将说明shapefile文件所支持的每一种图形的记录内容。
主文件组织
主文件(.shp)包含一个固定长度的头文件和可变长度的记录,每一个可变长度的记录是由一个固定长度的记录头和可变长度的记录内容组成。
如图一所示:
主文件的组织结构
头文件
记录的头文件1
记录的内容1
记录的头文件2
记录的内容2
记录的头文件3
记录的内容3
……
……
记录的头文件n
记录的内容n
图一
字节组织
shapefile内所有的内容都可以被分为两部分。
与数据有关系的部分:
1、主文件的记录内容;
2、主文件的头文件的数据描述区域(图形类型,边界范围,等等)
与文件管理有关的部分:
1、文件和记录的长度;
2、记录集等等。
在主文件的文件头和记录内容中,整型和双精度整型组成了数据描述区,它们以小尾字节排列(PC和Intel平台中);整型和双精度浮点型的数据组成了文件的剩余部分,在管理文件中则以大尾字节排列(SunorMotorola平台)。
主文件的头文件
主文件的头文件有100个字节长。
图表一展示了头文件的区域并描述了相应字节处的位置、值、类型和字节排列顺序。
图表中的位置是指文件开始的位置开始计算。
图表一
主文件头文件的描述
位置
区域
值
类型
字节顺序
字节0
文件代码
9994
整型
大
字节4
未被使用
0
整型
大
字节8
未被使用
0
整型
大
字节12
未被使用
0
整型
大
字节16
未被使用
0
整型
大
字节20
未被使用
0
整型
大
字节24
文件长度
文件长度
整型
大
字节28
版本
1000
整型
小
字节32
图形类型
图形类型(3)
整型
小
字节36
边界范围
Xmin
双精度
小
字节44
边界范围
Ymin
双精度
小
字节52
边界范围
Xmax
双精度
小
字节60
边界范围
Ymax
双精度
小
字节68*
边界范围
Zmin
双精度
小
字节76*
边界范围
Zmax
双精度
小
字节84*
边界范围
MMin
双精度
小
字节92*
边界范围
MMax
双精度
小
*表示在没有测量值或没有高程值的情况下,表示未被使用,它的值为0.0,
图形类型中未分配的字节(例如2、4、6等一直到33),保留以备将来使用。
当前,shapefile只允许使用以上列出的几种类型。
以后或许会允许使用多种图形类型。
如果图形类型中的最大类型值被填满了,在头文件中的图形类型区域就要重新划分。
在主文件头文件中的边界范围存储了文件中形状真实的扩展名:
边界范围的矩形框的最小X、Y坐标值(包括可能的测量值M和高程值Z)要包括所有的图形,如果这个shapefile文件是空的(也就是说没有记录),即X最小、最大,Y最小、最大的值是未定的,则对于shapefile文件中已经量测过的图形类型但无测量值的,它们M的最大、最小值可以为无值(具体内容可参考在第1页中的数据类型)。
记录的头文件:
每一个记录的头文件存储了记录的多少和记录内容的长度。
记录的头文件的长度固定为八字节。
表2描述了在头文件中字节处的位置、值、类型和字节的排列顺序。
在图表中,位置是以记录开始时候的位置计算的。
表2
主文件中记录的头文件的描述
位置
区域
值
类型
字节顺序
字节0
记录号
记录号
整型
大
字节4
内容长度
内容长度
整型
大
*记录编号从1开始。
一个记录的内容的长度是指整个记录内容的长度,以16位计算机字为单位来量算。
每一个记录,在文件的总长度中占据了(4+内容的长度)位,在头文件中占据存储空间24字节。
主文件记录内容:
shapefile文件的记录内容由一个图形类型和与其对应的地理数据组成。
记录内容的长度由图形中组成部分的数目和矢量结构决定。
对于每一种图形类型,我们存储了描述他的形状的内容。
在表3至表16中,位置编号从记录开始的位置计算。
无值图形类型
一个图形类型编码为0,就表明它是一个无值的图形,没有相应的地理数据。
每一种要素类型(点、线、面等等)都有无值的状态,在同一个文件中可以同时存在点和无值点。
通常无值图形会占据一定空间,它们将在文件创建时被使用,在创建后则被赋予通用的地理数据。
表3
无图形类型的纪录内容
位置
区域
值
类型
序号
字节顺序
字节0
图形类型
0
整型
1
小
在X、Y坐标系中的图形类型:
Point:
一个点由一系列双精度的X、Y坐标值组成,先X后Y。
Point
{
DoubleX//X坐标
DoubleY//Y坐标
}
图表4
点的记录内容
位置
区域
值
类型
序号
字节0
图形类型
值
整型
1
小
字节4
X
X
双精度
1
小
字节14
Y
Y
双精度
1
小
MultiPoint多点是由一系列的点组成的,如下:
MultiPoint
{
Double[4]Box//边界
IntegerNumPoints//点数
Point[NumPoints]Points//点集
}
边界范围是依照X的最小值、Y的最小值、X的最大值、Y的最大值的顺序存储的。
图表5
多点记录类型
位置
区域
值
类型
序号
字节顺序
字节0
图形类型
8
整型
1
小
字节4
范围
范围
双精度
4
小
字节36
点数
点数
整型
1
小
字节40
点
点
点
点数
小
Polyline
多线是由一系列有序的点组成的,包含一个或多个部分。
部分是由两个或者两个以上连续的点组成的,部分可以与部分相接,也可以不相接,部分可以包含也可以不包含另一个部分。
由于这种方式会出现相同的坐标点,因此,shapefile处理程序必须解决这个问题;另一方面,多线的删除,以及零长部分也可能导致一些不允许的结果。
PolyLine
{
Double[4]Box//边界
IntegerNumParts//线数
IntegerNumPoints//点总数
Integer[NumParts]Parts//线段数组
Point[NumPoints]Points//点集数组
}
直线区域的具体描述如下:
范围:
线的边界范围以X最小、Y最小、X最大、Y最大的顺序存储;
线数:
在线中部分的数量;
点数:
所有部分的点的数量总和;
部分:
一个以部分数为长度的数组。
为每一条线存储指向其点数组中第一个点的指针,数组指针值为0;
点:
一个以点数为长度的数组。
点数量数组。
在线中每一部分的点按顺序存储。
按照序号,前一条线段的末点即下一条线段的起点,在部分之间的点数列中没有特殊的符号。
表6
线的记录内容
位置
区域
值
类型
序号
字节顺序
字节0
图形类型
3
整型
1
小
字节4
范围
范围
双精度
4
小
字节36
部分数
部分数
整型
1
小
字节40
点数
点数
整型
1
小
字节44
部分
部分
整型
部分数
小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 资料 shapefile 中文版