Oracle Spatial 简介

oracle

Oracle Spatial 简介:
        首先,Oracle 支持自定义的数据类型,你可以用数组,结构体或者带有构造函数,功能函数的类来定义自己的对象类型。这样的对象类型可以用于属性列的数据类型,也可以用来创建对象表。而Oracle Spatial也正是基于此种特性所开发的一套空间数据处理系统。
        Spatial 的自定义数据类型有很多,都在MDSYS方案下,经常使用的是SDO_GEOMETRY类型。SDO_GEOMETRY表示一个几何对象,可以是点、线、面、多点、多线、多面或混合对象。
        Spatial 在此数据类型的基础上,实现了R树空间索引和四叉树空间索引,还以sql函数的形式实现了多种空间分析功能。

Oracle Spatial 使用:
         1、将SDO_GEOMETRY数据类型作为数据表的一个列。

        CREATE TABLE cola_markets (
  mkt_id NUMBER PRIMARY KEY,
  name VARCHAR2(32),
  shape MDSYS.SDO_GEOMETRY);

        2、填写空间元数据。

    INSERT INTO USER_SDO_GEOM_METADATA
  VALUES (
  'cola_markets',
  'shape',
  MDSYS.SDO_DIM_ARRAY(   -- 20X20 grid
    MDSYS.SDO_DIM_ELEMENT('X', 0, 20, 0.005),
    MDSYS.SDO_DIM_ELEMENT('Y', 0, 20, 0.005)
     ),
  NULL   -- SRID
);

        3、创建空间索引。

CREATE INDEX cola_spatial_idx
ON cola_markets(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
        
        至此,空间数据表的创建才算正式完成 。

       4、插入空间数据。空间数据的插入要

INSERT INTO cola_markets VALUES(
  2,
  'cola_b',
  MDSYS.SDO_GEOMETRY(
    2003,  -- 2-dimensional polygon
    NULL,
    NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), -- one polygon (exterior polygon ring)
    MDSYS.SDO_ORDINATE_ARRAY(5,1, 8,1, 8,6, 5,7, 5,1)
  )
);

        5、空间分析查询示例。

-- Return the topological difference of two geometries.
SELECT SDO_GEOM.SDO_DIFFERENCE(c_a.shape, m.diminfo, c_c.shape, m.diminfo)
  FROM cola_markets c_a, cola_markets c_c, user_sdo_geom_metadata m
  WHERE m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE'
  AND c_a.name = 'cola_a' AND c_c.name = 'cola_c';

八风不动2004年11月23日涂鸦于大连

时间: 2024-11-03 21:49:21

Oracle Spatial 简介的相关文章

Oracle Spatial时态空间数据库设计

需求前提:数据每年变化1-2次,软件预计生命周期50年. 实践环境:Oracle Spatial. 术语表:时空对象,快照. 时空对象:一个地理目标从诞生到消亡所经历的空间和时间范围及其属性信息.这是一个为处理时空数据方便而抽象出来的概念,相当于全信息模型中的全信息对象.为了理解时空对象,我们以二维地物为例.二维地物在二维空间中占据一定的空间范围,表现为一个二维几何体,也就是它的几何属性.如果再增加一条时间轴,成为(x,y,t)坐标系,并认为任何的空间对象都有诞生和消亡,则这个二维地物就在(x,

Oracle中自定义临时表的实现及其在Oracle Spatial中的应用

oracle|临时表 Oracle 临时表功能介绍:         Oracle中的临时表是全局的,需要在数据库设计时创建完成,而不是程序使用时.每个登陆用户都使用这一个相同的临时表,但互相之间看不到彼此的数据,也就是说临时表是会话独立的.         Oracle 的临时表分为事务型和会话型.         事务型临时表就是指在事务处理过程中插入的记录只在事务提交或回滚之前有效,一旦事务完成,表中的记录便被自动清除.         会话型临时表指临时表中的数据在本次会话期间一直有效,

Oracle Spatial数据加密问题研究

oracle|加密|数据|问题 Oracle 9i2 特色功能:        1.返回值为自定义对象类型的函数.例如SDO_GEOMETRY数据类型.        2.可以用Java或C语言编写存储过程.÷Oracle Spatial 高级功能:        可以使用返回值为SDO_GEOMETRY数据类型的自定义函数作为几何列获取空间数据.         加密实现:     1.简单的数据加密.         1)创建返回值为SDO_GEOMETRY数据类型的自定义函数,从BLOB(

基于Oracle Spatial的时态空间数据库设计

oracle|设计|数据|数据库|数据库设计 需求前提:数据每年变化1-2次,软件预计生命周期50年 实践环境:Oracle Spatial   术语表:时空对象,快照 时空对象:一个地理目标从诞生到消亡所经历的空间和时间范围及其属性信息.这是一个为处理时空数据方便而抽象出来的概念,相当于全信息模型中的全信息对象.为了理解时空对象,我们以二维地物为例.二维地物在二维空间中占据一定的空间范围,表现为一个二维几何体,也就是它的几何属性.如果再增加一条时间轴,成为(x,y,t)坐标系,并认为任何的空间

Oracle Spatial新驱动的添加记录实例

Oracle的空间数据库的操作驱动更新了,新的驱动适用于Oracle8.0或以上,新驱动在对数据库的操作上面和原有的驱动差别比较大,不过有一点:使用变得简单了 建立空间数据库和建立空间索引的步骤就略过了,那些网上有很多例子,而且实现方式上面也没有变化,下面列出添加一条空间数据库记录的代码: import java.sql.*; import oracle.sql.*; import oracle.spatial.geometry.JGeometry; /** * <p>Title: </

Oracle autotrace简介

recursive calls 用户或系统产生的递归调用的数量; db block gets:当前数据块被请求的次数; consitent gets 从缓冲区高速缓存中获取重做数据块的数量; physical reads 从磁盘获取数据块的数量 redo size DML语句生成的重做数据的大小 bytes sent via SQL*Net to client 通过Oracle Net向客户端发送数据的字节数 bytes sent via SQL*Net from client 通过Oracle

Oracle并行简介

并行DML操作需注意2点: 1).显示在会话里执行:alter session enable parallel dml; 2).对于Delete.Update .Merge的操作,只有被操作的对象是分区表时,Oracle才会启用并行操作; 3).对于insert只有insert into ...select * from 此形式才有用; 各种并行操作举例如下: --并行delete delete /*+ parallel(t,2) */ * from t; --并行update update /

Oracle分析函数简介:排序

Oracle常用的用于排序的分析函数有3种,rank().dense_rank().row_number(); 测试表如下: 1.rank() 跳跃式排名 with temp as ( select t_id,t_age, rank() over(order by t_age desc) sec  from aaa ) select * from temp --where sec=1--,加上此过滤条件,即可找出排名为1的记录 如果指定分组的话,如下: with temp as ( select

ORACLE审计简介

1.什么是审计 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/ $ORACLE_SID/adump/)或数据库(存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_trail查看)中.默认情况下审计是没有 开启的. 不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限连接Instance:启动数据库:关闭数据库. 2.和审计相关的两个主要参数 Aud