ArcGIS教程:删除重复的要素 总结

一、ArcGIS删除重复的点要素

ArcGIS删除重复的点要素思路和删除线一样,工具Delete Identical里字段选择点经纬度坐标两个字段即可。

(详情见二ArcGIS删除重复的线要素

二、ArcGIS删除重复的线要素

 

1.工具Delete Identical

  与删除重复的要素之点、面一样,这里可以借助重复的线长度相同的思路,用delete identical工具对重复的线进行删除。

  如果数据存储是Geodatabase,直接勾选Shape_Length字段,此工具会比较属性值相同的要素,并进行删除;若是shapefile格式,可先用CalculateGeometry计算线长。

  

 

  2.Dissolve工具

  可以把多个要素,通过指定的属性(属性值相同),溶解成一个要素。

  用Dissolve工具,按字段Shape_Length进行溶解。重复的线要素会被溶解掉。

  3.Planarizelines

  大家所熟知的planarize lines的功能是:在交点处将相交的线打断。除此以外,planarize lines的另外一个功能就是删除重复线。

  Planarize lines在topology工具条上,需配合编辑状态使用。

  (1)备份数据。

  (2)新建字段FIDnew,并用FID字段赋值。为什么要新建这个字段呢,下面一步来解释。

  (3)开始编辑start editing,全选线段,点topology工具条上的planarize lines,保存数据,停止编辑。

  做到这一步,大家会发些,重复的线已经被删除了。但是我们也知道,planarize lines的另外一个功能是打断相交线,原先并不重复的一些线由于相交就被打断了,这是我们不想的。planarize lines处理完后的FID字段值也发生了变化,在上一步中,我们保存了原始的FID值到字段FIDnew中,即使线被打断成两条,它们的FIDnew值保持一样。

  下面我们就需要恢复被打断的线。

  (4)Dissolve溶解。勾选除了FID和Shape_Length以外的其他字段。

  4.创建拓扑

  对于线,有一条拓扑规则Must not overlap,可以查找重复的线。

 

  如下图,被高亮选中的线在属性表里有5条记录,它们完全重合。

  

 

  创建拓扑,并添加规则Must not overlap。在错误监视器里,选中单条错误,右键Subtract,选择删除哪一条线。

  不过该方法不能批量删除多次重复的线,处理起来较麻烦。

  

 

 

 

三、ArcGIS删除重复的面要素

 

1使用ArcGIS工具,组合解决删除重复面

  思路:面生成线——线转面——获取面属性

  (1) Feature to line,将面生成线Data Management Tools\Features\Featureto line。

  (2)featureto polygon将线再转成面new_polygon

  (3)Spatialjoin空间连接属性

  若要保持原面的属性,用feature to point将原面要素类转成点,然后用spatial join与new_polygon进行空间连接,或者在上一步线转面时,Label Features选项勾上原面生成的点。

  2工具Delete Identical

  2.1 计算面质心坐标

  添加两个字段分别记录质心的x和y坐标值,用CalculateGeometry计算X Coordinate of Centroid、YCoordinate of Centroid。

  

 

  2.2 用Delete Identical删除重复的面

  工具界面里勾上2.1中计算的质心x、y坐标字段,此工具会比较属性值相同的要素,并进行删除。

  (注:Delete Identical工具可比较shape字段,即要素的位置,但执行起来效果不佳)

  

 

  3 Dissolve工具

  可以把多个要素,通过指定的属性(属性值相同),溶解成一个要素。

  同2.1,用CalculateGeometry计算面的质心坐标xcenter、ycenter。

  用Dissolve工具,按字段xcenter、ycenter进行溶解。重复的面要素会被溶解掉。

  

 

  但dissolve会丢失没有指定的不同的属性,例如没有勾选的parcelID。因此,该工具适合几何和属性完全重合的面数据。

  4创建拓扑

  对该面要素创建拓扑,使用拓扑规则Must not overlap。

  

 

  红色的部分,即发生的面的重合。借助拓扑内置的解决方案,可以解决该类问题。在错误监视器里,选中单条错误,右键Merge,让重合的两个面融合,可选择融合到哪一个面中去。

  

 

  但是该方法较花费时间,如果有太多的面重合,不推荐。

转载自:https://blog.csdn.net/dragons123456/article/details/82700186

You may also like...