arcgis应用oraclespatial特征分析 该文章并不是将oracle spatial与st_geometry做对比,关于两者的对比,可以参考:http://blog.csdn.net/warrenwyf/article/category/705065,这里从数据结构,到性能对比,都描述的很清楚。 其实这篇文件就是说明一下在arcgi
arcgis应用oraclespatial特征分析 该文章并不是将oracle spatial与st_geometry做对比,关于两者的对比,可以参考:http://blog.csdn.net/warrenwyf/article/category/705065,这里从数据结构,到性能对比,都描述的很清楚。
其实这篇文件就是说明一下在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。
该关键字主要是在sdehome/etc/dbtune.sde里面控制(其他后缀文件也可以,也可以使用sdedbtune命令进行修改)
##defaults geometry_storage st_geometryst_geom_lob_storage storeas (# tablespace enable storage in row chunk 8k retentioncache) attribute_binary blobraster_storage blob...... end -------------------------------------------分割线---------------- ##sdo_geometrygeometry_storage sdo_geometryattribute_binary blobraster_storage sdo_georastersdo_commit_interval 1000rdt_storage pctfree 0initrans 4# tablespacerdt_index_composite pctfree 0 initrans 4# tablespace nologgingui_text userinterface text description for sdo_geometry comment anygeneral comment for sdo_geometry keyword end
通过这个文件说明,我们很容易看到系统数据按照什么样的存储来选择的。
问题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