该文章并不是将Oracle Spatial与ST_Geometry做对比,关于两者的对比,可以参考:http://www.linuxidc.com/Linux/2011-10/45492.htm,这里从数据结构,到性能对比,都描述的很清楚。
其实这篇文件就是说明一下在ArcGIS中使用OracleSpatial在ArcGIS与使用ST_Geometry的特征不同,从不同的特征也可以证明Oracle Spatial存储与ST_Geometry存储的结构对比。
问题1:怎么判断我的数据是否为Oracle Spatial存储
- SQL> desc polygon_st
- 名称 是否为空? 类型
- ------------------------------------------------- ----------------------------
- OBJECTID NOT NULLNUMBER(38)
- NAME NVARCHAR2(30)
- CNTY_CODE NVARCHAR2(6)
- PROV NVARCHAR2(20)
- CITY NVARCHAR2(20)
- SHAPE SDE.ST_GEOMETRY
- SQL> desc polygon_sdo
- 名称 是否为空? 类型
- ------------------------------------------------- ----------------------------
- OBJECTID NOT NULLNUMBER(38)
- NAME NVARCHAR2(30)
- CNTY_CODE NVARCHAR2(6)
- PROV NVARCHAR2(20)
- CITY NVARCHAR2(20)
- SHAPE MDSYS.SDO_GEOMETRY
- SE_ANNO_CAD_DATA BLOB
我们使用Sqlplus进行连接,直接Desc相关的表,查看关于空间列的描述可以看出,很明显的ST_Geometry 和MDSYS.SDO_GEOMETRY对比。
问题2:怎么使用ArcGIS将数据导入到ArcSDE中以Oracle Spatial存储
可以使用ArcGIS的Import工具等将数据导入到ArcSDE中,在导入前选择Configuration Keyword:选择SDE_GEOMETRY。
- ##DEFAULTS
- GEOMETRY_STORAGE "ST_GEOMETRY"
- ST_GEOM_LOB_STORAGE " STOREAS (
- # TABLESPACE<lob segment tablespace_name>
- ENABLE STORAGE IN ROW CHUNK 8K RETENTIONCACHE) "
- ATTRIBUTE_BINARY "BLOB"
- RASTER_STORAGE "BLOB"
- ......
- END
- -------------------------------------------分割线----------------
- ##SDO_GEOMETRY
- GEOMETRY_STORAGE "SDO_GEOMETRY"
- ATTRIBUTE_BINARY "BLOB"
- RASTER_STORAGE "SDO_GEORASTER"
- SDO_COMMIT_INTERVAL 1000
- RDT_STORAGE "PCTFREE 0INITRANS 4"
- # TABLESPACE<RDT Table tablespace name>
- RDT_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4
- # TABLESPACE<RDT Composite index tablespace name>
- NOLOGGING"
- UI_TEXT "UserInterface text description for SDO_GEOMETRY"
- COMMENT "Anygeneral comment for SDO_GEOMETRY keyword"
- END