当前位置: 首页 > news >正文

ArcSDE vs. Oracle Spatial 14

· ArcSDE

ArcSDE中有以下的空间关系判断函数:

空间操作

描述

ST_EnvIntersects

矩形的边界满足ST_Intersects关系

ST_Intersects

任意部分有相交,等价于判断空间关系的DE-9IM[1] 字符串表达是否是以下之一:

T********

*T*******

***T*****

****T****

ST_Contains

image

T*****FF*

ST_Crosses

image

T*T******

0********

ST_Disjoint

image

FF*FF****

ST_Equals

image

T*F**FFF*

ST_Overlaps

image

T*T***T**

ST_Touches

image

FT*******

F**T*****

F***T****

ST_Within

image

T*F**F***

ST_Relate

判断是否满足DE-9IM字符串表达关系

类比上一节中的查询条件,以下的SQL在ArcSDE中实现了相同的操作:

SQL> select continent from continent where st_within(shape,st_geometry('POLYGON((0 0,180 -90,180 90,0 0))',2))=1;

CONTINENT

---------------------------------------

Australia

SQL> select continent from continent where st_relate(shape,st_geometry('POLYGON((0 0,180 -90,180 90,0 0))',2), 'T*F**F***')=1;

CONTINENT

---------------------------------------

Australia

· 空间关系运算的性能

空间关系运算以世界洲界数据进行空间运算测试,因为这个数据的边界相对复杂,我们可以大概看一下这个数据的节点个数:

SQL> select t.continent,t.shape.numpts from continent t;

CONTINENT SHAPE.NUMPTS

--------------------------------------- ------------

Asia 42423

North America 65453

Europe 27437

Africa 7178

South America 11564

Oceania 4887

Australia 4018

Antarctica 20205

这样数量级(4千~6.5万)节点的数据应该可以更好地反映空间关系运算的性能。

1. 相交

Oracle Spatial:

SQL> select continent from continent where sdo_relate(geom, SDO_GEOMETRY(2003,NULL,NULL,SDO_ELEM_INFO_ARRAY(1,1003,1),SDO_ORDINATE_ARRAY(0,0,180,-90,180,90,0,0)), 'mask=ANYINTERACT')='TRUE' ;

CONTINENT

---------------------------------------

Asia

Oceania

Antarctica

North America

Africa

Australia

已选择6行。

已用时间: 00: 00: 04.11

ArcSDE:

SQL> select continent from continent where st_intersects(shape,st_geometry('POLYGON((0 0,180 -90,180 90,0 0))',2))=1;

CONTINENT

---------------------------------------

Asia

North America

Africa

Oceania

Australia

Antarctica

已选择6行。

已用时间: 00: 00: 00.24


[1] http://docs.codehaus.org/display/GEOTDOC/Point+Set+Theory+and+the+DE-9IM+Matrix

相关文章:

  • 菜单扩展
  • Windows Phone 7的商务功能依然精彩
  • oracle客户端plsql设置(windows7)
  • 什么是云计算 以及能给我们带来什么
  • 字符串反序
  • Windows Phone 7: A New Kind of Phone
  • 跟我学做c#皮肤美化(五)
  • ADO.NET Entity Framework学习笔记(5)ESQL查询语句
  • Windows Phone 7 + Zune 特性视频广告一则
  • 转:Oracle varchar, varchar2的区别
  • ArcSDE vs. Oracle Spatial 15
  • 博客园的管理者_我有话想说
  • dedup util数据块零碰撞算法
  • SQL SERVER 表及索引分区
  • 优秀的专业网站建设网站
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【剑指offer】让抽象问题具体化
  • css系列之关于字体的事
  • CSS中外联样式表代表的含义
  • emacs初体验
  • golang中接口赋值与方法集
  • HashMap ConcurrentHashMap
  • Linux链接文件
  • MD5加密原理解析及OC版原理实现
  • React-生命周期杂记
  • 基于 Babel 的 npm 包最小化设置
  • 前端性能优化--懒加载和预加载
  • 嵌入式文件系统
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 用简单代码看卷积组块发展
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • elasticsearch-head插件安装
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 交换综合实验一
  • $jQuery 重写Alert样式方法
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (七)Knockout 创建自定义绑定
  • (全注解开发)学习Spring-MVC的第三天
  • (十六)Flask之蓝图
  • (十五)使用Nexus创建Maven私服
  • (一)Dubbo快速入门、介绍、使用
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)负载均衡,回话保持,cookie
  • (转载)Google Chrome调试JS
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .net mvc 获取url中controller和action