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

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