我正在使用ArcGIS Desktop 10.0。
我有一个技巧来删除甜甜圈孔,即将多边形转换为线,然后从线中创建多边形,最后将所有线合并。该策略的缺点在于,会去除实际上是空的并且应保持空的其他孔和空区域。见下图:
我正在使用ArcGIS Desktop 10.0。
我有一个技巧来删除甜甜圈孔,即将多边形转换为线,然后从线中创建多边形,最后将所有线合并。该策略的缺点在于,会去除实际上是空的并且应保持空的其他孔和空区域。见下图:
Answers:
我会尝试使用NO_GAPS 的联盟工具:
NO_GAPS —将为输出中完全被多边形包围的区域创建一个要素。此功能将具有空白属性。
然后,您可以选择具有低于阈值大小的空白属性的要素,并计算其属性与原始多边形相同-或在“编辑器的属性”窗口中复制/粘贴它们。
具有大于阈值大小的空白属性的要素应删除。
从那里,“ 溶解”工具应完成工作。
PolyGeo的解决方案是我自己雇用的并且工作良好(+1)。另一种选择是先对多边形进行少量缓冲,然后再对结果进行相同数量的缓冲(例如+ 1m,然后是-1m)。这也可以很好地工作,但冒着意外连接与缓冲区相邻的多边形的风险很小。它还会增加您的顶点数(可能会或可能不会出现问题)。
您还可以通过遍历每个多边形,基于内圈创建临时多边形并对它们的面积进行测试来编写一个健壮解决方案的脚本。如果它们低于阈值,则可以从几何图形中删除该内环并更新行。该解决方案比PolyGeo的解决方案或我上面提到的缓冲区破解要耗费更多精力,但可能是一种“更纯粹”的方法。
您可以在ArcToolbox中使用“消除多边形零件”工具(数据管理工具->通用化)。您可以指定要移除的最小孔面积/百分比。
这是从多边形中删除湖泊的另一种方法(例如Navteq的邮政编码地图图层)。这对于清理通过地区代码溶解邮政编码地图图层而生成的地区地图图层也很有用。
请注意,这不会解决河流被切入多边形轮廓的问题,但是通过删除内部的甜甜圈孔确实可以改善原始地图图层。