ArcGIS中使用OracleSpatial在ArcGIS与使用ST_Geometry的不同

问题1:怎么判断我的数据是否为Oracle Spatial存储

1.SQL> desc polygon_st  
2. 名称                                      是否为空? 类型  
3. ————————————————- —————————-   

4. OBJECTID                                  NOT NULLNUMBER(38)  
5. NAME                                              NVARCHAR2(30)  
6. CNTY_CODE                                          NVARCHAR2(6)  
7. PROV                                              NVARCHAR2(20)  
8. CITY                                              NVARCHAR2(20)  
9. SHAPE                                             SDE.ST_GEOMETRY  
10.   
11.SQL> desc polygon_sdo  
12. 名称                                      是否为空? 类型  
13. ————————————————- —————————-   

14. OBJECTID                                  NOT NULLNUMBER(38)  
15. NAME                                              NVARCHAR2(30)  
16. CNTY_CODE                                         NVARCHAR2(6)  
17. PROV                                              NVARCHAR2(20)  
18. CITY                                              NVARCHAR2(20)  
19. SHAPE                                             MDSYS.SDO_GEOMETRY  
20. SE_ANNO_CAD_DATA                                   BLOB
我们使用Sqlplus进行连接,直接Desc相关的表,查看关于空间列的描述可以看出,很明显的ST_Geometry 和MDSYS.SDO_GEOMETRY对比。

同时也可以借助PL/SQL Developer工具来看数据的shape字段的类型。

 

问题2:使用Oracle Spatial存储的数据与ST_Geometry存储在ArcGIS桌面表现有哪些不一样

表现1:使用“信息”工具,查看要素属性时

因为数据结构不一样,ST_Geometry存储包括了数据的长度和面积,但是对SDO_Geometry没有,所以,使用SDO_geometry存储的数据,两者都为0,这种情况是正常的。

从上图可以看到,由于两者使用的索引方式不同,ST_Geometry使用Grid格网索引,而Oracle Spatial使用R Tree索引,所以用户当看到这样的区别也是正常的。

问题3:我是否可以在不使用ArcSDE的情况下,使用ArcGIS桌面来连接Oracle Spatial数据

回答:只有在ArcGIS10当中是可以的,因为ArcGIS10提供了QueryLayer,QueryLayer就可以在不使用ArcSDE的情况下,来访问非ArcGIS(ST_Geometry)的数据。

关于QueryLayer使用见:http://www.linuxidc.com/Linux/2011-10/45493.htm

 

转载自:https://blog.csdn.net/shmiloy001/article/details/7560792

You may also like...