码迷,mamicode.com
首页 > 其他好文 > 详细

ArcGIS消除图斑重叠错误

时间:2018-05-27 14:40:39      阅读:4215      评论:0      收藏:0      [点我收藏+]

标签:情况   IV   coding   overlap   sha   odi   over   return   部分   

在生产中,经常会遇见有图斑重叠这种拓扑错误的矢量,大部分情况下,需要人工比对影像处理。但是如果只需要用到这些矢量的形状、面积,可以在ArcMap中用以下方法,快速消除图斑重叠错误,不必手工处理。

如下图所示,两个图斑存在重叠部分。
技术分享图片
技术分享图片

首先,使用 Intersect 工具,得到矢量所有相交部分,这时,相交结果矢量里,每一个图斑都有一个或以上形状完全相同的图斑存在。然后,使用 Delete Identical 工具,删除形状相同的其他图斑,删除结果就是矢量里所有相交的部分。
技术分享图片

最后,使用 Update 工具,将删除结果更新到源矢量里,这样就将所有重叠部分独立出来,成为单独的图斑。
技术分享图片

把这些步骤,写入脚本保存。

# coding:utf-8
import os
import arcpy


def GetNewFileName(dir, baseName):
    for i in range(1, 100):
        if not os.path.exists(os.path.join(dir, baseName + str(i))):
            return os.path.join(dir, baseName + str(i))
    return os.path.join(dir, baseName)


overlapedShp = arcpy.GetParameterAsText(0)
resultShp = arcpy.GetParameterAsText(1)

resultDir = os.path.split(resultShp)[0]
intersectedShp = GetNewFileName(resultDir, ‘temp‘) + ‘.shp‘

arcpy.Intersect_analysis([overlapedShp], intersectedShp)
arcpy.DeleteIdentical_management(intersectedShp, [‘shape‘])
arcpy.Update_analysis(overlapedShp, intersectedShp, resultShp)
arcpy.Delete_management(intersectedShp)

ArcGIS消除图斑重叠错误

标签:情况   IV   coding   overlap   sha   odi   over   return   部分   

原文地址:https://www.cnblogs.com/sunnyeveryday/p/9095704.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!