易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle Spatial 实例简介

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 字串4
);
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';
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hengcai001/archive/2009/07/30/4394600.aspx


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

ORACLE常见问题1000问(之三)

88. CHR()的反函数是?
   ASCII()
   SELECT CHAR(65) from DUAL;
   SELECT ASCII('A') from DUAL;
   89. 字符串的连接
   SELECT CONCAT(COL1,COL2) from TABLE
   SELECT COL1||COL2 from TABLE
   90. 怎么把select出来的结果导到一个文本文件中?
   SQL>SPOOL C:\ABCD.TXT;
  ......

ORACLE常见问题1000问(之七)

ORACLE内部函数篇
   255. CHARTOROWID(CHAR)
   将包含外部语法ROWID的CHAR或VARCHAR2数值转换为内部的二进制语法,参数CHAR必须是包含外部语法的ROWID的18字符的字符串.
   SELECT NAME from BSEMPMS WHERE ROWID=CHARTOROWID('AAAAfZAABAAACp8AAO');
   NAME : LEIXUE
   256. CONVERT(CHAR,DEST_CHA ......

ORACLE常见问题1000问(之十一)

645. USER_ALL_TABLES
包含对用户可用的表的描述.
646. USER_ARGUMENTS
列出对用户可存取的对象中的参数.
647. USER_ASSOCIATIONS
当前用户所拥有的相关对象的用户定义的统计.
648. USER_AUDIT_OBJECT
关于对象的语句审计跟踪记录.
649. USER_AUDIT_SESSION
关于用户连接或断开的全部审计跟踪记录.
650. USER_AUD ......

Oracle DBA手记之“V$SQL视图显示结果异常的诊断”

本文节选自《Oracle DBA手记——数据库诊断案例与性能优化实践》第2章“Yangtingkun的DBA工作手记” (作者:杨廷琨)
V$SQL视图显示结果异常的诊断
有一次碰到一个很奇怪的问题,在检查会话所执行的SQL时,发现V$SQL视图中SQL_TEXT列中的数据是不正常的。
由于V$SQL是动态性能视图,里面保存的是当 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号