python调用arcpy根据shp文件裁剪geotif图

python调用arcpy根据shp文件裁剪geotif图

import arcpy
from arcpy import env
import os
from arcpy.sa import *

#环境设置
env.workspace = ‘D:/’

#要裁剪的原图
raster=‘D:/raw.tif’

#shp文件所在的文件夹
path=r’D:/shpfile/’

#裁剪结果保存图
savepath=r’D:/out/’

files= os.listdir(path)
for f in files: # 循环读取路径下的文件并筛选输出
if os.path.splitext(f)[1] == “.shp”:
name=os.path.splitext(f)[0]
input_shape=path+f
out=savepath+name+’.tif’
rd=arcpy.sa.Raster(raster)
arcpy.env.extent=rd.extent
outExtractByMask=ExtractByMask(raster, input_shape)
outExtractByMask.save(out)## 标题
python调用arcpy根据shp文件裁剪geotif图

把代码保存为.py 文件
然后打开arcgis里的python GUI界面
然后python调用arcpy根据shp文件裁剪geotif图
然后file→open打开你的.py文件
python调用arcpy根据shp文件裁剪geotif图
最后选择run→run module 或快捷键F5

不过发现调用arcpy的ExtractByMask()裁剪geotif图的方法效率感人,可以参考调用gdal库进行裁剪https://blog.****.net/weixin_43355359/article/details/109059708