`
泡沫之夏520
  • 浏览: 20558 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

SDO_GEOMETRY(一)

阅读更多

SDO_GEOMETRY是空间数据中最基本的类型,此类型用于存储几何形状……
<script language="Javascript" type="text/javascript"> </script>

  SDO_GEOMETRY是空间数据中最基本的类型,此类型用于存储几何形状。定义如下:

 

  CREATETYPESDO_GEOMETRYASOBJECT   (   SDO_GTYPENUMBER,   SDO_SRIDNUMBER,   SDO_POINTSDO_POINT_TYPE,   SDO_ELEM_INFOSDO_ELEM_INFO_ARRAY,   SDO_ORDINATESSDO_ORDINATE_ARRAY   MEMBERFUNCTIONGET_GTYPERETURNNUMBERDETERMINISTIC,   MEMBERFUNCTIONGET_DIMSRETURNNUMBERDETERMINISTIC,   MEMBERFUNCTIONGET_LRS_DIMRETURNNUMBERDETERMINISTIC   );

  其中包括了5个属性和3个函数。

  SDO_GTYPE

  SDO_GTYPE用于定义SDO_GEOMETRY的类型,由四位数组成:

  u 第一位代表了维数,可以是二维、三维、四维;

  u 第二位标识Linear Referencing System (LRS),非LRS的类型,此值为0;

  u 第三、四位代表形状,从00到09共有10种类型。00 – 忽略此形状;01 – 点;02 – 线;03 – 多边形或面;04 – 类型的集合;05 – 01类型的集合,既多点集;06 – 02类型的集合;07 – 03类型的集合;08 – 体(三维空间中有多个面封闭起来的空间);09 – 08类型的集合;

  SDO_SRID

  坐标系统的ID,可在MDSYS.SDO_COORD_REF_SYS表中找到坐标信息。

  SDO_POINT

  如果SDO_ELE_INFO与SDO_ORDINATES属性为空,此属性不为空,表示几何形状为“点”。

  “点”是一种比较特殊的类型,如果SDO_ELE_INFO与SDO_ORDINATES属性不为空,即使给出了SDO_POINT的值也将会被忽略。SDO_POINT_TYPE类型由x, y, z定义一个点的坐标,如果是二维点,z值为null。

  此外,有向点不使用SDO_TYPE属性。

  SDO_ORDINATES

  此属性是一个数组,包含了几何形状所有的坐标点。比如二维系统中,SDO_ORDINATES(5, 4, 2, 12, 8, 15, 3, 7)包含了四个点,分别是(5, 4); (2, 12); (8, 15); (3, 7)。

  SDO_ELEM_INFO

  SDO_ELEM_INFO代表几何形状包含的元素的信息,最基本的元素是点。比如,一个立方体包含多个面元素。元素还可以包含自己的子元素。

  一个元素的信息是一个数组,数组中有三个数。如(1, 1003, 1, 4, 2003, 1)包含两个元素,第一个元素是(1, 1003, 1),第二个元素是(4, 2003, 1)。每一个数组的含义如下:

  u 第一个数代表了元素在SDO_ORDINATES中起始偏移位。如SDO_ORDINATES是(5, 4, 2, 12, 8, 15, 3, 7),元素的起始偏移位是5,那么(8, 15)是元素的第一个点。如果元素是连接的,那么元素最后点的偏移位就是下一元素的起始偏移位,如(8, 15)是元素的终点,同时也是下一元素的起点。

  u 第二个数代表了元素的类型,最多有四位。如果元素是复合类型,那么在它之后跟着是它的子元素。

  u 第三个数指名如何解释元素。对复合元素来说,表明它子元素的个数。对单元素来说,通常元素类型的进一步解释,比如(1, 1003, 3)代表矩形,(1, 1003, 4)代表圆形……

分享到:
评论

相关推荐

    使用Oracle Spatial对ArcSDE中的SDO_GEOMETRY类型数据进行空间操作

    CREATE TABLE SDO_GEOMETRY_TEST (F_ID number,F_SHAPE sdo_geometry) 其次,需要插入空间元数据,用于描述空间数据的结构和属性。例如,以下是插入空间元数据的 SQL 语句: INSERT INTO USER_SDO_GEOM_METADATA ...

    Oracle为sdo_geometry创建空间索引

    在创建空间索引之前,需要先创建一个包含 sdo_geometry 数据类型的表。sdo_geometry 是 Oracle 中的一种特殊数据类型,用于存储空间数据。例如,下面是一个创建包含 sdo_geometry 数据类型的表的示例: ```sql ...

    Oracle sdo_geometry空间坐标系转换

    MDSYS.SDO_CS.TRANSFORM_LAYER('MY_GEOMETRY_TABLE', 4326, 23033); END; ``` #### 六、总结 通过上述介绍,我们可以看到Oracle数据库提供了强大的空间数据处理能力,特别是对于坐标系统的转换。无论是单个空间...

    Oracle Spatial 中的SDO_GEOMETRY类型

    SDO_GEOMETRY 类型是一个对象类型,由多个属性字段组成,包括 SDO_GTYPE、SDO_SRID、SDO_POINT、SDO_ELEM_INFO 和 SDO_ORDINATES。 1. SDO_GTYPE 属性 SDO_GTYPE 属性表明了空间对象的种类,SDO_GTYPE 的值是一个...

    EclipseLink通过JPA方式映射Sdo_geometry字段

    例如,假设我们有一个名为`Location`的实体类,其中包含一个`shape`字段,这个字段在数据库中是SDO_GEOMETRY类型。我们可以在类定义的前面添加以下注解: ```java @Entity @Table(name = "LOCATIONS") public class...

    SDO-Geometry结构说明

    SDO-Geometry结构说明,1 创建Oracle Spatial表说明Concatenate the segments that were just split

    oracle spatial

    在 Oracle Spatial 中,空间数据被存储在 SDO_GEOMETRY 字段中,这是一个符合 OpenGIS 规范的对象类型,包含了关于几何形状的信息,如类型(SDO_GTYPE)、空间参考ID(SDO_SRID),以及点(SDO_POINT)、线(SDO_...

    OCCI添加Oracle特殊数据字段类型

    SDO_GEOMETRY 字段是一种复杂的数据类型,无法使用普通的数据类型来存储,因此需要使用 OCCI 来添加对该字段的支持。 OCCI 添加 Oracle 特殊数据字段支持的步骤: 1. 在 Oracle 服务器端创建一个名为 spatial_...

    ORACLE SPATIAL 笔记(完整版)

    #### 一、SDO_GEOMETRY 数据类型详解 **SDO_GEOMETRY** 是 Oracle Spatial 提供的一种特殊的数据类型,用于存储空间数据,广泛应用于 GIS(地理信息系统)、CAD(计算机辅助设计)及 CAM(计算机辅助制造)等领域。...

    WebLogic添加空间字段支持

    例如,如果你有一个实体类`GSegmentsTc2`,其中有一个`Shape`属性映射到SDO_GEOMETRY类型的数据库字段,你可以通过以下方式获取和打印其WKT(Well-Known Text)表示: ```java List&lt;GSegmentsTc2&gt; segList = ...

    空间数据类型例子大集合

    在SDO_GEOMETRY中,矩形被表示为一个二维多边形(SDO_GTYPE=2003),其中SDO_ELEM_INFO数组描述了其结构,SDO_ORDINATES数组提供了顶点坐标。例如: ```sql INSERT INTO cola_markets VALUES(1,'cola_a',SDO_...

    将shp格式空间数据转换为Oracle SDO数据类型操作步骤

    其中,SHP(Shapefile)是一种常见的矢量数据格式,而Oracle SDO(Spatial Data Object)是Oracle数据库中用于存储和管理地理空间数据的数据类型。当我们需要在Oracle数据库中使用SHP文件中的空间数据时,就需要进行...

    ArcSDE vs Oracle Spatial

    尽管 `SDO_GEOMETRY` 是 Oracle Spatial 的核心几何类型,但在某些情况下,Oracle Spatial 也支持 `ST_GEOMETRY` 类型,这有助于与其他支持该类型的地理信息系统进行互操作。 ##### ArcSDE **1. ST_GEOMETRY** ...

    Oracle Spatial和ArcSDE的应用比较研究.pdf

    SDO_GEOMETRY类型可以和其他数据类型一样单独存储于数据表中的某一列,该类型可以存储空间信息作为一个字段。 Oracle Spatial也定义了SDO_GEOMETRY中用的SDO_POINT_TYPE、SDO_ELEM_INFO_ARRAY和SDO_ORDINATE_ARRAY...

    运用Hibernate来支持在Oracle中的Java3D虚拟场景

    在Oracle中,一个基于...3D模型在Oracle 11g空间数据中存储和建模,也开发了2个自定义Java类来映射Oracle 11g空间类型中的SDO_GEOMETRY数据类型,用于解决Hibernate目前不支持对SDO_GEOMETRY数据类型进行映射的问题。

    用户shape文件导入到oracle

    为了将shape文件转换为Oracle兼容的格式,我们可以使用Oracle提供的工具,如`shp2sdo_exe`,这是一个命令行工具,用于将ESRI Shapefiles转换为Oracle Spatial的SDO_GEOMETRY对象。 以下是使用`shp2sdo_exe`工具的...

    skyline与oracle数据库坐标关联之oracle数据库操作说明

    SET shape = sdo_geometry(2001, NULL, sdo_point_type(坐标 X, 坐标 Y, NULL), NULL, NULL) WHERE 坐标 X &gt; 0 AND 坐标 Y &gt; 0; Skyline与Oracle数据库坐标关联的操作说明包括创建表字段、给表 user_sdo_geom_...

    基于OracleSpatial的Shapefile数据存储研究

    通过引入SDO_GEOMETRY对象类型,可以实现每个空间实体的一行一列描述,其中包含了空间实体的唯一标识以及其他用于存储属性信息的字段。相较于传统的关系模型,对象-关系模型不仅能够表达更多类型的空间实体,还便于...

    Oracle Spatial讲义

    在实际应用中,创建一个包含空间数据的表,如 `GEOD_CITIES`,需要定义一个 SDO_GEOMETRY 字段并插入相应的元数据。比如,创建 `GEOD_CITIES` 表并插入元数据的 SQL 语句如下: ```sql CREATE TABLE GEOD_CITIES ( ...

Global site tag (gtag.js) - Google Analytics