关键词不能为空

当前您在: 主页 > 英语 >

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文件的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文