ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle spatial之基础知识之三

oracle spatial之基础知识之三

原创 Linux操作系统 作者:liqilin0429 时间:2012-02-21 11:45:36 0 删除 编辑

点:可以用来存储实体的位置坐标

线串:用来存贮某一路段的位置及形状

多边形:用来存储城市的边界,商业区等

复杂的几何体: 多重多边形

 

点事最简单的几何体

一个线串连接多个不同的点

元素数组描述了SDO_GEOMETRY对象的形状和位置。这个元素组构成了SDO_GEOMETRY对象。

 

SQL> conn spatial/spatial@QILIN

已连接。

SQL> desc sdo_geometry;

 名称                                      是否为空? 类型

 ----------------------------------------- -------- ---------------------------

 

 SDO_GTYPE                                          NUMBER

 SDO_SRID                                           NUMBER

 SDO_POINT                                          MDSYS.SDO_POINT_TYPE

 SDO_ELEM_INFO                                      MDSYS.SDO_ELEM_INFO_ARRAY

 SDO_ORDINATES                                      MDSYS.SDO_ORDINATE_ARRAY

 

SDO_GTYPE 属性:表示几何体实际形状的类型(点,线串,多边形,集合,多重点,多重线串或多重多边形)

SDO_SRID 属性:指定空间参考系的ID

 

SDO_GTYPE是一个4位的数字,结构为D00T。第一位和最后一位根据几何体的维数和形状采用不同的值。第二位和第三位通常被设置成0

 

DD00T中用来存储几何体对象的维度。可以表示从2维到4维的空间对象

SDO_GTYPE中的T规定了几何体的类型和形状

 

在一个特定的基础上,通过 坐标来定位地球表面上的数据,被称为大地坐标系或是大地空间参考系

 

等积投影保留了物体的面积,但是方向和距离都不再被保持。

等距投影在测量由投影区域中心到远处目的的距离有较大优势

 

通过选择合适的投影技术和三维参考基准,地球表面的位置能够在二维平面中表示,这种使用特定基准和合适投影的参考,被称为投影坐标系或是投影空间参考系

 

SQL> desc mdsys.cs_srs;

 名称                                      是否为空? 类型

 ----------------------------------------- -------- ----------------------------

 

 CS_NAME                                  VARCHAR2(80)

 SRID                                       NOT NULL NUMBER(38)

 AUTH_SRID                                NUMBER(38)

 AUTH_NAME                               VARCHAR2(256)

 WKTEXT                                  VARCHAR2(2046)

 CS_BOUNDS                               MDSYS.SDO_GEOMETRY

 WKTEXT3D                                VARCHAR2(4000)

 

EPSG坐标系的类型:

SQL> select distinct coord_ref_sys_kind from sdo_coord_ref_sys;

COORD_REF_SYS_KIND

------------------------

PROJECTED

GEOGRAPHIC2D

GEOCENTRIC

VERTICAL

ENGINEERING

COMPOUND

GEOGENTRIC

GEOGRAPHIC3D

 

已选择8行。

 

一维坐标系

二维坐标系

3D坐标系

本地坐标系

 

SQL> select sdo_cs.find_proj_crs(41155,'FALSE') epsg_srid from dual;

EPSG_SRID

--------------------------------------------------------------------

SDO_SRID_LIST(32041)

SDO_PINT仅能够存储三个坐标。也就是说 在数据是三维或是低于三维的时候才合适。对于四维的点,只能使用SDO_ELEM_INFOSDO_ORDINATES的属性

SDO_POINT属性

SQL> desc sdo_point_type;

 名称                                      是否为空? 类型

 ----------------------------------------- -------- ---------------------------

 

 X                                                  NUMBER

 Y                                                  NUMBER

 Z                                                  NUMBER

 

SDO_ORDINATES存贮几何体中所有元素的顶点,而SDO_ELEM_INFO存储的是上述元素的类型和在SDO_ORDINATES中的起始地址

 

SRID对应于一个大地坐标系的时候,你不能指定园或弧。园和弧只在投影或本地坐标系中有效。在大地坐标系中,可以通过增加圆周上点的密度和用SDO_UTIL.ARC_DENSIFY函数把这些点表示为线性多边形来近似表示圆和弧。

 

Mapinfo 地图在ORACLE中的存储和管理方式

ORACLE 为管理空间数据库提供了对象管理模式SDO(SPATIAL DATA OBJECT),同时提供优秀的空间索引机制

 

   MDSYSORACLE SPATIAL的管理用户

   MDSYS方案中,表SDOGEOM-METADATA-TABLE 存储所有上传到ORACLE中的MAPINFO地图信息,

                 SDO-INDEX-METADATA-TABLE存储与索引相关的信息

上传到ORACLE 中的每一个地图由两个表表示,

一个与该地图空间索引方式相关的表,叫做索引表

另一个用来存储地图属性数据和空间数据,称为数据表

 

MAPX控件有两种方式访问ORACLE中的空间数据,一种为ODBC方式,一种为OCI方式。

ODBC方式的缺点是通用接口,速度慢,需要配置数据源DNS.

OCI方式的优点是底层接口,速度快。

 

一个典型的 MapInfo表是由5文件组成

n       TAB确定表的结构,如字段名、排序、长度和类型

n       DAT包含表中每一个字段的数据

n       MAP描述图形对象

n       ID联接表和图形数据的对照表文件

n       IND包含表中索引字段信息,索引字段可以利用查询> 查找命令

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20976446/viewspace-716849/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-08-13

  • 博文量
    100
  • 访问量
    190819