一、空间表的元数据

将表的SDO_GEOMETRY列的所有对象作为一个空间层。Spatial需要对所有空间对象进行验证、创建索引和查询。此时需要为图层指定适当的元数据,该数据包含如下信息:维度、维度边界、容差、坐标系。每个图层的上述信息填充到USER_SDO_GEOM_MetaDATA字典试图中。

sql>DESCRIBE USER_SDO_GEOM_MetaDATA

USER_SDO_GEOM_MetaDATA视图

列名

类型

列名描述

TABLE_NAME

VARCHAR2()

COLUMN_NAME

VARCHAR2()

SRID

NUMBER

DIMINFO

MDSYS.SDO_DIM_ARRAY

伟度信息

SRID属性:SRID是空间参考系ID。如果SDO_SRID为null,则没有指定坐标系统,如果SDO_SRID不为null,那么它的值必须在在MDSYS.CS_SRS表中的 SRID 列有对应的值。

MDSYS.CS_SRS表

列名

类型

列名描述

CS_NAME

VARCHAR2(68)

坐标系统名称

SRID

NUMBER(38)

空间参考ID,为唯一值。1-999999为spatial使用的空间参考,1000000以后为用户自定义

AUTH_SRID

NUMBER(38)

可选的SRID,是个外键。另一个坐标系统的SRID

DIMEINFO属性:

sql>DESCRIBE SDO_DIM_ARRAY

属性的数据类型是MDSYS.SDO_DIM_ARRAY它是一个可变长的SDO_DIM_ELEMENT类型的数组。其大小由维度决定,对于一个二维几何体,则包行两个SDO_DIM_ELEMENT。

SDO_DIM_ELEMENT包含如下属性:

SDO_DIMNAME表示该维度的名称,比如x,y

SDO_LB和SDO_UB 维度的上限和下限,比如经度SDO_LB-180 SDO_UB 180.伟度经度SDO_LB-90 SDO_UB 90.

SDO_TOLERANCE,容差值,比如A和B两点相差0.5,则认为是同一位置。

二、SDO_GEOMETRY数据类型

用数组,结构体或带有构造函数,功能函数的类来定义自己的对象类型。这样的对象类型能用于属性列的数据类型,也能用来创建对象表。

而oracle spatial也正是基于此种特性所研发的一套空间数据处理系统.

spatial 的自定义数据类型有非常多,都在mdsys方案下,经常使用的是sdo_geometry类型。

sdo_geometry表示一个几何对象,能是点、线、面、多点、多线、多面或混合对象。

spatial 在此数据类型的基础上,实现了r树空间索引和四叉树空间索引,还以sql函数的形式实现了多种空间分析功能。

GEOLOC 定义结构如下:

CREATE TYPE sdo_geometry AS OBJECT (

SDO_GTYPE NUMBER,

SDO_SRID NUMBER,

SDO_POINT SDO_POINT_TYPE,

SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY,

SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY);

)

(1)、SDO_GTYPE:用四个数字定义了所有的形状

第一位:维数如二维、三维对应的2和3

第二位:定义了LRS。一般是0;

最后两位: 定义了地理对象的类型。现在使用从00到07

Value Geometry Description

00 UNKNOWN_GEOMETRY Spatial ignores this value

01 POINT A single point element

02 LINE or CURVE Contains one line string element that may be linear,curved or both

03 POLYGON Contains one polygon element with or without other polygon elements in it

04 COLLECTION A heterogeneous collection of elements

05 MULTIPOINT Contains one or more points

06 MULTILINE or MULTICURVE Contains one or more line string elements

07 MULTIPOLYGON Contains multiple polygon elements that maybe disjoint

比如一条线的SDO_GTYPE:2002

(2)、SDO_SRID:定义了空间坐标参考系统。NULL为笛卡尔坐标系。

If SDO_SRID is null,no coordinate system is associated with the geometry.

If SDO_SRID is not null,it must contain a value from the SRID column of the SDO_COORD_REF_SYS table,

and this value must be inserted into the SRID column of the USER_SDO_GEOM_MetaDATA view.

All geometries in a geometry column must have the same SDO_SRID value.

(3)、SDO_POINT:Oracle Spatial也可定义单个的点,SDO_POINT的定义:

CREATE TYPE sdo_point_type AS OBJECT (X NUMBER,Y NUMBER,Z NUMBER); 如果是二维,Z为NULL。

如果几何类型为点类型的话,SDO_ELEM_INFO和SDO_ORDINATES对应的值都为Null,SDO_POINT不为空。其它情况下,SDO_POINT会被Spatial所忽略即设为Null。如果这个层只有点对象,那么推荐你将其保存在SDO_POINT属性中。

(3)、SDO_ELEM_INFO:定义了如何理解SDO_ORDINATES中的坐标字符串属性。

第一个数:SDO_STARTING_OFFSET

第二个数:SDO_ETYPE

第三个数:SDO_INTERPRETATION

a、SDO_STARTING_OFFSET:声明了组成当前几何片段的第一个坐标在SDO_ORDINATES数组中的坐标序号。

坐标序号是从1开始起算的而非从0开始。这里的SDO_ORDINATES就是sdo_geometry 中的坐标序列,

坐标序列是已逗号隔开的数字,具体的计算如:sdo_ordinate_array(1,4,6,7,8,9)中如果以'6'开始几何片段的话,

坐标序号SDO_STARTING_OFFSET=3。

b、SDO_ETYPE :声明元素的类型。可结合 SDO_STARTING_OFFSET和SDO_ETYPE 表来理解.

c、SDO_INTERPRETATION:可结合 SDO_STARTING_OFFSET和SDO_ETYPE 表来理解.

SDO_ETYPE

SDO_INTERPRETATION

组合含义

1

任何数(n)

1

1

普通单点

1

n

多点

2

1

直线段组成的多义线

2

2

曲线段组成的多义线

1003或者2003

1

系列直线段组成的多边形

1003或者2003

2

系列曲线段组成的多边形

1003或者2003

3

矩形

1003或者2003

4

4

n(n>1)

直线段和曲线段组成的复杂多义线

1005或者2005

n(n>1)

直线段和曲线段组成的复杂多边形

说明:

SDO_ETYPE 值 = 1,2,1003,或2003,说明几何为简单的几何类型。可以全部按SDO_ELEM_INFO 属性单元[即三个以逗号隔开的数]来理解sdo_ordinate_array中的坐标序列。

SDO_ETYPE 值 = 1003 ,假如几何类型为面,则表示为外多边形环(以逆时针顺序)

SDO_ETYPE 值 = 2003 ,假如几何类型为面,则表示为内多边形环(以顺时针顺序)

SDO_ETYPE 值 = 4,1005或2005,说明几何为组合元素,往往第一个三数字组不是SDO_ELEM_INFO 属性单元,而是为了说明组合元素的信息。

SDO_ORDINATES:几何图形所有顶点列表。定义为 CREATE TYPE sdo_ordinate_array AS VARRAY (1048576) of NUMBER; The SDO_ORDINATES attribute is defined using a varying length array (1048576) of NUMBER type that stores the coordinate values that make up the boundary of a spatial object。比如构造一条直线A,B直线,其中A点坐标X0,Y0。B坐标X1,Y1,则SDO_ORDINATES存储的顺序是X0,Y0,X1,Y1。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

oracle查询元数据,Oracle Spatial-元数据及SDO_GEOMETRY相关推荐

  1. oracle查询表唯一索引,oracle查询索引(oracle查看表索引)

    oracle查询索引(oracle查看表索引) 2020-07-24 11:01:26 共10个回答 选中表右键View然后查看index 通过PL/SQL可以直接查看某表是否建索引,通过SQL查询s ...

  2. oracle查有哪些数据库,oracle查询数据库(oracle查询所有数据库)

    oracle查询数据库(oracle查询所有数据库) 2020-07-24 12:01:17 共10个回答 PLsql查询工具便可查询 你指所有的表吗?如果你想查数据库中所有的表的话,可以查询sele ...

  3. oracle 查询天,Oracle查询_ 单表查询

    前面我们详解了关于Oracle的增删改,今天让我们接着来学习Oracle的查询吧, Oracle中查询可是重头戏噢!!!跟着煌sir的步伐,走位,走位~~~ 小知识锦囊 在此前,先讲解一个小知识点 O ...

  4. oracle查询快慢,Oracle查询连接数和sql快慢脚本

    Oracle查询连接数和sql快慢脚本 一.查询执行最慢的sql select * from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS & ...

  5. oracle 查询 ppt,oracle子查询.ppt

    <oracle子查询.ppt>由会员分享,可在线阅读,更多相关<oracle子查询.ppt(26页珍藏版)>请在人人文库网上搜索. 1.子查询,目标,通过本章学习,您将可以: ...

  6. oracle 查询最高分,oracle高级查询

    幕课oracle学习笔记 --!!!scott用户 --一.分组查询 --1.常用的分组函数:AVG(平均数),SUM,MIN,MAX,COUNT,WM_CONCAT(行转列) select avg( ...

  7. oracle查询file_name,Oracle DG环境下db_file_name_convert的实际意义

    关于DG环境下备库数据文件重命名的问题: **前言:** 主要想表明DG环境下备库数据文件重命名的问题,以及db_file_name_convert与log_file_name_convert的作用. ...

  8. oracle查询dictionary,Oracle的DICTIONARY/DICT视图。

    The Dictionary in the Data Dictionary Today's journey takes on a trip into Oracle's data dictionary, ...

  9. oracle查询字体,oracle查询字符集语句分享

    (1)查看字符集(三条都是等价的) select * from v$nls_parameters  where parameter='NLS_CHARACTERSET' select * from  ...

  10. oracle 查询unlock,oracle account lock/unlock

    oracle account lock/unlock 2016-02-01 密码错误时候仍然不断的尝试登陆oracle,在登陆10次时会被告知test用户被锁. 1.用dba角色的用户登陆,进行解锁, ...

最新文章

  1. 用实例揭示notify()和notifyAll()的本质区别
  2. c语言信号灯作用,交通信号灯对交通领域的作用与影响
  3. c 创建mysql实体模型_EntityFrameworkCore 根据实体类自动创建数据库
  4. 基于opencv的BackgroundSubtractorMOG2目标追踪
  5. “第三届中国行业互联网大会暨CIO班12周年年会”成功举行
  6. MindCon极客周 | 第三届全新席卷而来,SIG英雄帖,做硬核玩家,夺万元大奖!
  7. 算法提高 日期计算c语言,算法提高 日期计算
  8. 1.C#基础之简介(完成)
  9. 详解ROS中的TF使用
  10. Vue.js - Day4
  11. 我们早上一般是七点半上班
  12. bug[应该已经修复了]:红色方框随机丢失(简书安卓2.0beta)
  13. tensorflow精进之路(十七)——python3网络爬虫(上)
  14. webpack入门1
  15. 如果你的苹果Mac键盘锁住了要怎么办呢?快来看看此教程吧!
  16. 4-MSP430定时器_定时器中断
  17. sokit socket调试工具
  18. 表白网页制作_表白网页_创意表白_表白神器
  19. DDE学习1、DDE的原理和基本特点简介_马鸿凯_新浪博客
  20. mybatis学习1

热门文章

  1. 大数据学习笔记(一)——大数据概述
  2. 内网代理穿透1:nc代理穿透
  3. win10系统没声音 服务器,win10电脑突然没有声音的10种修复方法
  4. 字符格式(gbk utf8等)
  5. 小学计算机学情分析报告,美图小学信息技术_秀秀美图更漂亮教学设计学情分析教材分析课后反思...
  6. Minio根据文件地址,返回一个供外网访问的地址
  7. 【Microsoft Azure 的1024种玩法】四十二. 通过Windows Admin Center快速创建Azure Virtual Machines
  8. jmeter登录压力测试单用户和多用户登录
  9. 正则表达式基本符号_如何使用基本正则表达式更好地搜索并节省时间
  10. 基于物联网流量指纹的安全威胁轻量级检测方法