现需要用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工具,通过编写代码实现多边形面层中空洞要素的识别和处理。包括将面转点、转线、再转面的过程,以及检查相邻要素的方法来确定空洞要素。
1625

被折叠的 条评论
为什么被折叠?



