ArcGIS查找空洞多边形
现需要用ArcGIS将多边形面层中是"空洞"的要素查找出来。
代码思路
一开始没有思路,于是写了代码,基本流程如下:
1)遍历需要判断的要素(可通过属性筛选);
2)检查某一要素相邻的所有要素;
3)反向检查某一要素相邻要素的相邻图斑:如果相邻图斑的个数唯一,且相邻图斑的FID与某一要素的FID相同,则某一要素的相邻要素在某一要素"内部",某一要素则为"空洞"要素。
注意:如果数据量过大,可只输出"空洞"要素的FID,然后利用属性查询在ArcGIS中查找即可;对于边界的判断可能有误,最好人工核查。
工具思路
1)用"要素转点"(feature to point)将面转点,目的是保留属性,转换时选中inside选项;
2)用"面转线"(polygon to line)将面转线;
3)再用"要素转面"*feature to polygon)将生成的线转面,转换时用第一步转成的点做label features,并选中preserve attributes选项。
没有相应属性的多边形就是原来的空洞。
ArcGIS查找空洞多边形的更多相关文章
- ArcGis融合小多边形到相邻多边形
在有的时候,我们的数据中可能会有许多细小的图斑,这些并不是我们想要的,需要将它们合并到周围的图斑中,如果一个一个手动合并,那工作量之大简直不敢想象.现在借助ArcGIS的Eliminate工具可 ...
- OpenCV探索之路(十一):轮廓查找和多边形包围轮廓
Canny一类的边缘检测算法可以根据像素之间的差异,检测出轮廓边界的像素,但它没有将轮廓作为一个整体.所以要将轮廓提起出来,就必须将这些边缘像素组装成轮廓. OpenCV中有一个很强大的函数,它可以从 ...
- Triangulation by Ear Clipping(耳切法处理多边形三角划分)
使用EarClipping三角化多边形(翻译) ---Triangulation by Ear Clipping(http://www.geometrictools.com/Documentation ...
- Triangulation by Ear Clipping(耳切法处理多边形三角划分)(转载)
转载自: https://www.cnblogs.com/xignzou/p/3721494.html 使用EarClipping三角化多边形(翻译) ---Triangulation by Ear ...
- ElasticSearch6.5.0【Java客户端之TransportClient】
说明 TransportClient:网上流传最多的客户端,目前最新版本 Java REST Client:官方推荐的客户端, 官方:我们要在Elasticsearch 7.0的版本中不赞成使用Tra ...
- mysql空间扩展 VS PostGIS
http://www.cnblogs.com/LBSer/p/3629149.html 功能 Mysql spatial extension PostGIS 空间索引 仅MyISAM支持R树索引,I ...
- 使用ElasticSearch完成百万级数据查询附近的人功能
上一篇文章介绍了ElasticSearch使用Repository和ElasticSearchTemplate完成构建复杂查询条件,简单介绍了ElasticSearch使用地理位置的功能. 这一篇我们 ...
- OpenCV-Python 轮廓:更多属性 | 二十四
目标 在本章中,我们将学习 凸性缺陷以及如何找到它们 查找点到多边形的最短距离 匹配不同的形状 理论和代码 1. 凸性缺陷 我们看到了关于轮廓的第二章的凸包.从这个凸包上的任何偏差都可以被认为是凸性缺 ...
- ArcGIS案例学习笔记-查找重叠的多边形
ArcGIS案例学习笔记-查找重叠的多边形 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于多边形图层,查找具有重叠(相互覆盖)的面 数据: 方法: 1. ...
随机推荐
- Subversion detected an unsupported working copy version
关于这个错误:Subversion detected an unsupported working copy version while checking the status of 'XXXX'. ...
- 【python】python安装步骤
1.官网下载python 官网地址:https://www.python.org/getit/ 2.下载完成后点击安装 勾选Add python to PATH 是可以自己去配置环境变量的 注意:这里 ...
- ibatis.net:第七天,QueryWithRowDelegate
xml <statement id="FindOrdersByCustomer" parameterClass="string" resultClass= ...
- 实用ExtJS教程100例-009:ExtJS Form无刷新文件上传
文件上传在Web程序开发中必不可少,ExtJS Form中有一个filefield字段,用来选择文件并上传.今天我们来演示一下如何通过filefield实现ExtJS Form无刷新的文件上传. 首先 ...
- 《UNIX环境高级编程(第3版)》
<UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison ...
- SVG 相关整理
1. 中文参考手册: http://www.runoob.com/svg/svg-reference.html SVG HTML5 资源教程 http://www.html5tricks.com/ta ...
- JAVA 项目中使用 H2 数据库
为什么要使用H2数据库 H2数据库是可以嵌入到JAVA项目中的,因为只需要导入一个jar包即可,所以非常的方便. 项目中导入H2 将H2的jar包放到classpath里即可,我是用的maven,ma ...
- python3.7新增关键字:async、await;带来和kafka-python==1.4.2的兼容性问题
python3.7新增关键字:async.await: kafka-python==1.4.2用到了关键字async,由此带来兼容性问题 解决方案: 升级kafka-python==1.4.4 使用p ...
- idea 2018.1破解激活方法,有效期至2099年 idea 激活 破解
最近笔者测试了好多破解Idea的方法,最简单操作方法莫过于用license server激活,但是此类方法对最新的2017.3.2版已经无效了,亲测哦,如下图所示. 针对新版的IntelliJ ID ...
- System.Reflection.TargetException:“非静态方法需要一个目标。”
报错:TargetException, 非静态方法需要一个目标,非静态方法 如果实例为null,调用实例方法会报如上错. 解决办法: 检查实例是否为null,考虑什么情况下实例为null,然后排除实例 ...