关键词不能为空

当前您在: 主页 > 英语 >

Shape文件

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-01 21:55
tags:

-

2021年2月1日发(作者:cream)


Shapefile


文件是美国环境系统研究所



ESRI



所研制的


GIS


文件系统格式文件,


是工业标准的


矢量数据文件。



Shapefile


将空间特征表中的非拓扑几何对象和属性信息存储在数据集中,


特征


表中的几何对象存为以坐标点集表示的图形文件



SHP


文件,


Shapefile


文 件并不含拓扑



Topological


)数据结构。一个


Shape


文件包括三个文件:一个主文件


(*.shp)


,一个索引文件


(*. shx)


,和一个


dBASE(*.dbf)

< br>表。




主文件是一个直 接存取,


变长度记录的文件,


其中每个记录描述构成一个地理特 征



Feature



的所有


vertices


坐标值。

在索引文件中,


每条记录包含对应主文件记录距离主文件头开始的偏移


量,


dBASE


表包含


SH P


文件中每一个


Feature


的特征 属性,


表中几何记录和属性数据之间的一


一对应关系是基于记录 数目的


ID




dBASE


文件中的属性记录必须和主文件中的记录顺序是相


同的。图形数据和属性数据通过索引号建立一一对应的关系。




Shapefile


中坐标文件(


.s hp


)由固定长度的文件头和接着的变长度空间数据记录组成。文件

头由


100


字节的说明信息组成的(附表

< br>


1


),主要说明文件的长度、


Shape


类型、整个


Shape


图层 的范围等等,


这些信息构成了空间数据的元数据。


在导入空间数 据时首先要读入文件头获取


Shape


文件的基本信息,并以此 信息为基础建立相应的元数据表。而变长度空间数据记录是由


固定长度的记录头和变长度 记录内容组成,


其记录结构基本类似,


每条记录都有记录头和记 录内


容组成


(空间坐标对)



记录头的内容包括记录号



Record Nu mber



和坐标记录长度



Content


Length


)两个记录项,


Shapefile


文件中的记录号都是从

1


开始的,坐标记录长度是按


16


位字


来衡量的。记录内容包括目标的几何类型(


ShapeTy pe


)和具体的坐标记录(


X



Y


),记录内


容因要素几何类型的不同,


其具体的内容和格式都有所不同。


对于具体的记录主要包括空


Shape


记录,点记录,线记录和多边形记录,具体的记录结构如附 表



2


所示。




属性文件(


.dbf


)用于记录属性信息。它是一个标准的


DBF


文 件,也是由头文件和实体信息


两部分构成。


其中文件头部分的长 度是不定长的,


它主要对


DBF


文件作 了一些总体说明


(


附表



3)



其中最主要的是对这个


DBF


文件的记录项的信息进行了详细的描述(附表



4


),比如对每个记


录项的名称,

< p>
数据类型,


长度等信息都有具体的说明。


属性文件 的实体信息部分就是一条条属性


记录,每条记录都是由若干个记录项构成,因此只要依次 循环读取每条记录就可以了。




索引文件(


.shx


)主要包含坐标文件的索引信息,文件中 每个记录包含对应的坐标文件记录


距离坐标文件的文件头的偏移量。

通过索引文件可以很方便地在坐标文件中定位到指定目标地坐


标信息。


索引文件也是由文件头和实体信息两部分构成的,


其中文件头部分是一个长度 固定



100


bytes

< p>
)的记录段,其内容与坐标文件的文件头基本一致。它的实体信息以记录为基本单位,每

< p>
一条记录包括偏移量(


Offset


)和记录段长 度(


Content Length


)两个记录项。附表



5


给出了具


体的描述。




Shape


文件是按照地物类 型来组织的。


地物类型可以分为简单的分为点



Point




线

< p>
(Line)




(Po lygon)


三种类型,一个


Shape


文件中只能包括一种类型的地物,即只能包括点、线或者面


状地物中的一种。点状地物 存储的是一组坐标(


X,Y


),线包括简单线和多段线,存储的 是一系


列的坐标串



X1,Y1,X2 ,Y2…



,


面状地物存储的是一系列 封闭的坐标串



X1,Y1,X2,Y2, …, X1,Y1






命名习惯所有文件名都符合


8 .3


命名习惯。主文件,索引文件和


dBASE


文件有相同的前缀。




详见:


ESRI Shapefile Technical Description



/library/whitepa pers/pdfs/




IDL


下面有独立的类


IDLffShape


来对


shape


文件进行读写操作,使用可见


help




SHAPE


文件格式详解




SHAPE


文件格式详解


:


SHAPE


文件格式




SDE,ARC/INFO,PC ARC/INFO,Data Automation Kit(DAK)


< p>
ArcCAD


软件提供了


shape

< p>


coverage


的数据转

换器,


ARC/INFO


同样提供了


coverage



shape


的转 换器。为了和其他数据格式交换,


shape


文件的格式在本报 告


中被出版。其他数据流,比如来自全球定位系统


(GPS)< /p>


接收机的数据能同样被存为


shape


文 件或


X,Y


事件表。




Shape


文件技术描述计算机程序 能通过使用本节的技术描述来产生,读,写


shape


文件。< /p>




一个


ESR I



shape


文件包括一个主文件, 一个索引文件,和一个


dBASE


表。主文件是一个直接存取, 变量记录长度


文件,其中每个记录描述一个有它自己的


vert ices


列表的


shape


。在索引文 件中,每个记录包含对应主文件记录离主


文件头开始的偏移,


d BASE


表包含一


feature


一个 记录的


feature


的特征。几何和属性间的一一对应关系是 基于记录


数目的。在


dBASE


文件中 的属性记录必须和主文件中的记录是相同顺序的。




命名习惯所有文件名都符合


8.3


命名习惯。主 文件,索引文件和


dBASE


文件有相同的前缀。前缀必须是由 字符或数字



a-Z,0-9


)开始, 后跟


0



7


个 字符(


a-Z,0-9



_,


)主文件的后缀是


.shp


,索引文件的后缀是


.shx



dBASE


表的


后缀是


.dbf


。文件名 中的所有字母在对文件名敏感的操作系统中都是小写的。




例子




主文件:



索引文件


: dBASE


表:



数字类型一个


shape


文件存储整数和双精


度数,本文档的余数指以下类型:




整数:有符号


32


位整数(


4


字节)




双精度:有符号


64



IEEE


双精度浮点数(


8


字节)浮点数必须是数字的 值。负无穷,正无穷和非数字(


NaN


)值在

< br>shape


文件不被允许。然而


shape


文件支持


'


没有数据


'


的值这样的概念,但是目前只用于衡量。某些小于-


1038



shape


文件读取程序用来代表


'


没有数据


'


的值。< /p>




下面的第一节描述

< br>shape


文件的总体结构和组织。第二节描述


shap e


文件支持的每种


shape


类型的记 录内容。





主文件的组织



主文件(


.shp


)由固定长度的文件头和接着的变长度记 录组成。每个变长度记录是由固定长度的记录头和接着的变长度


记录内容组成。图


1


图解了主文件的结构。






1


主文件的结构




文件头




记录头



记录内容




记录头



记录内容




记录头



记录内容




记录头



记录内容




……



……



记录头



记录内容




Shape


文件中所有的内容可以被分为二类:




与数据相关的:




。主文件记录内容




。主文件头的数据描述域(


Shape


类型,边界盒等)




与文件管理相关的:




。文件和记录长度




。记录偏移等



整数和双精度整数在文件头中组成数据描述域,在主文件的记录内容是小


ndian



PC



In tel


)字节顺序。组成文件的


其余部分和文件管理的整数和双 精度浮点数是大


endian



Sun



Motorola


)字节顺序。




主文件头




主文件头


100

字节长。表


1


显示带有字节位置,值,类型和字节顺序的文 件头中的域。




在此表中,位置是相对于文件的开始。






1


主文件头的描述




位置







类型



字节顺序




0


字节



文件代码



9994


整数






4


字节



未被使用



0


整数






8


字节



未被使用



0


整数






12


字节



未被使用



0


整数






16


字节



未被使用



0


整数






20


字节



未被使用



0


整数






24


字节



文件长度



文件长度



整数






28


字节



版本



1000


整数






32


字节



Shape


类型



Shape


类型



整数






36


字节



边界盒



Xmin


双精度






44


字节



边界盒



Ymin


双精度






52


字节



边界盒



Xmax


双精度






60


字节



边界盒



Ymax


双精度






68


字节


*


边界盒



Zmin


双精度






76


字节


*


边界盒



Zmax


双精度






84


字节


*


边界盒



Mmin


双精度






92


字节


*


边界盒



Mmax


双精度






*


未被使用,值为

< br>0.0


,若没有被衡量或是


Z


轴 。




文件长度的值是在


16


位字下文件的总长度(包括组成文件头的


50< /p>



16


位字)


。 在


shape


文件中的所有非空


sha pe


被需要是同种


shape


类型。< /p>


Shape


类型的值如下:






shape


类型




0



shape



1





3


多线




5


多边形




8


多点




11



Z



13


多线


Z



15


多边形


Z



18


多点


Z



21



M



23


多线


M



25


多边形


M



28


多点


M



31


多斑块




没有被定义的


Shape


类型值(


2



4



6


等直到


33


)为将来可能的使用而保留。目前


shape


文件被局限于包含以上定


义的同种


shape


类型。在将来


shape


文件可以被允许包含多于一种


shape


类型。若混合


shape< /p>


类型被实现,文件头


中的


shape


类型将标识该文件。



< br>主文件头的边界盒存储文件中


shape


的实际幅度。< /p>


最小边界


X



Y


直交的


(潜在的


M,Z



长方形包含了所有的


shape



shape


文件是空的(没有 记录)



min,Ymin,Xmax,Ymax


的值是未被定义的。


Mmin


Mmax


能包含


shape


文件< /p>


用来衡量不包含衡量的


shape


类型的


'


没有数据


'


的值(参见


2


页的数字类型)


,记录头




每个记录的头存储了记录的数目和 记录内容的长度。记录头有一个固定长度


8


字节。表

< p>


2


显示文件记录头中域的字节

< br>位置,值,类型和字节顺序。在表中,位置是相对于记录的开始的。






2


主文件记录头文件的描述




位置







类型



字节顺序




0


字节



记录数目



记录数目



整数






4


字节



内容长度



内容长度



整数






记录数目从


1


开始。




一个记录的内容长度是按


16


位字衡量的记录内容长度。


每个记 录因此为文件的总长度贡献



4


+内容 长度)



16


位字,

< br>正如文件头是


24


字节一样。





主文件记录内容



< br>Shape


文件记录内容包含一个


shape

< p>
类型和接着的该


shape


的几何数据。记录内容 的长度依赖于在一个


shape


中部


分 和


vertices


的数目。对每种


s hape


类型,我们首先描述该


shape

然后是它在磁盘上的存储镜像。在表


3


< br>16


,位


置是相对于记录内容的开始。

< br>




shape



shape


类型为

< br>0


指代一种不带几何数据的空


shape


,每种要素类型(点,线,多边形等)都支持空,在同一个


shape


文件中有点和空的点是有效的。常常空


shape


是放东西的地方;在


shape


文件产生时被使用和在产生后 更被广泛地使


用。






3


空< /p>


shape


记录内容




位置







类型



数目



字节顺序




0


字节



shape


类型



0


整数



1






X,Y


位置的


Shape

< br>类型






一个点包括一对以


X,Y


顺序排列的双精度的坐标




Point



{



Double X //X


坐标




Double Y //Y


坐标




}





4


点记录内容




位置







类型



数目



字节顺序




0


字节



shape


类型



1


整数



1





4


字节



X X


双精度



1





12


字节



Y Y


双精度



1





多点



一个多点代表一个点的集合:




MultiPoint



{



Double[4] Box //


边界盒




Integer NumPoints //


点的数目




Point[NumPoints] Points //


在集合中的点




}



边界盒以


Xmin,Ymin,Xmax,Ymax


存储。






5


多点记录内容




位置







类型



数目



字节顺序




0


字节



shape


类型



8


整数



1





4


字节



Box Box


双精度



4





36


字节



NumPoints NumPoints


整数



1





40


字节



Points Points




NumPoints





PolyLine


一条

< p>
PolyLine


是指一条包含一个或多个部分的有序的

< br>vertices


的集合。一个部分是指二个或多个点彼此连

接的顺序。部分间彼此相连或不连。部分间彼此可能相交或不相交。




因为该定义没有禁止有确定坐标的连续点,

< br>shape


文件的读程序必须掌握这样的情况。在另外,退化

(degenerate)



可能导致零长度的结果是不被 允许的。




PolyLine



{



Double[4] Box //


边界盒




Integer NumParts //


部分的数目




Integer NumPoints //


点的总数目




Integer[NumParts] Parts //


在部分中第一个点的索引




Point[NumPoints] Points //


所有部分的点




}



PolyLine


的域在以下为更详细的描述:




Box


被存储的


PolyLine< /p>


的边界盒,以


Xmin,Ymin,Xmax,Ymax


的顺序存储。




NumParts



PolyLin e


中部分的数目。




NumPoints


所有部分的点的总数目。




Parts NumParts


长度的数列。为每条

< p>
PolyLine


存储它在点数列中的第一个点的索引。数列索引是从


0


开始的。




Points NumPoints


长度的数列。在

< p>
PolyLine


中的每一部分的点被尾到尾存储。部分

< br>2


的点跟在部分


1


的点之后,如


此下去。部分数列对每一部分保持开始点的数列索引。




在部分间点之间没有界限。






6 PolyLine


记录内容




位置







类型



数目



字节顺序




0


字节



shape


类型



3


整数



1





4


字节



Box Box


双精度



4





36


字节



NumParts NumParts


整数



1





40


字节



NumPoints NumPoints


整数



1





44


字节



Parts Parts


整数



NumParts





X


字节



Points Points




NumPoints





注意:


X=44+4* NumParts


多边形



一个多边形 包含一个或多个环。一个环是四或多个点彼此相连组成的一个闭合的


彼此不相交的环。< /p>


一个多边形可能包括多个外环,


一个环的


vertices


的顺序和方向指示环的哪一边是多边形的内部。



多边形中的洞的环的


vertices

是逆时针方向的。


一个环组成的多边形总是顺时针方向的。


一个多边形的环是被做为它的


一部分的。因为该定义没有禁止有确定坐标的连续的点,< /p>


shape


文件读程序必须解决这种情况。在另外,退化


(degenerate)


和可能导致零长度的结果是不被允许的。多边 形的结构被定义为


PolyLine


结构,正如下文:




Polygon



{



Double[4] Box //


边界盒




Integer NumParts //


部分的数目




Integer NumPoints //


点的总数目




Integer[NumParts] Parts //


在部分中第一个点的索引




Point[NumPoints] Points //


所有部分的点




}



多边形的域在以下为更详细的描述:




Box


被存储的多边形的边界盒,以


Xmin,Ymin,Xmax,Ymax


的顺序存储。




NumParts


在多边形中环的数目。




NumPoints


所有环的点的总数目。




Parts NumParts


长度的数列。为每条环存储它在 点数列中的第一个点的索引。数列索引是从


0


开始的。




Points


N umPoints


长度的数列。在多边形中的每一个环的点被尾到尾存储。环

< p>
2


的点跟在环


1


的点之后 ,如此下去。


部分数列对每一环保持开始点的数列索引。在环间点之间没有界限。





< p>
2


中的例子图演示了多边形的表现。该图中的多边形有一个洞,总共是


8



vertices





关于多边形


shape


有以下重要注意事项:

< br>



环是闭合的(第一个和最后一个

vetex


必须是一样的)在点数列中环的顺序是不重要的。




存储在


shape


文件中的多边形必须是


clean


,一个

< p>
clean


的多边形是指这样的一个多边形:




1




没有自交。这意味着属于一个环的一段可能不与另一个环的一段相交。一个多边形

< p>



的环可能在


veti ces


处彼此相交,但不是在沿段处。重合的段被认为是相交的。




2




在定义多边形的线的正确一边有多边形的内部。


一个观察者以< /p>


vertex


顺序沿环走时,


右边的邻居 是多边形的内部。


一个独环的多边形的


vertices


因此都是顺时针的。


在这些多边形中的洞有一个逆时针的方向。


当定义在多边形中的洞同


样是顺时针时,发生



多边形错误。这会导致内部的重叠。






2


一个多边形的实例




在此例中,


NumParts


等于

2,NumPoints


等于


10


。注意洞多边形的点的顺序是逆序的。




0 5









0 5



0 1 2 3 4 5 6 7 8 9







v1 v2 v3 v4 v1 v5 v8 v7 v6 v5





7


多边形记录内容




位置







类型



数目



字节顺序




0


字节



shape


类型



5


整数



1





4


字节



Box Box


双精度



4





36


字节



NumParts NumParts


整数



1





40


字节



NumPoints NumPoints


整数



1





44


字节



Parts Parts


整数



NumParts





X


字节



Points Points




NumPoints





注意:


X=44+4* NumParts




X,Y


空间中衡量的


shape


类型该种

< p>
shape


有一个额外的坐标


< br>M


,注意



没有数据



的值可以被指定为


M


的一个 值。




PointM


一个


PointM


包括一对以


X,Y


顺序排列的双精度的坐标,再加上衡量


M





PointM



{



Double X //X


坐标




Double Y //Y


坐标




Double M //M


衡量




}





8 PointM


记录内容



-


-


-


-


-


-


-


-



本文更新与2021-02-01 21:55,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/595375.html

Shape文件的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文