- 浏览: 229811 次
- 性别:
- 来自: beijing
文章分类
<pre name="code" class="sql">---检查 oracle 是否有 Spatial DBA 权限
SELECT COMP_NAME, STATUS
FROM DBA_REGISTRY
WHERE COMP_NAME = 'Spatial';
--result:1 Spatial VALID
---检查 Spatial 是否完整,完整无返回值
SELECT OBJECT_NAME, OBJECT_TYPE, STATUS
FROM ALL_OBJECTS
WHERE OWNER='MDSYS' AND STATUS <> 'VALID'
ORDER BY OBJECT_NAME;
--- 创建 us_restaurants_new 表
CREATE TABLE us_restaurants_new
(
id NUMBER,
poi_name VARCHAR2(32),
location SDO_GEOMETRY -- New column to store locations
);
---插入 us_restaurants_new 表
INSERT INTO us_restaurants_new VALUES
(
1,
'PIZZA HUT',
SDO_GEOMETRY
(
2001, -- 点定义.
NULL, -- other fields are set to NULL.
SDO_POINT_TYPE -- Specifies the coordinates of the point
(
-87, -- first ordinate, i.e., value in longitude dimension
38, -- second ordinate, i.e., value in latitude dimension
NULL -- third ordinate, if any
),
NULL,
NULL
)
);
---地址编码器服务
SELECT
SDO_GCDR.GEOCODE_AS_GEOMETRY
(
'SPATIAL', -- Spatial schema storing the geocoder data
SDO_KEYWORDARRAY -- Object combining different address components
(
'3746 CONNECTICUT AVE NW',
'WASHINGTON, DC 20008'
),
'US' -- Name of the country
) geom
FROM DUAL ;
---查找距离最近的5个餐馆
SELECT poi_name
FROM
(
SELECT poi_name,
SDO_GEOM.SDO_DISTANCE(P.location, I.geom, 0.5) distance
FROM us_interstates I, us_restaurants P
WHERE I.interstate = 'I795'
ORDER BY distance
)
WHERE ROWNUM <= 5;
--删除创建索引
DROP INDEX us_restaurants_sidx;
CREATE INDEX us_restaurants_sidx ON us_restaurants(location)
INDEXTYPE IS mdsys.spatial_index;
--利用函数SDO_NN 找到距离 I795 公路 5个餐馆
SELECT poi_name
FROM us_interstates I, us_restaurants P
WHERE I.interstate = 'I795'
AND SDO_NN(P.location, I.geom) ='TRUE'
AND ROWNUM <= 5;
--缓冲查询 距离50公里 的餐馆
SELECT POI_NAME
FROM us_interstates I, us_restaurants P
WHERE
SDO_ANYINTERACT
(
P.location,
SDO_GEOM.SDO_BUFFER(I.geom, 50, 0.5, 'UNIT=KM')
) ='TRUE'
AND I.interstate='I795' ;
</pre>
<p> </p>
SELECT COMP_NAME, STATUS
FROM DBA_REGISTRY
WHERE COMP_NAME = 'Spatial';
--result:1 Spatial VALID
---检查 Spatial 是否完整,完整无返回值
SELECT OBJECT_NAME, OBJECT_TYPE, STATUS
FROM ALL_OBJECTS
WHERE OWNER='MDSYS' AND STATUS <> 'VALID'
ORDER BY OBJECT_NAME;
--- 创建 us_restaurants_new 表
CREATE TABLE us_restaurants_new
(
id NUMBER,
poi_name VARCHAR2(32),
location SDO_GEOMETRY -- New column to store locations
);
---插入 us_restaurants_new 表
INSERT INTO us_restaurants_new VALUES
(
1,
'PIZZA HUT',
SDO_GEOMETRY
(
2001, -- 点定义.
NULL, -- other fields are set to NULL.
SDO_POINT_TYPE -- Specifies the coordinates of the point
(
-87, -- first ordinate, i.e., value in longitude dimension
38, -- second ordinate, i.e., value in latitude dimension
NULL -- third ordinate, if any
),
NULL,
NULL
)
);
---地址编码器服务
SELECT
SDO_GCDR.GEOCODE_AS_GEOMETRY
(
'SPATIAL', -- Spatial schema storing the geocoder data
SDO_KEYWORDARRAY -- Object combining different address components
(
'3746 CONNECTICUT AVE NW',
'WASHINGTON, DC 20008'
),
'US' -- Name of the country
) geom
FROM DUAL ;
---查找距离最近的5个餐馆
SELECT poi_name
FROM
(
SELECT poi_name,
SDO_GEOM.SDO_DISTANCE(P.location, I.geom, 0.5) distance
FROM us_interstates I, us_restaurants P
WHERE I.interstate = 'I795'
ORDER BY distance
)
WHERE ROWNUM <= 5;
--删除创建索引
DROP INDEX us_restaurants_sidx;
CREATE INDEX us_restaurants_sidx ON us_restaurants(location)
INDEXTYPE IS mdsys.spatial_index;
--利用函数SDO_NN 找到距离 I795 公路 5个餐馆
SELECT poi_name
FROM us_interstates I, us_restaurants P
WHERE I.interstate = 'I795'
AND SDO_NN(P.location, I.geom) ='TRUE'
AND ROWNUM <= 5;
--缓冲查询 距离50公里 的餐馆
SELECT POI_NAME
FROM us_interstates I, us_restaurants P
WHERE
SDO_ANYINTERACT
(
P.location,
SDO_GEOM.SDO_BUFFER(I.geom, 50, 0.5, 'UNIT=KM')
) ='TRUE'
AND I.interstate='I795' ;
</pre>
<p> </p>
发表评论
-
geoserver 在liunix 系统下 地图乱码问题解决
2013-01-04 13:20 1236... -
openscales1.2 实现加载arcgis 切片
2012-09-14 12:30 2488package org.openscales.core.lay ... -
重写openalyers 的方法,加载天地图瓦片数据
2012-06-20 09:16 6363将TiandituLayer 加载到OpenLayers.js ... -
利用工具将shp文件导入到oracle spatial中
2012-05-21 14:20 43901 下载shp2sdo 工具,将工具放在 oracle按照目录 ... -
oracle spatial 空间数据学习
2012-05-17 16:09 1783最近项目使用 空间数据库 oracle spatial ... -
在ArcGIS 10 Desktop中打开Google Map,BingMap
2012-04-13 15:56 1552安装使用: 1 双击ArcBruTile_0.2.zip ... -
Arcgis object for java 访问栅格数据,使用GP工具,进行栅格矢量化---栅格矢量化面。
2012-06-20 09:17 4136直接贴代码了,不多解释了。 1、栅格数据的 ... -
arcgis server 服务
2012-01-06 17:58 1181package com.hdmap.fymas; imp ... -
ArcObject中的游标Cursor的理解
2011-05-04 10:48 1287cursor给人的第一 ... -
esri arcobj 开发for java
2011-04-15 14:04 10751、查找数据 1)、利用FeaturCursor进行空间查询 ... -
ESRI Flex GIS开发连载(1) ---环境搭建
2011-03-25 10:29 18741首先 用 argis server 发布一个 s ... -
树-Oracle用Start with...Connect By子句递归查询
2010-12-23 15:41 1180转 。。。。。。。。。。。。。。。。。。。。。。。。。 St ... -
无聊写的oracle 存储过程
2010-09-27 11:37 968create or replace procedure qin ... -
oracle中判断某个字段是否存在
2010-08-30 16:43 4380oracle中判断某个字段是否存在 docum ... -
Oracle 10g for Solaris 安装
2010-07-26 16:25 11181 .首先设置核心系统参数 # vi /etc/sy ... -
Oracle job 的写法
2010-04-29 14:22 1369写了一个job 很简单的,一分钟内 想一个表内插入 一 ... -
drop>; truncate >; delete
2010-03-09 20:40 832注意:这里说的delete是指 ... -
arcgis SDE for Java
2010-03-04 12:32 4139API:http://edndoc.esri.com/arcs ... -
sys_guid()
2010-02-01 21:26 1026select sys_guid() from dual -
Oracle timestamp
2009-12-04 17:13 1954我们都知道date和timesta ...
相关推荐
《Oracle Solaris 11:从Oracle Solaris 10到Oracle Solaris 11的迁移》 Oracle Solaris 11是Oracle公司推出的一款先进的操作系统,它在Oracle Solaris 10的基础上进行了大量改进和创新,以提供更高效、安全和可...
Oracle Solaris 11.1 管理指南:Oracle Solaris Zones、Oracle Solaris 10 Zones 及资源管理 Oracle Solaris 是一个强大的操作系统,尤其在企业级服务器环境中广泛应用。Oracle Solaris 11.1 提供了对系统的高级...
Oracle Solaris 11.2 Planning for Network Deployment in Oracle Solaris 11.2-32
在Oracle Solaris 11.2操作系统中使用符合FIPS 140标准的系统是一项重要的安全措施,尤其对于那些需要遵循严格数据安全规范的行业,如政府、金融和医疗等。FIPS 140-2是美国国家标准与技术研究所(NIST)发布的一个...
oracle on k8s 部署yaml
The Oracle Hacker's Handbook: Hacking and Defending Oracle
《Oracle Provider for OLE DB Developer's Guide》是一本针对Oracle数据库与OLE DB接口开发的技术文档。本书详细介绍了如何通过OLE DB(Object Linking and Embedding, Database)访问Oracle数据库中的数据,并提供...
Learn through this practical guide to SQL tuning how Oracle's own experts do it, using a freely downloadable tool called SQLTXPLAIN. This new edition has been expanded to include AWR, Oracle 12c ...
### Oracle Fusion Middleware Developer's Guide for Oracle TopLink #### 概述 《Oracle Fusion Middleware Developer's Guide for Oracle TopLink》是针对Oracle TopLink技术的一份详细指南。这份文档为Oracle ...
Oracle Application Framework Developer's Guide 12.1.3是一份详尽的技术文档,由Oracle公司发布,旨在帮助开发者利用Oracle框架开发应用程序。这份指南不仅包含对于Oracle E-Business Suite用户的基本入门指导,还...
Oracle Programmer's Hand Book - Beginner
### Oracle Database Administrator's Guide 关键知识点 #### 一、Oracle 11g 概述 - **版本**:Oracle 11g Release 2 (11.2),这是Oracle数据库管理系统的一个重要版本,包含了多项改进和新功能。 - **版权信息**...
This book is an easy-to-understand guide to building Oracle8i (Oracle's "Internet database") Web applications using a variety of tools -- PL/SQL, HTML, XML, WebDB, and Oracle Application Server (OAS)....
《121wfag Oracle Workflow Administrator's Guide》是Oracle公司为管理员提供的一份详细指南,旨在帮助用户理解和管理Oracle Workflow系统。Oracle Workflow是Oracle数据库中一个强大的工作流管理系统,它支持业务...
### Oracle ADF 11g Release 1 (11.1.1.7.0):Fusion Developer's Guide #### 一、概述 Oracle Application Development Framework (ADF) 是一个全面且集成的 Java 应用程序开发框架,用于构建企业级的业务应用...
《Oracle Spatial Developer's Guide》是Oracle公司为开发者提供的一份详尽指南,专注于其空间数据库解决方案——Oracle Spatial。Oracle Spatial是Oracle数据库的一个扩展模块,它提供了处理地理空间数据的能力,...
《Oracle SOA Suite 11g Developer's Cookbook》是一本专为Oracle SOA Suite开发者设计的实战指南,旨在帮助读者深入理解和应用Oracle SOA Suite 11g的各种功能和技术。Oracle SOA Suite作为一套全面的面向服务架构...