ArcGIS应用OracleSpatial特征分析 该文章并不是将Oracle Spatial与ST_Geometry做对比,关于两者的对比,可以参考:http://blog.gaodaima.com/warrenwyf/article/category/705065,这里从数据结构,到性能对比,都描述的很清楚。 其实这篇文件就是说明一下在ArcGI
ArcGIS应用OracleSpatial特征分析
该文章并不是将Oracle Spatial与ST_Geometry做对比,关于两者的对比,可以参考:http://blog.gaodaima.com/warrenwyf/article/category/705065,这里从数据结构,到性能对比,都描述的很清楚。
其实这篇文件就是说明一下在ArcGIS中使用OracleSpatial在ArcGIS与使用ST_Geometry的特征不同,从不同的特征也可以证明Oracle Spatial存储与ST_Geometry存储的结构对比。
问题1:怎么判断我的数据是否为Oracle Spatial存储
<span>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 <a style="color:transparent">本文来源gao($daima.com搞@代@#码$网</a> NVARCHAR2(6) PROV NVARCHAR2(20) CITY NVARCHAR2(20) SHAPE MDSYS.SDO_GEOMETRY SE_ANNO_CAD_DATA BLOB</span>
我们使用Sqlplus进行连接,直接Desc相关的表,查看关于空间列的描述可以看出,很明显的ST_Geometry 和MDSYS.SDO_GEOMETRY对比。
问题2:怎么使用ArcGIS将数据导入到ArcSDE中以Oracle Spatial存储
可以使用ArcGIS的Import工具等将数据导入到ArcSDE中,在导入前选择Configuration Keyword:选择SDE_GEOMETRY。
该关键字主要是在SDEHOME/etc/dbtune.sde里面控制(其他后缀文件也可以,也可以使用sdedbtune命令进行修改)
<span>##DEFAULTS GEOMETRY_STORAGE "ST_GEOMETRY"ST_GEOM_LOB_STORAGE " STOREAS (# TABLESPACE ENABLE STORAGE IN ROW CHUNK 8K RETENTIONCACHE) " ATTRIBUTE_BINARY "BLOB"RASTER_STORAGE "BLOB"...... END -------------------------------------------分割线---------------- ##SDO_GEOMETRYGEOMETRY_STORAGE "SDO_GEOMETRY"ATTRIBUTE_BINARY "BLOB"RASTER_STORAGE "SDO_GEORASTER"SDO_COMMIT_INTERVAL 1000RDT_STORAGE "PCTFREE 0INITRANS 4"# TABLESPACERDT_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4# TABLESPACE NOLOGGING"UI_TEXT "UserInterface text description for SDO_GEOMETRY" COMMENT "Anygeneral comment for SDO_GEOMETRY keyword" END</span>
通过这个文件说明,我们很容易看到系统数据按照什么样的存储来选择的。
问题3:使用Oracle Spatial存储的数据与ST_Geometry存储在ArcGIS桌面表现有哪些不一样
表现1:使用“信息”工具,查看要素属性时
因为数据结构不一样,ST_Geometry存储包括了数据的长度和面积,但是对SDO_Geometry没有,所以,使用SDO_geometry存储的数据,两者都为0,这种情况是正常的。
从上图可以看到,由于两者使用的索引方式不同,ST_Geometry使用Grid格网索引,而Oracle Spatial使用R Tree索引,所以用户当看到这样的区别也是正常的。
问题4:我是否可以在不使用ArcSDE的情况下,使用ArcGIS桌面来连接Oracle Spatial数据
回答:只有在ArcGIS10当中是可以的,因为ArcGIS10提供了QueryLayer,QueryLayer就可以在不使用ArcSDE的情况下,来访问非ArcGIS(ST_Geometry)的数据。
关于QueryLayer使用:http://wenku.baidu.com/view/3bb5268271fe910ef12df8db.html
免费下载地址:http://wenku.baidu.com/view/dd5aeec62cc58bd63186bd32.html