在生产中,经常会遇见有图斑重叠这种拓扑错误的矢量,大部分情况下,需要人工比对影像处理。但是如果只需要用到这些矢量的形状、面积,可以在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)

最新文章

  1. 个人博客作业Week1
  2. POJ-1979 Red and Black(DFS)
  3. qunit.js初试
  4. Android 摇一摇之双甩功能
  5. 用Java编写你自己的简单HTTP服务器
  6. 设置配置文件信息时的classpath
  7. MonoBehaviour的事件和具体功能总结
  8. Visual Studio C++ Command Line
  9. 016专家视图测试脚本开发_utility对象
  10. ubuntu 操作系统相关操作
  11. Unexpected end of input 和 Unexpected token var 和 Unexpected token ;
  12. FaceRank-人脸打分基于 TensorFlow 的 CNN 模型
  13. Python BDD自动化测试框架初探
  14. Apache日志分析_shell命令行
  15. 【ZJOI2008】树的统计(树链剖分)
  16. python flask 基础入门
  17. SceneKit做一个旋转的地球效果
  18. PPT在HTML网页上播放方法
  19. python学习第23天
  20. SSH Secure Shell Client安装和使用

热门文章

  1. python 序列化及其相关模块(json,pickle,shelve,xml)详解
  2. 敏捷(Agile)——“说三道四”
  3. C语言中变量的存储方式
  4. PAT1036:Boys vs Girls
  5. capwap学习笔记——初识capwap(二)(转)
  6. 几种扫描二维码工具的User-Agent
  7. datetime日期和时间
  8. Java面试题之对static的理解
  9. 如何在苹果笔记本上装win7系统
  10. 如何去掉word中的回车符??