来自:http://bbs.esrichina-bj.cn/ESRI/redirect.php?goto=newpost&tid=5682
任何一个几何体都可以看做有三部分组成, 比如说一个矩形,那么这个矩形几何体由边界,外部,和内部组成. 那么它和另外的几何体的关系就可以通过这三个部分来界定.
现在有某个多边形几何体A, 想找到与A边界有重合,但是不存在交叉的另外一个多边形几何体.也就是它们公共部分的面积为零. 那么这个字符串为:"F***T****",第一个F表示不能有重合部分,第五个位置的T表示边界要有重合,其它的关系不需要关心就用"*"来表示就可以了.
T表示对应的关系要为真时进入结果集
F表示对应的关系要为假时进入结果集
*表示对应的关系真假无所谓,都可以进入结果集
这九个关系取交集,最终的结果为满足条件的结果集.
ISpatialFilter.SpatialRel设置为esriSpatialRelRelate,并且设置SpatialRelDescription为某个字符串。该字符串的构造方法:
该字符串为长度为9, “*********”;每一个“*“可以换为”T“或”F“,T表示True,F表示False。具体怎样构造根据具体需要来定。这样就相当于自定义了一个空间关系。每一个字符从左到右分别对应一下的关系
1 interior interior
2 interior boundary
3 interior exterior
4 boundary interior
5 boundary boundary
6 boundary exterior
7 exterior interior
8 exterior boundary
9 exterior exterior
这9个关系是分别从几何体的内部,边界,外部来区分的,所有的几何体之间的拓扑关系不外乎这9个关系的组合。
按照你的想法,应该把字符串设置为”T**T*****",
最终的代码可以是:
spfilter.SpatialRel=esriSpatialRelate;
spfilter.SpatialRelDescription = ”T**T*****";
你可以试一下看看结果是否正确,如果不行的话,再调整一下字符串就可以了。
分享到:
相关推荐
ArcEngine二次开发代码,调试可运行,可实现属性查询、空间查询和统计功能!供初学者练习使用.........
c#+arcengine 空间查询属性查询c#+arcengine 空间查询属性查询
基于arcengine空间查询统计
基于arcengine开发的一个空间查询代码。初学者可以参考下,空间查询是一个经常要用到的功能,它是通过给定一定的范围,查询得到在这个空间范围内的要素的查询方式。下面的代码是在返回鼠标点击点周围长宽100个地图...
基于ArcEngine的GIS软件二次开发 实现地图空间查询功能(通过在地图上画多边形查询所选要素的属性表) 通过画多边形实现空间查询 如果需要通过画直线查询属性,只需将代码注释段 的注释去掉,再将其下面的那段...
ARCENGINE空间分析
vs2010c#开发arcengine实现按属性查询和按位置(空间)查询(类似于arcmap的按位置选择和按属性选择)
很完整的空间分析实现代码,并、交、补、缓冲区等等都有
arcengine空间分析,有一些缓冲,叠加,查询分析
ArcEngine空间分析代码,主要以方法的形式呈现
呵呵,本人自己做的arcengine9.2软件开发包帮助文档使用视频,适合初级入门者,不懂得如和使用英文帮助文档的。 先唠叨两句自己的心得体会:在开始学习的时候不要有畏惧感觉,一看到英文帮助文档,好家伙,那么庞大...
7. ArcEngine中使用上下左右键移动地图功能的实现 15 8. 缓冲区的创建 16 9. C#制作鹰眼全过程(引自ESRI中国社区) 18 10. ArcEngine中拓扑的使用- - 20 11. 为什么使用接口编程{转载} 23 12. ArcEngine中闪烁目标 26...
韩鹏的ARCENGINE 源韩鹏的ARCENGINE 源代码韩鹏的ARCENGINE 源代码代码
ArcEngine二次开发实例笔记,是作者自己在研究生三年的ArcEngine92开发的实践过程中一点一滴积累起来的财富,相信笔记中记录的66个实例也是你ArcEngine二次开发中遇到的难题,因为现在已经很少接触GIS二次开发,所以...
简单的ArcGIS二次开发基于ArcEngine的查询功能
ArcEngine简单教程——要素的属性查询、空间查询完整demo,包括要素图层的空间查询、属性查询 备份链接:链接:https://pan.baidu.com/s/1h5sRKIczpFErXhw4UPyLww 提取码:lw27 教程博客:...
代码经我调试运行可行,目前没有出现bug,也希望大家提出修正意见。 代码主要实现了自己设置查询语句,查询结果在地图上闪烁,居中显示并且高亮
ArcEngine简单教程——数据属性:属性表、识别(Identify);删除图层 等功能实现Demo。包括实现右击TOC可以显示数据属性表、删除图层,双击Map可以识别地图属性 备份连接:链接:...
数据库、ArcCatalog空间数据源正常访问,数据库设置没问题时,ArcEngine连接SDE时报"ORA-12560: TNS: 协议适配器错误"的解决办法;ArcEngine连接SDE总结;ArcSDE:C#打开SDE数据库的几种方式总结