名词解释:
Boundary(边界):

只有线和面才有边界。面的边界是指组成面的框架线;线的边界是指线的二个端点(即起点和终点,不包括中间部分的节点);点没有边界。
Interior(内部):
除去边界后剩下的部分即是一个要素的内部。因此线的内部指除去端点后的部分;面的内部是指除去框架线后的部分;点的内部就是点本身。
Exterior(外部):
除去该要素后的剩余的空间范围即是该要素的外部。
空间关系具体描述(Queryable Spatial Relationships):
示意图:

空间关系:

1, esriSpatialRelTouches(邻接)
应用范围:
除点与点之间的关系外,其它的要素之间都可以具有该关系。
描述:
如果二个要素有相同的边界,且它们内部不相交的话,称这二个要素之间的关系是邻接的关系,图1-1、2-1、3-1、3-2,注意图3-3中点与线是包涵的关系。
当查询要素和被查询要素具有该关系时,即spatialRel的值是esriSpatialRelTouches,则会返回查询要素。
2, esriSpatialRelCrosses (交叉)
应用范围:
线与面,线与线等。不能用于面与面(面与面相交部分是面,不能二个要素中的最高维数低一),面与点,点与线(二个要素的维数差2)。
描述:
如果二个要素的相交部分不为空,并且相交部分形状的维数比两个要素中最高维数低1(即线面交叉是线,线线交叉是点)则称这二个要素具有交叉关系,图2-4、4-1,图2-1中中二条线的关系属于邻接关系,而不属于交叉关系,因为它们的内部相交部分为空。
当查询要素和被查询要素具有该关系时,即spatialRel的值是esriSpatialReCrosses,则会返回查询要素。
3, esriSpatialRelOverlaps(重叠关系)
应用范围:
线与线,面与面之间,其它的不具有该关系。
描述:
二个同维的要素之间的相交部分的图形具有与这二个要素相同的维数的,且不与任何一个要素完全相同,则称这二个要素重叠。图1-2、2-2均是重叠关系,但是2-3中的二条线不是重叠关系,因为相交的部分与黄色的线完全相同。
当查询要素和被查询要素具有该关系时,即spatialRel的值是esriSpatialRelOverlaps,则会返回查询要素。
4,esriSpatialRelWithin和esriSpatialRelContains(包涵)
应用范围:
所有要素类之间均具有该关系。
描述:
该关系可细分为一个要素完全位于另一个要素的内部和一个要素完全包涵另外一个要素,它们是相对的关系。如果说要素1完全位于要素2的内部,则要素2完全包涵要素1。
当查询的要素完全位于被查询的要素内部的话(即spatialRel的值是esriSpatialRelWithin),则返回被查询的要素;同时如果查询的要素完全被被查询的要素包括时(即spatialRel的值是esriSpatialRelContains)则返回被查询的要素。
5,esriSpatialRelIntersects(相交)
描述:
相交关系是一个广义的关系,包括上述4种关系。因此如果spatialRel的值是esriSpatialRelIntersects关系的话,只要查询要素和被查询要素之间满足上述四种空间关系的任一种空间关系,即可返回被查询的要素。
6,esriSpatialRelRelate
描述:
需要通过SpatialRelDescription属性对二个要素的空间关系进行定制,可以对二个要素的内部,外部,边界之间的相交的情况进行描述,例如:字符串'****T***'代表的是二个要素共享边界。

 

对理解esriSpatialRelRelate 的九交模型很有帮助。

AO中的空间关系的更多相关文章

  1. AO中的GraphicsLayer---------元素的容器

    come from AO中的GraphicsLayer---------元素的容器 图形元素(Graphic Element)是存储于GraphicsLayer中的,本文主要涉及的接口和类主要有以下几 ...

  2. ArcGIS AO中控制图层中要素可见状态的总结

    一.DefinitionExpression 实现新建查询图层,查询结果要素为选中状态 该接口可以通过两种方法来控制要素的可见状态. 思路1 通过该接口的 DefinitionExpression 方 ...

  3. ArcGIS二次开发实践— — 遍历ToolBox中的工具!

    在AO中,打开“文件A”的基本流程是: 1.创建对应“文件A”类型的WorkspaceFactory: 2.用WorkspaceFactory创建“文件A”的Workspace,Workspace可以 ...

  4. AE与AO的区别

    在ArcGis9.0之前,ArcObject还不是一个独立的产品,一直捆绑在Desktop产品中,只要你购买了desktop产品中的一个,你就可 以使用arcboject开发.从ArcGis9.0开始 ...

  5. JavaScript中的面向对象程序设计

    本文内容目录顺序: 1.Object概念讲述: 2.面向对象程序设计特点: 3.JavaScript中类和实例对象的创建: 4.原型概念: 5.原型API: 6.原型对象的具体使用:7.深入理解使用原 ...

  6. 透过一道面试题来探探JavaScript中执行上下文和变量对象的底

    在做面试题之前,我们先搞清楚两个概念 执行上下文(execution context) 变量对象(variable object) 执行上下文 我们都知道JavaScript的作用域一共分三种 全局作 ...

  7. 变量对象VO与活动对象AO

    变量对象VO 变量对象VO是与执行上下文相关的特殊对象,用来存储上下文的函数声明,函数形参和变量.在global全局上下文中,变量对象也是全局对象自身,在函数上下文中,变量对象被表示为活动对象AO. ...

  8. 【AO笔记】有关TIN数据集的常用介绍

    写论文查了很多TIN的接口和属性,特此来记录一下. 转载请注明出处:博客园@秋意正寒,B站同名. 未完待续 1. Tin数据集在ArcGIS中的描述 Tin数据集在磁盘中,被ArcGIS以文件夹形式管 ...

  9. 对JavaScript中闭包的理解

    在前端开发中闭包是一个很重要的知识点,是面试中一定会被问到的内容.之前我对闭包的理解主要是"通过闭包可以在函数外部能访问到函数内部的变量",对闭包运用的也很少,甚至自己写过闭包自己 ...

随机推荐

  1. 【CF827E】Rusty String 调和级数+FFT

    [CF827E]Rusty String 题意:给你一个01串,其中部分字符是'?',?可以是0或1,求所有可能的d,满足存在一种可能得到的01串,在向右移动d格后与自己相同. $n\le 5\tim ...

  2. Git 使用篇二:搭建远程服务器

    一般做一个私人的项目,不希望开源的,是不会放在GitHub上的,这个时候我们需要建里一个自己的Git远程服务器,方便小组成员开发. 这里以Centos云服务器为例: 第一步 如果自己的服务器没有git ...

  3. SQL Fundamentals || DCL(Data Control Language) || 角色ROLES

    SQL Fundamentals || Oracle SQL语言 语句 解释 Create user Creates a user(usually performed by a DBA) Grant ...

  4. python面向对象高级:Mixin多重继承

    继上一篇学习笔记:python面向对象的继承与多态,本篇就Mixin扩展类的方法写下学习笔记 Mixin Mixin编程是一种开发模式,是一种将多个类中的功能单元的进行组合的利用的方式,这听起来就像是 ...

  5. iOS 项目架构tabbarController 嵌套 navbarController

    简单思路: 进入APP,首先加载 splashVC,加载完成之后,在viewDidAppear里跳转到loginVC,(这里一定要在viewDidLoad方法里新建loginVC跳转). 登陆成功之后 ...

  6. iOS多线程编程之GCD的基本使用(转载)

    一.主队列介绍 主队列:是和主线程相关联的队列,主队列是GCD自带的一种特殊的串行队列,放在主队列中得任务,都会放到主线程中执行. 提示:如果把任务放到主队列中进行处理,那么不论处理函数是异步的还是同 ...

  7. 网络攻防大作业——用python实现wifi破解

    实验内容:不借助其他工具,用python暴力破解wifi 实验工具:python3.6+pywifi模块+密码字典 实验环境:Windows7(64bit) 实验思路: 首先搜索附近的wifi,将这些 ...

  8. Making the Grade---poj3666(dp)

    题目链接:http://poj.org/problem?id=3666 题意:有一个n个数的序列a,现在要把这些序列变成单调增的或者单调减的序列 b , 其价值为|A1 - B1| + |A2 - B ...

  9. 匿名内部类的参数引用只能是final,可能遇到的问题及其解决

    这个是我碰到比较多次的问题,一开始是不解,不过查了下大家都觉得没什么,而且只是加个final好像影响也不大,于是我就直接加个final了事,之后也不管了 直到昨天: 遇到了这个宿命般的问题 难道解决方 ...

  10. extjs错误,看到红色才能让自己记住知识点

    1.Cannot call method 'getColumnCount' of undefined Hi, maybe you use colModel before rendering.Notic ...