Shapefile 文件支持的幾何類型( ShapeType )
編號
|
幾何類型
|
0
|
Null Shape (表示這個 Shapefile 文件不含座標)
|
1
|
Point (表示 Shapefile 文件記錄的是點狀目標,但不是多點)
|
3
|
PolyLine (表示 Shapefile 文件記錄的是線狀目標)
|
5
|
Polygon (表示 Shapefile 文件記錄的是面狀目標)
|
8
|
MultiPoint (表示 Shapefile 文件記錄的是多點,即點集合)
|
11
|
PointZ (表示 Shapefile 文件記錄的是三維點狀目標)
|
13
|
PolyLineZ (表示 Shapefile 文件記錄的是三維線狀目標)
|
15
|
PolygonZ (表示 Shapefile 文件記錄的是三維面狀目標)
|
18
|
MultiPointZ (表示 Shapefile 文件記錄的是三維點集合目標)
|
21
|
PointM (表示含有 Measure 值的點狀目標)
|
23
|
PolyLineM (表示含有 Measure 值的線狀目標)
|
25
|
PolygonM (表示含有 Measure 值的面狀目標)
|
28
|
MultiPointM (表示含有 Measure 值的多點目標)
|
31
|
MultiPatch (表示複合目標)
|
記錄項
|
數值
|
數據類型
|
長度
|
個數
|
位序
|
幾何類型( ShapeType)
|
1 (表示點狀目標)
|
int 型
|
4
|
1
|
Little
|
X 方向座標
|
X 方向座標值
|
double 型
|
8
|
1
|
Little
|
Y 方向座標
|
Y 方向座標值
|
double 型
|
8
|
1
|
Little
|
記錄項
|
數值
|
數據類型
|
長度
|
個數
|
位序
|
幾何類型(ShapeType )
|
3 (表示線狀目標)
|
int 型
|
4
|
1
|
Little
|
座標範圍( Box )
|
表示當前線目標的座標範圍
|
double 型
|
32
|
4
|
Little
|
子線段個數(NumParts )
|
表示構成當前線目標的子線段的個數
|
int 型
|
4
|
1
|
Little
|
座標點數(NumPoints )
|
表示構成當前線目標所包含的座標點個數
|
int 型
|
4
|
1
|
Little
|
Parts 數組
|
記錄了每個子線段的座標在Points 數組中的起始位置
|
int 型
|
4×NumParts
|
NumParts
|
Little
|
Points 數組
|
記錄了所有的座標信息
|
Point 型
|
根據點個數來確定
|
NumPoints
|
Little
|
記錄項
|
數值
|
數據類型
|
長度
|
個數
|
位序
|
幾何類型(ShapeType )
|
5 (表示面狀目標)
|
int 型
|
4
|
1
|
Little
|
座標範圍( Box )
|
表示當前面目標的座標範圍
|
double 型
|
32
|
4
|
Little
|
子線段個數(NumParts )
|
表示構成當前面狀目標的子環的個數
|
int 型
|
4
|
1
|
Little
|
座標點數(NumPoints )
|
表示構成當前面狀目標所包含的座標點個數
|
int 型
|
4
|
1
|
Little
|
Parts 數組
|
記錄了每個子環的座標在Points 數組中的起始位置
|
int 型
|
4×NumParts
|
NumParts
|
Little
|
Points 數組
|
記錄了所有的座標信息
|
Point 型
|
根據點個數來確定
|
NumPoints
|
Little
|
文件頭
|
|
記錄 1
|
|
記錄 2
|
|
記錄 3
|
|
記錄 4
|
|
記錄 n
|
在文件中的位置
|
內容
|
說明
|
0
|
1 個字節
|
表示當前的版本信息
|
1 - 3
|
3 個字節
|
表示最近的更新日期,按照 YYMMDD 格式。
|
4 - 7
|
1 個 32 位數
|
文件中的記錄條數。
|
8 - 9
|
1 個 16 位數
|
文件頭中的字節數。
|
10 - 11
|
1 個 16 位數
|
一條記錄中的字節長度。
|
12 - 13
|
2 個字節
|
保留字節,用於以後添加新的說明性信息時使用,這裏用 0 來填寫。
|
14
|
1 個字節
|
表示未完成的操作。
|
15
|
1 個字節
|
dBASE IV 編密碼標記。
|
16 - 27
|
12 個字節
|
保留字節,用於多用戶處理時使用。
|
28
|
1 個字節
|
DBF 文件的 MDX 標識。在創建一個 DBF 表時,如果使用了 MDX 格式的索引文件,那麼 DBF 表的表頭中的這個字節就自動被設置了一個標誌,當你下次試圖重新打開這個 DBF 表的時候,數據引擎會自動識別這個標誌,如果此標誌爲真,則數據引擎將試圖打開相應的 MDX 文件。
|
29
|
1 個字節
|
Language driver ID.
|
30 - 31
|
2 個字節
|
保留字節,用於以後添加新的說明性信息時使用,這裏用 0 來填寫。
|
32 - X
|
( n*32 )個字節
|
記錄項信息描述數組。 n 表示記錄項的個數。這個數組的結構在表 2.8中有詳細的解釋。
|
X + 1
|
1 個字節
|
作爲記錄項終止標識。
|
位置
|
內容
|
說明
|
0 - 10
|
11 個字節
|
記錄項名稱,是 ASCII 碼值。
|
11
|
1 個字節
|
記錄項的數據類型,是 ASCII 碼值。( B 、 C 、 D 、 G 、 L 、 M 和N ,具體的解釋見表 2.9 )。
|
12 - 15
|
4 個字節
|
保留字節,用於以後添加新的說明性信息時使用,這裏用 0 來填寫。
|
16
|
1 個字節
|
記錄項長度,二進制型。
|
17
|
1 個字節
|
記錄項的精度,二進制型。
|
18 - 19
|
2 個字節
|
保留字節,用於以後添加新的說明性信息時使用,這裏用 0 來填寫。
|
20
|
1 個字節
|
工作區 ID 。
|
21 - 30
|
10 個字節
|
保留字節,用於以後添加新的說明性信息時使用,這裏用 0 來填寫。
|
31
|
1 個字節
|
MDX 標識。如果存在一個 MDX 格式的索引文件,那麼這個記錄項爲真,否則爲空。
|
代碼
|
數據類型
|
允許輸入的數據
|
B
|
二進制型
|
各種字符。
|
C
|
字符型
|
各種字符。
|
D
|
日期型
|
用於區分年、月、日的數字和一個字符,內部存儲按照 YYYYMMDD格式。
|
G
|
(General
or OLE)
|
各種字符。
|
N
|
數值型(Numeric)
|
- . 0 1 2 3 4 5 6 7 8 9
|
L
|
邏輯型( Logical)
|
? Y y N n T t F f (? 表示沒有初始化 ) 。
|
M
|
(Memo)
|
各種字符。
|
記錄項名稱
|
數據類型
|
長度
|
小數位數
|
Area
|
數值型( double )
|
31
|
15
|
Perimeter
|
數值型( double )
|
31
|
15
|
soils_
|
數值型( int )
|
11
|
0
|
soils_id
|
數值型( int )
|
11
|
0
|
soil_code
|
字符型( character )
|
3
|
無
|
Suit
|
字符型( character )
|
1
|
無
|
Centroid_x
|
數值型( double )
|
31
|
15
|
Centroid_y
|
數值型( double )
|
31
|
15
|
記錄項
|
數值
|
數據類型
|
長度
|
個數
|
位序
|
位移量( Offset )
|
表示座標文件中的對應記錄的起始位置相對於座標文件起始位置的位移量。
|
int 型
|
4
|
1
|
Big
|
記錄長度
( Content Length )
|
表示座標文件中的對應記錄的長度。
|
int 型
|
4
|
1
|
Big
|
小結