| |
一、Oracle Spatial简介
二、测试表的建立与应用(点类型)
| -- 创建测试用表 CREATE TABLE "SPATIALTEST" ( )LOGGING; |
| -- 创建主键约束 ALTER TABLE "SPATIALTEST" |
| -- 根据用户表填写空间元数据 INSERT INTO USER_SDO_GEOM_METADATA |
| -- 建立空间索引 CREATE INDEX SPATIAL_IDX |
| -- 导入测试数据
--其他 INSERT INTO cola_markets VALUES( |
| -- 属性信息查询 SQL> select location from spatialtest; LOCATION(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES) SQL> select s.location.SDO_POINT.x langtitude from spatialtest s; LANGTITUDE |
| -- 空间分析查询(113.2359818,23.16937253)周边十公里信息5条 SELECT FROM ( WHERE ; |
| -- 空间分析查询(113.2359818,23.16937253)附近的5条信息 SELECT FROM WHERE ; |
| -- Return the topological difference of two geometries. SELECT SDO_GEOM.SDO_DIFFERENCE(c_a.shape, m.diminfo, c_c.shape, m.diminfo) |
三、MDYSYS.SDO_GEOMETRY结构
| CREATE TYPE SDO_GEOMETRY AS OBJECT(
|
MDSYS.SDO_GEOMETRY <--> OCCI 对照模型:
四、Oracle Spatial 几个自定义函数(转帖)
--------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
create or replace function To_Geomerty_Point(x in number,y in number ) return MDSYS.SDO_GEOMETRY is begin Result := MDSYS.SDO_GEOMETRY(2001, return(Result); |
--------------------------------------------------------------------------
-------------------查询及测试语句---------------------------------------
| --求线路的长度 select * from tg_routev2 select a.geoloc.SDO_ORDINATES from tgs_route a select GetStartNodeXY(a.geoloc.SDO_ORDINATES) from tgs_route a select GetEndNodeXY(a.geoloc.SDO_ORDINATES) from tgs_route a |
| --计算线路的起始点和终止点坐标 |
| --更新tg_routev2 中的线起始点 终止点坐标 update (select a.*,b.* from tg_routev2 a,routeNodeXY b |
| select sdo_geom.sdo_distance( from dual |
| --node1距离物流中心的 --node2距离物流中心的 |
| --更新node1Distance 和 node2Distance
|
-The End-
本文介绍OracleSpatial的空间数据处理系统,包括自定义数据类型SDO_GEOMETRY的使用方法,创建空间索引的过程,以及空间分析查询的实际操作。通过示例展示了如何进行空间数据的插入、查询与分析。

825

被折叠的 条评论
为什么被折叠?



