ArcPy按掩膜提取ExtractByMask的边界问题

问题描述

按掩膜提取是GIS数据处理中常用的功能之一。按照官方的示例,使用ArcPy的ExtractByMask方法可实现提取,代码如下:

  1 import arcpy
  2 from arcpy import env
  3 from arcpy.sa import *
  4 
  5 env.workspace = "C:/sapyexamples/data"
  6 outExtractByMask = ExtractByMask("elevation", "mask.shp")
  7 outExtractByMask.save("C:/sapyexamples/output/maskextract")

但实际提取结果,边界出现明显锯齿和异常值。

2024-05-19_112239

使用工具箱工具截切的默认效果如下:

2024-05-19_112226

解决方案

这应该是ArcPy的Bug,也有解决方案,可以使用arcpy.gp.ExtractByMask_sa方法来平替:

  1 import arcpy
  2 from arcpy import env
  3 from arcpy.sa import *
  4 
  5 env.workspace = "C:/sapyexamples/data"
  6 arcpy.gp.ExtractByMask_sa("elevation", "mask.shp","maskextract")
posted @ 2024-05-23 22:25  我也是个傻瓜  阅读(183)  评论(0编辑  收藏  举报