基于SDO_GEOMETRY的ST_GEOMETRY
Oracle Spatial虽然使用了SDO_GEOMETRY类型作为几何对象的存储,不过它也提供了另外的一种类型ST_GEOMETRY,同时在此基础上还提供了一些符合OGC Simple Features Access
规范的操作。
首先让我们来看一下这个ST_GEOMETRY的定义:
CREATE OR REPLACE
TYPE ST_GEOMETRY AS OBJECT (
GEOM SDO_GEOMETRY,
MEMBER FUNCTION GET_SDO_GEOM RETURN SDO_GEOMETRY DETERMINISTIC,
…
)
可见,Oracle Spatial的ST_GEOMETRY事实上还是通过对SDO_GEOMETRY的包装实现的。因此,我们可以通过最简单的构造函数来构造一个ST_GEOMETRY对象:
ST_GEOMETRY(geom SDO_GEOMETRY);
或者,也可以使用具体的ST_GEOMETRY类型来构造,比如用ST_POINT来构造一个点,你会发现内部Oracle Spatial还是根据参数生成了一个SDO_GEOMETRY对象存放了起来:
SQL> select st_point(1,1) from dual;
ST_POINT(1,1)(GEOM(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES))
------------------------------------------------------------------------------------------------------------------------
ST_POINT(SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(1, 1, NULL), NULL, NULL))
因此,表面上看Oracle Spatial中与OGC规范相关的主要就包括三部分(见图 2):两张记录几何字段和空间参考的系统表、一些ST打头的对象类型和一些OGC打头的空间操作函数。但是,由于ST_GEOMETRY使用的是SDO_GEOMETRY进行存储,因此这些SDO相关的内容也会被使用到。
图
2 Oracle Spatial中与OGC规范相关的内容
分享到:
相关推荐
### ArcSDE 与 Oracle Spatial 的空间数据存储比较与分析 #### 一、几何对象 ##### Oracle Spatial **1. SDO_GEOMETRY** Oracle Spatial 在 MDSYS 模式下定义了一系列几何类型和函数来支持空间数据的存储与使用...
"使用Oracle Spatial对ArcSDE中的SDO_GEOMETRY类型数据进行空间操作" Oracle Spatial 是 Oracle 数据库中的一个空间数据处理组件,用于存储、管理和操作空间数据。ArcSDE 是一个空间数据引擎,用于存储和管理大规模...
ArcSDE和Oracle Spatial的定位不同
直接连接(Direct Connect)是指ArcGIS直接访问Oracle Spatial数据库的一种方式,无需通过中间层如ArcSDE等工具进行数据传输。这种方式可以提高查询效率,简化系统架构,并减少维护成本。 **2.2 主要优点** - **...
【ArcSDE与Oracle9i Spatial简介】 ArcSDE是一种用于访问和管理存储在关系数据库管理系统(RDBMS)中的大型多用户地理数据库的服务器软件。它是Esri的ArcGIS平台的一部分,也是企业级解决方案的核心组件。ArcSDE的...
### Oracle Spatial与ArcSDE空间数据上载及应用比较 #### 引言 在地理信息系统(GIS)领域,Oracle Spatial与ArcSDE是目前较为流行的两种利用关系型数据库存储和管理空间数据的商用软件。随着GIS技术的发展,空间...
"Oracle Spatial和ArcSDE的应用比较研究" Oracle Spatial和ArcSDE是当前较为流行的利用关系型数据库存储和管理空间数据的商用软件。本文首先分析Oracle Spatial和ArcSDE的存储机制,然后对二者进行比较研究,最后...
ArcSDE(Arc Spatial Data Engine)是Esri公司开发的一款强大的地理空间数据管理软件,它为Oracle 10g这样的大型数据库系统提供了全面的地理空间数据支持。在本篇中,我们将深入探讨ArcSDE 9.2 for Oracle 10g的授权...
【Oracle Spatial与ArcSDE简介】 Oracle Spatial是Oracle数据库的一个扩展模块,专门用于处理和管理地理空间数据。它提供了一套全面的空间数据管理和分析功能,包括几何对象的存储、空间索引、空间查询以及复杂的...
总的来说,Oracle Spatial与ArcSDE的结合使用,为管理和操作空间数据提供了一种强大而灵活的解决方案。无论是通过Query Layer还是ArcSDE注册图层,都能够帮助用户在ArcGIS环境中有效地利用和分析Oracle Spatial数据...
【ArcSDE与Oracle10i Spatial数据转换】 在地理信息系统(GIS)的应用中,空间数据的管理和转换是至关重要的。ArcSDE是由Esri公司开发的一种空间数据库引擎,它允许用户将空间数据集成到关系数据库管理系统(RDBMS)中...
### Oracle Spatial 与 ArcSDE 的对比分析 #### 一、引言 随着地理信息系统(GIS)技术的发展,对空间数据存储与管理的需求日益增长。Oracle Spatial 与 ArcSDE 成为当前主流的空间数据存储解决方案之一。本研究...
《ArcSDE与Oracle Spatial:空间数据库的深度解析》 ArcSDE和Oracle Spatial,两者都是业界领先的空间数据管理解决方案,但它们各自有着独特的特性和优势。本文将深入探讨这两个系统在存储空间数据、建立空间索引、...
- 在Oracle数据库中,不同的表空间可以被分配给特定类型的数据,例如FEATURE、ATTRIBUTE、SPATIAL_INDEX、ORACLE_INDEX等。 - 每个表空间都有其独特的用途,例如,FEATURE表空间用于存储特征数据;ATTRIBUTE表空间...
7. **集成ArcSDE**:ArcSDE是Esri公司的产品,用于将GIS数据与关系数据库管理系统(RDBMS)集成,Oracle Spatial与ArcSDE的结合提供了更全面的GIS解决方案。 8. **查询优化**:Oracle Spatial提供了高级的空间查询...
《实现ArcSDE向Oracle9i Spatial空间数据的转换》 空间数据是地理信息系统(GIS)的核心组成部分,而ArcSDE和Oracle Spatial是两种广泛使用的空间数据库引擎。这两种引擎分别由ESRI公司和Oracle公司开发,它们各自...
ArcSDE,全称为Arc Spatial Data Engine,是ESRI(Environmental Systems Research Institute)公司开发的一款用于管理和分发地理空间数据的软件产品。它提供了一种高效、可靠的解决方案,使用户能够在关系数据库...
本文研究了基于Oracle Spatial组件实现多源异构空间数据一体化存储及管理的方法。Oracle Spatial是甲骨文公司提供的用于GIS数据存储的空间数据处理系统,它通过扩展的SDO_GEOMETRY和SDO_GEORASTER数据类型实现了矢量...
【对比其他产品】虽然有多个GIS和数据库厂商提供类似解决方案,如ESRI的ArcSDE和Informix的Spatial Data Blade,但Oracle Spatial凭借其先进的技术和高性能,在市场上占据主导地位,尤其适用于大型GIS系统和工程CAD...
ArcSDE(Spatial Database Engine)是Esri公司开发的空间数据库引擎,它为ArcGIS(一款流行的地理信息系统软件)与Oracle数据库之间提供了桥梁,使得用户可以在Oracle数据库中存储、管理和操作空间数据。 【ArcSDE...