?? shp文件格式.htm
字號:
<BR>76字節(jié)* 邊界盒
Zmax
雙精度
小
<BR>84字節(jié)* 邊界盒
Mmin
雙精度
小
<BR>92字節(jié)* 邊界盒
Mmax
雙精度
小
<BR>*未被使用,值為0.0,若沒有被衡量或是Z軸。
<BR>文件長度的值是在16位字下文件的總長度(包括組成文件頭的50個16位字)。在shape文件中的所有非空shape被需要是同種shape類型。Shape類型的值如下:
<BR>值
shape類型
<BR>0 空shape <BR>1
點
<BR>3
多線
<BR>5 多邊形 <BR>8 多點 <BR>11 點Z <BR>13
多線Z
<BR>15
多邊形Z
<BR>18 多點Z <BR>21 點M <BR>23
多線M
<BR>25 多邊形M <BR>28 多點M <BR>31
多斑塊
<BR>沒有被定義的Shape
類型值(2,4,6等直到33)為將來可能的使用而保留。目前shape文件被局限于包含以上定義的同種shape類型。在將來shape文件可以被允許包含多于一種shape類型。若混合shape類型被實現(xiàn),文件頭中的shape類型將標識該文件。
<BR>主文件頭的邊界盒存儲文件中shape的實際幅度。最小邊界X和Y直交的(潛在的M,Z)長方形包含了所有的shape。若shape文件是空的(沒有記錄),min,Ymin,Xmax,Ymax的值是未被定義的。Mmin和Mmax能包含shape文件用來衡量不包含衡量的shape類型的'沒有數(shù)據(jù)'的值(參見2頁的數(shù)字類型),記錄頭
<BR>每個記錄的頭存儲了記錄的數(shù)目和記錄內(nèi)容的長度。記錄頭有一個固定長度8字節(jié)。表
2顯示文件記錄頭中域的字節(jié)位置,值,類型和字節(jié)順序。在表中,位置是相對于記錄的開始的。 <BR> 表 2 主文件記錄頭文件的描述
<BR>位置 域
值
類型
字節(jié)順序 <BR>0字節(jié)
記錄數(shù)目
記錄數(shù)目
整數(shù)
大
<BR>4字節(jié) 內(nèi)容長度
內(nèi)容長度
整數(shù)
大
<BR>記錄數(shù)目從1開始。
<BR>一個記錄的內(nèi)容長度是按16位字衡量的記錄內(nèi)容長度。每個記錄因此為文件的總長度貢獻(4+內(nèi)容長度)個16位字,正如文件頭是24字節(jié)一樣。
<BR><BR>主文件記錄內(nèi)容
<BR>Shape文件記錄內(nèi)容包含一個shape類型和接著的該shape的幾何數(shù)據(jù)。記錄內(nèi)容的長度依賴于在一個shape中部分和vertices的數(shù)目。對每種shape類型,我們首先描述該shape然后是它在磁盤上的存儲鏡像。在表3到16,位置是相對于記錄內(nèi)容的開始。
<BR>空shape
<BR>shape類型為0指代一種不帶幾何數(shù)據(jù)的空shape,每種要素類型(點,線,多邊形等)都支持空,在同一個shape文件中有點和空的點是有效的。常常空shape是放東西的地方;在shape文件產(chǎn)生時被使用和在產(chǎn)生后更被廣泛地使用。
<BR> 表 3 空shape記錄內(nèi)容 <BR>位置
域
值
類型
數(shù)目 字節(jié)順序 <BR>0字節(jié)
shape類型
0
整數(shù)
1
小 <BR>在X,Y位置的Shape類型 <BR>點
一個點包括一對以X,Y順序排列的雙精度的坐標
<BR> Point
<BR> {
<BR> Double
X //X坐標
<BR> Double
Y //Y坐標 <BR> }
<BR> 表 4 點記錄內(nèi)容 <BR>位置
域
值
類型
數(shù)目 字節(jié)順序 <BR>0字節(jié)
shape類型
1
整數(shù)
1
小 <BR>4字節(jié)
X
X
雙精度
1
小 <BR>12字節(jié)
Y
Y
雙精度
1
小 <BR>多點 一個多點代表一個點的集合:
<BR> MultiPoint
<BR> {
<BR> Double[4]
Box
//邊界盒
<BR> Integer
NumPoints
//點的數(shù)目
<BR> Point[NumPoints]
Points
//在集合中的點
<BR> } <BR>邊界盒以Xmin,Ymin,Xmax,Ymax存儲。 <BR>表 5
多點記錄內(nèi)容 <BR>位置
域
值
類型
數(shù)目 字節(jié)順序 <BR>0字節(jié)
shape類型
8
整數(shù)
1
小 <BR>4字節(jié)
Box
Box
雙精度
4
小 <BR>36字節(jié)
NumPoints NumPoints
整數(shù) 1
小 <BR>40字節(jié)
Points
Points
點
NumPoints 小 <BR>PolyLine
一條PolyLine是指一條包含一個或多個部分的有序的vertices的集合。一個部分是指二個或多個點彼此連接的順序。部分間彼此相連或不連。部分間彼此可能相交或不相交。
<BR>因為該定義沒有禁止有確定坐標的連續(xù)點,shape文件的讀程序必須掌握這樣的情況。在另外,退化(degenerate)和可能導致零長度的結果是不被允許的。
<BR>PolyLine <BR>{ <BR> Double[4]
Box
//邊界盒
<BR> Integer
NumParts
//部分的數(shù)目 <BR> Integer
NumPoints
//點的總數(shù)目
<BR> Integer[NumParts]
Parts
//在部分中第一個點的索引
<BR> Point[NumPoints]
Points
//所有部分的點 <BR>}
<BR>PolyLine的域在以下為更詳細的描述: <BR>Box
被存儲的PolyLine的邊界盒,以Xmin,Ymin,Xmax,Ymax的順序存儲。
<BR>NumParts 在PolyLine中部分的數(shù)目。 <BR>NumPoints
所有部分的點的總數(shù)目。 <BR>Parts
NumParts長度的數(shù)列。為每條PolyLine存儲它在點數(shù)列中的第一個點的索引。數(shù)列索引是從0開始的。
<BR>Points
NumPoints長度的數(shù)列。在PolyLine中的每一部分的點被尾到尾存儲。部分2的點跟在部分1的點之后,如此下去。部分數(shù)列對每一部分保持開始點的數(shù)列索引。
<BR>在部分間點之間沒有界限。 <BR>表 6 PolyLine記錄內(nèi)容 <BR>位置
域
值
類型
數(shù)目 字節(jié)順序 <BR>0字節(jié)
shape類型
3
整數(shù)
1
小 <BR>4字節(jié)
Box
Box
雙精度
4
小 <BR>36字節(jié)
NumParts NumParts
整數(shù)
1
小 <BR>40字節(jié)
NumPoints NumPoints
整數(shù) 1
小 <BR>44字節(jié)
Parts
Parts
整數(shù)
NumParts 小 <BR>X字節(jié)
Points
Points
點
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -