Sdelayer註冊

創建空間數據存儲類型爲ST_Geometry的要素類有2種方法: 1)使用SDE創建要素類從9.3 開始,默認創建的要素類都使用ST_Geometry存儲空間數據,9.3 版本之前,可以通過配置dbtune參數來完成。2)直接使用SQL語句創建要素類。創建空間數據存儲類型爲ST_Geometry的要素類有2種方法:

使用SDE創建要素類
9.3 開始,默認創建的要素類都使用ST_Geometry存儲空間數據,9.3 版本之前,可以通過配置dbtune參數來完成。
2
)直接使用SQL語句創建要素類。
1. 
首先使用sqlplus連接到oracle服務器,確保登陸用戶有如下權限:
CREATE TYPE
UNLIMITED TABLESPACE
CREATE LIBRARY
CREATE OPERATOR
CREATE INDEXTYPE
CREATE PUBLIC SYNONYM
DROP PUBLIC SYNONYM
The CONNECT and RESOURCE roles include these privileges. 
2. 
使用SQL語句創建包含ST_Geometry列的表,注意:要使SDE能夠認識你創建的要素類,新建的表中有且只能有一個ST_Geometry列,並且最好包含唯一標識的列。
執行下面的sql語句
CREATE TABLE sensitive_areas (area_id integer, name varchar(128), 
area_size float, type varchar(10), zone sde.st_geometry);
注意st_geometry前面應添加sde schema 名,否則會報錯。
3. 使用sdelayer命令,將創建好的表註冊到SDE中
註冊的時候一定要保證下面幾點才能成功:
1必須是表的所有者才能註冊。
2表中只能有一個ST_Geometry列。
3沒有其他用戶自定義類型的列。
4必須是簡單的集合類型(points, lines, or polygons)。
5Geometry 必須是有效的,否則讀取的時候會產生不可預期的錯誤。
sdelayer 命令參數如下:
sdelayer -o register -l -e [Spatial_Index]
[{-R | [Spatial_Ref_Opts]}] [-P {BASIC | HIGH}]
{[-C NONE] | [-C [,{SDE|USER}[,]]]}
[-E {empty | xmin,ymin,xmax,ymax}] [-t ]
[-S ] [-q]
[-k ] [-i ] [-s <SERVER_NAME]
[-u ] [-p ] [-D ]

在命令行中執行下列命令
sdelayer -o register -l sensitive_areas,zone -e a -C area_id,SDE -u data -p sa -t ST_GEOMETRY
-o參數爲register -l參數爲表名/ST_Geometry列 -e 幾何類型 -C 用戶唯一id/SDE 其中SDE表示由sde維護唯一id,使用USER選項,則有用戶維護唯一ID -u註冊地用戶名 -p 用戶密碼 -t 數據存儲類型
在catalog中查看,可以看到sensitive_areas已經被註冊到sde中,並且圖標顯示爲polygon類型。
 

以註冊爲arcsde圖層爲例
//
用服務方式註冊
sdelayer -o register -l 
圖層名,SMGEOMETRY -e a+ -t SDO_GEOMETRY -C SMID,USER -P HIGH -G 2382 -u user -p password -i esri_sde
//
用直接方式註冊
sdelayer -o register -l 
圖層名,SMGEOMETRY -e a+ -t SDO_GEOMETRY -C SMID,USER -P HIGH -G 2382 -u user -p user@sid -i sde:oracle10g

注:

I. Sdelayer命令的參數-l用來指定需要註冊的表名以及表中的空間字段,而且表明和字段的名稱一定要大寫,如果小寫的話會提示錯誤。
II. Sdelayer
支持註冊的空間類型爲ST_GEOMETRYSDO_GEOMETRY兩種類型,其它的類型不支持。
III. –e
參數用來指定需要註冊成什麼類型,以下是常用的類型:

-e
Entity types allowed (npslaAc3+M).
n
Nil
p
Point features
s
Line (spaghetti) features
l
Simple line (line string) features
a
Area features
A
Annotation
c
CAD data
3
Three-dimensional features can be added to the entity type mask only with the `-o add' operation
+
Multipart features

例如:

a+()
p+
(點)
l+
(線)
M
Measures on coordinates. The [-m] option is required to store measure values on each coordinate. Measures can be added to the entity type mask only with the "-o add" operation.

-G空間參考是否有帶號

2382(不帶帶號)
2361(
帶帶號)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章