ArcGIS应用Oracle Spatial特征分析
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存储
<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 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<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</rdt></rdt></lob></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

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



To query the Oracle tablespace size, follow the following steps: Determine the tablespace name by running the query: SELECT tablespace_name FROM dba_tablespaces; Query the tablespace size by running the query: SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

There are the following methods to get time in Oracle: CURRENT_TIMESTAMP: Returns the current system time, accurate to seconds. SYSTIMESTAMP: More accurate than CURRENT_TIMESTAMP, to nanoseconds. SYSDATE: Returns the current system date, excluding the time part. TO_CHAR(SYSDATE, 'YYY-MM-DD HH24:MI:SS'): Converts the current system date and time to a specific format. EXTRACT: Extracts a specific part from a time value, such as a year, month, or hour.

Oracle View Encryption allows you to encrypt data in the view, thereby enhancing the security of sensitive information. The steps include: 1) creating the master encryption key (MEk); 2) creating an encrypted view, specifying the view and MEk to be encrypted; 3) authorizing users to access the encrypted view. How encrypted views work: When a user querys for an encrypted view, Oracle uses MEk to decrypt data, ensuring that only authorized users can access readable data.

There are three ways to view instance names in Oracle: use the "sqlplus" and "select instance_name from v$instance;" commands on the command line. Use the "show instance_name;" command in SQL*Plus. Check environment variables (ORACLE_SID on Linux) through the operating system's Task Manager, Oracle Enterprise Manager, or through the operating system.

Uninstall method for Oracle installation failure: Close Oracle service, delete Oracle program files and registry keys, uninstall Oracle environment variables, and restart the computer. If the uninstall fails, you can uninstall manually using the Oracle Universal Uninstall Tool.

Oracle Invalid numeric errors may be caused by data type mismatch, numeric overflow, data conversion errors, or data corruption. Troubleshooting steps include checking data types, detecting digital overflows, checking data conversions, checking data corruption, and exploring other possible solutions such as configuring the NLS_NUMERIC_CHARACTERS parameter and enabling data verification logging.

To create a user in Oracle, follow these steps: Create a new user using the CREATE USER statement. Grant the necessary permissions using the GRANT statement. Optional: Use the RESOURCE statement to set the quota. Configure other options such as default roles and temporary tablespaces.

The method to solve the Oracle cursor closure problem includes: explicitly closing the cursor using the CLOSE statement. Declare the cursor in the FOR UPDATE clause so that it automatically closes after the scope is ended. Declare the cursor in the USING clause so that it automatically closes when the associated PL/SQL variable is closed. Use exception handling to ensure that the cursor is closed in any exception situation. Use the connection pool to automatically close the cursor. Disable automatic submission and delay cursor closing.
