今天開始想分析一下sde的表結(jié)構(gòu),希望能夠弄明白sde一個要素類的每個Feature是如何存儲的。
弄ArcSDE的人都知道,ArcSDE內(nèi)一個要素類在關(guān)系數(shù)據(jù)庫(以MS ? SQL ? Server為例)中有一系列的表,
每個表的作用不同。
Sde的一個FeatureClass包含以下幾種表:
B表(與要素類名稱同名,用來存儲屬性數(shù)據(jù)結(jié)構(gòu)),表結(jié)構(gòu)如下:
字段名稱
? 類型
? 說明
?
GeometryID
? Int
? 要素唯一ID
?
SHAPE
? Int
? 似乎與GeometryID值相同,備用字段?
?
…..
? …..
? 其他用戶定義字段?
?
注:如果該要素類沒有注冊為版本,B表有記錄,如果該要素類已經(jīng)注冊,B表記錄相應(yīng)的轉(zhuǎn)移到a表
F表(f+LayerID(如F1,F2等),用來存儲圖形坐標(biāo)、外邊界矩形等圖形信息)
字段名稱
? 類型
? 說明
?
fid
? Int
? 要素唯一ID
?
numofpts
? Int
? 坐標(biāo)個數(shù)(島、洞的坐標(biāo)如何計數(shù))
?
entity
? smallInt
? 要素類型代碼(點、線、面)
?
eminx
? Float
? 邊界矩形
?
eminy
? Float
? 邊界矩形
?
emaxx
? Float
? 邊界矩形
?
emaxy
? Float
? 邊界矩形
?
eminz
? Float?
????
emaxz
? Float?
????
min_measure
? Float?
????
max_measure
? Float?
????
area
? Float
? 面積
?
len
? Float
? 長度
?
points
? image
? 坐標(biāo)串(具體二進制內(nèi)如何存儲,如何提取)?
?
S表(s+LayerID,用來存儲地物空間索引,Sde采用正方形網(wǎng)格索引)
字段名稱
? 類型
? 說明
?
sp_fid
? Int
? 要素唯一ID
?
gx
? Int
? 行號((網(wǎng)格左下點x坐標(biāo)-圖形區(qū)域最小x坐標(biāo))/網(wǎng)格大小)
?
gy
? ?
? 列號((網(wǎng)格左下點y坐標(biāo)-圖形區(qū)域最小y坐標(biāo))/網(wǎng)格大小)
?
eminx
? Int
? 從名字看上去是要素的邊界矩形坐標(biāo)。但是我添加一個要素進去后,卻發(fā)現(xiàn)不是直接存儲的地物邊界矩形坐標(biāo),邊界矩形的坐標(biāo)在f表已經(jīng)存儲了,這里不知道干什么用?
?
eminy
? Int
?
emaxx
? Int
?
emaxy
? Int?
A表(a+LayerID_Register,當(dāng)要素類注冊版本以后,該表存儲原b表的數(shù)據(jù),并記錄數(shù)據(jù)狀態(tài))
字段名稱
? 類型
? 說明
?
GeometryID
? Int
? 要素唯一ID
?
SHAPE
? Int
? 似乎與GeometryID值相同,備用字段?
?
SDE_STATE_ID
? Int
? 要素狀態(tài)ID(沒有仔細(xì)研究,似乎每個操作就會+1)
?
…..
? …..
? 其他用戶定義字段
?
?
D表(d+LayerID_Register,僅當(dāng)要素類注冊版本之后,該表存在,并記錄當(dāng)前被刪除的地物)
字段名稱
? 類型
? 說明
?
SDE_STATE_ID
? Int
? 刪除要素的StateID
?
SDE_DELETES_ROW_ID
? Int
? 刪除要素的id
?
DELETED_AT
? Int
? 刪除操作的StateID?
?
弄ArcSDE的人都知道,ArcSDE內(nèi)一個要素類在關(guān)系數(shù)據(jù)庫(以MS ? SQL ? Server為例)中有一系列的表,
每個表的作用不同。
Sde的一個FeatureClass包含以下幾種表:
B表(與要素類名稱同名,用來存儲屬性數(shù)據(jù)結(jié)構(gòu)),表結(jié)構(gòu)如下:
字段名稱
? 類型
? 說明
?
GeometryID
? Int
? 要素唯一ID
?
SHAPE
? Int
? 似乎與GeometryID值相同,備用字段?
?
…..
? …..
? 其他用戶定義字段?
?
注:如果該要素類沒有注冊為版本,B表有記錄,如果該要素類已經(jīng)注冊,B表記錄相應(yīng)的轉(zhuǎn)移到a表
F表(f+LayerID(如F1,F2等),用來存儲圖形坐標(biāo)、外邊界矩形等圖形信息)
字段名稱
? 類型
? 說明
?
fid
? Int
? 要素唯一ID
?
numofpts
? Int
? 坐標(biāo)個數(shù)(島、洞的坐標(biāo)如何計數(shù))
?
entity
? smallInt
? 要素類型代碼(點、線、面)
?
eminx
? Float
? 邊界矩形
?
eminy
? Float
? 邊界矩形
?
emaxx
? Float
? 邊界矩形
?
emaxy
? Float
? 邊界矩形
?
eminz
? Float?
????
emaxz
? Float?
????
min_measure
? Float?
????
max_measure
? Float?
????
area
? Float
? 面積
?
len
? Float
? 長度
?
points
? image
? 坐標(biāo)串(具體二進制內(nèi)如何存儲,如何提取)?
?
S表(s+LayerID,用來存儲地物空間索引,Sde采用正方形網(wǎng)格索引)
字段名稱
? 類型
? 說明
?
sp_fid
? Int
? 要素唯一ID
?
gx
? Int
? 行號((網(wǎng)格左下點x坐標(biāo)-圖形區(qū)域最小x坐標(biāo))/網(wǎng)格大小)
?
gy
? ?
? 列號((網(wǎng)格左下點y坐標(biāo)-圖形區(qū)域最小y坐標(biāo))/網(wǎng)格大小)
?
eminx
? Int
? 從名字看上去是要素的邊界矩形坐標(biāo)。但是我添加一個要素進去后,卻發(fā)現(xiàn)不是直接存儲的地物邊界矩形坐標(biāo),邊界矩形的坐標(biāo)在f表已經(jīng)存儲了,這里不知道干什么用?
?
eminy
? Int
?
emaxx
? Int
?
emaxy
? Int?
A表(a+LayerID_Register,當(dāng)要素類注冊版本以后,該表存儲原b表的數(shù)據(jù),并記錄數(shù)據(jù)狀態(tài))
字段名稱
? 類型
? 說明
?
GeometryID
? Int
? 要素唯一ID
?
SHAPE
? Int
? 似乎與GeometryID值相同,備用字段?
?
SDE_STATE_ID
? Int
? 要素狀態(tài)ID(沒有仔細(xì)研究,似乎每個操作就會+1)
?
…..
? …..
? 其他用戶定義字段
?
?
D表(d+LayerID_Register,僅當(dāng)要素類注冊版本之后,該表存在,并記錄當(dāng)前被刪除的地物)
字段名稱
? 類型
? 說明
?
SDE_STATE_ID
? Int
? 刪除要素的StateID
?
SDE_DELETES_ROW_ID
? Int
? 刪除要素的id
?
DELETED_AT
? Int
? 刪除操作的StateID?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
