点:可以用来存储实体的位置坐标
线串:用来存贮某一路段的位置及形状
多边形:用来存储城市的边界,商业区等
复杂的几何体: 多重多边形
点事最简单的几何体
一个线串连接多个不同的点
元素数组描述了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
D在D00T中用来存储几何体对象的维度。可以表示从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_INFO和SDO_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),同时提供优秀的空间索引机制
MDSYS是ORACLE 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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20976446/viewspace-716849/