修复数千个小的重叠多边形?


21

我正在使用ArcMap 10.3。

我有一层不同的土地利用类型。我发现许多多边形相互重叠,因此同一多边形具有两种不同的土地利用类型。

使用@radouxju的答案,我为土地使用层构建了一个拓扑(使用不可重叠的规则)。然后,我使用merge修复了大的重叠多边形。

但是,我有数千个小的重叠多边形。我可以手动修复所有这些问题,这将需要一些时间。

有没有更快速的方法来解决所有这些错误?

在此处输入图片说明

在此处输入图片说明


我已经更新了地图以显示所有土地使用类型。多边形彼此重叠;不碎。


2
请问整合工具对你的工作?
Fezter

@Fezter我不这样认为,因为它们的多边形没有相同的面积,并且我不能对整个图层使用相同的XY公差。
闪亮的

1
@aelwan:此数据的目标是什么?您是否正在创建要供其他人使用的数据(就像您是数据的创建者一样)?还是要“清理”以用于地图或分析?我问的原因是这些数据看起来像垃圾数据。它超出了GIS分析的范围,需要完全重新数字化,并且需要具有权威(工作知识)的人才能对这些边界的位置做出明智的决策。否则,我将仅保留数据。
alexGIS '16

@alexGIS对于数据有多糟糕,我完全同意。但是,那是我得到的最佳数据。我正在尝试进行分析。
闪亮的

Answers:


6

@Adam Cara提出的担忧非常有效。但是,当我查看自相交时,似乎大多数不是在2个大型多边形之间的边界上的细小碎屑,就是坐在另一个多边形内的大多边形的不连续碎屑/孤岛。在这种情况下,擦除重叠,并分配溶解的重叠,可以使用最近邻居(以先到者为准)的属性。

处理:

arcpy.Intersect_analysis("Landuse2b #","D:/Scratch/mpart.shp","ALL","#","INPUT")
arcpy.MultipartToSinglepart_management("mpart","D:/Scratch/spart.shp")
arcpy.Dissolve_management("spart","D:/Scratch/dissolved_1.shp","#","#","SINGLE_PART","DISSOLVE_LINES")
arcpy.Erase_analysis("Landuse2b","dissolved_1","D:/Scratch/erased.shp","#")
arcpy.DeleteField_management("spart","FID_Landus;OBJECTID;Lnduse2013;Shape_Leng;Shape_Area")
arcpy.SpatialJoin_analysis("spart","erased","D:/Scratch/sj_1.shp","JOIN_ONE_TO_ONE","KEEP_ALL"…..)
arcpy.Merge_management("sj;erased","D:/Scratch/merge_1.shp"….)
arcpy.Dissolve_management("merge_1","D:/Scratch/dissolved.shp","Lnduse2013","#","SINGLE_PART","DISSOLVE_LINES")

测试:

arcpy.Intersect_analysis("dissolved #","D:/Scratch/test.shp","ALL","#","INPUT")

信息:

  • 正在执行:与“ dissolved#”相交D:\ Scratch \ test.shp ALL#INPUT
  • 开始时间:2016年4月22日星期五10:16:07
  • 阅读功能...
  • 破解功能...
  • 组装特征...
  • 警告000117:警告生成空输出。
  • 成功2016年4月22日星期五10:16:09(经过的时间:2.34秒)

请注意,此消息表示最终Dissolve的输出中没有自相交

结果:

https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=sharing


1
此解决方案使其“整洁”,而不是“正确”。如果OP不必担心将与“乳制品”和“绵羊/牛肉”重叠的区域现在重新分类为“建筑物/公园/其他”,以及在将输入与输出进行比较时看到的其他此类任意重新分类,则此解决方案有效。话虽如此,这是一个优雅的工作流程,不错的工作。
alexGIS '16

1
有了这样的数据,没人知道什么是正确的
FelixIP 2016年

7

如果您的多边形是细长的,则消除命令可以很好地将它们合并为较大面积的多边形或最长的边。

如果多边形是重叠的,则可能有一种更简单的方法,但是我会选择重叠到单独的图层,然后将它们合并在一起,创建条并使用消除命令。


感谢您的时间和帮助。我的多边形重叠。为了遵循您的答案,我如何选择重叠到单独的图层?构建拓扑后,重叠部分显示为区域错误。
闪亮的

只需在多边形图层上运行相交(resources.arcgis.com/CN/HELP/MAIN/10.1/index.html#//…)。相交的结果将是该层中的所有重叠。
iRfAn 2015年

@iRfAn谢谢你跑了相交,我得到了重叠。
闪亮的

@Bryan Waller我尝试遵循您的建议:我使用“相交”将重叠部分选择为单独的图层;然后将它们合并为“但未创建任何SILVERS”。使用消除命令后,我仍然可以找到同一多边形具有两种不同的土地利用类型。任何帮助,将不胜感激。您可以在此处goo.gl/0aE3wq
闪亮的

6
  1. 选择一个较小的区域,然后转换为两个形状文件,以查看此过程是否有效。
  2. 在s1和s2中创建一个名为test(数字)的新字段。
  3. 相交两个形状文件S1和S2。
  4. 重叠区域将在单独的文件中标识,例如,名为Common1(图中的阴影区域)。
  5. 计算现场测试为“通用”中的1。
  6. 联合S1和Common
  7. 在此处输入图片说明从测试字段中选择1 并删除阴影区域。
  8. 现在合并s2和通用。擦除命令可用于擦除公共区域。

@Shampe感谢您的帮助。我的重叠部分在同一个shapefile中,而不是在两个shape文件中。
闪亮的

6

您是否考虑过将各个土地利用类别分解为单独的shapefile,以便以此方式进行处理。我首先想到运行一个相交,但是我发现以上失败。如果您有七个单独的shapefile,则可以更轻松地对其进行操作。

我的主要问题是,如果存在重叠,您是否有一个等级会赢得类并最终显示?例如:如果“耕种”和“乳制品”重叠,您保留哪个?解决了该层次结构后,一次将2个类相交,从最低的类开始到最高的类。如果您的输出在给定的相交处为空,则表示它们不相交。


2
您在这里提出了最重要的问题:如何对重叠进行分类?仅使数据“整洁”并不意味着它是“正确的”。
alexGIS '16

@alexGIS再次,我同意你的看法。但是,鉴于此分析的目的以及数据重叠多边形的面积较小,与固定重叠相比,重叠的类别不是主要目标。
闪亮的

出于另一个原因,这可能是一个好主意。重叠可能表示田间边界的变化和作物随时间的变化。
nmtoken

5

创建拓扑后,就可以确定错误。

在显示错误的列表中,您可以选择所有相同类型的错误,右键单击此列表,然后选择“修复”。在您的情况下,解决方法是“创建要素”,如果两个多边形重叠,它将创建一个新的多边形。这是第一步(请注意,您可以通过将联合工具与土地利用层作为单输入使用,然后将多部分转换为单部分工具来实现类似的结果(但是重叠部分仍然会重叠,因此您需要删除其中一个属性值),或将多边形转换为线然后再转换为多边形(但是然后松散属性,则需要空间连接来恢复属性)

第二步将包括删除小多边形。问题是您实际上没有规则来决定要保留哪个属性值。然后,我最喜欢的工具是消除工具,您可以在其中选择将小多边形合并到哪个相邻多边形(基于最大共享边界或最大面积)

最后说明:如果您确实有优先级土地利用类别的规则,请按位置迭代选择小的多边形(没有标签)以通过降低优先级顺序来分配每个土地利用类别,并使用字段计算器来分配它们标签。


4

我同意其他人关于多边形是重叠还是条状的看法时,从这张图片中我看到的是,您正在向所有人展示。我建议您更改土地使用的符号系统颜色。这样,您可以看到应该去哪一个。您显示给我们的粉红色是一种很难辨认的颜色,对您来说可能很耗时。

在第二部分中,我将选择所有重叠或细长的多边形并将其导出到新的shapefile中。这样,您可以识别他们的土地用途。


谢谢你的帮助。我已经更新了地图以显示所有土地用途的颜色。
闪亮的

4

一个可能的解决方案,如果您有Spatial Analyst或3D Analyst,则可以使用(多边形到栅格转换)工具将土地利用多边形转换为栅格图像,以确保不会出现重叠的多边形,因为您无法获得重叠的像素。然后,如果仍需要矢量格式,则使用(栅格转多边形)工具将栅格转换回多边形。在这种情况下,请选择高分辨率像元大小(详细像元大小)以获取高质量的多边形,但是您需要考虑内存。您可能需要通过更改像元大小来尝试几次,直到对结果满意为止。如果输出多边形不完美,可能需要对输出多边形进行一些平滑处理,但这取决于您是否至少拥有标准许可证适用于ArcGIS Desktop。我知道这不是一件容易的事,但可以解决您的问题。


4

检查多边形之间的少量间隙或重叠部分以找到公差,并使用具有适当公差值的Arctoolbox中的“集成”工具。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.