我有保存为LC81520412017282LGN00_ETrF.etrf.tif的50个栅格,以及保存为.shp的多边形shapefile。
尝试在arcgis中使用Clip(Data Management)裁剪此图像,它可以正常工作。但是要批量处理所有图像,我编写了以下脚本
import os
import arcpy
arcpy.env.workspace = "E:/Project"
for root, dirs, files in os.walk('E:/Project/a/r'):
for file in files:
if os.path.splitext(file)[1] == '.tif':
print (file)
arcpy.Clip_management(file,"#",
"E:/Project/be/test.gdb/%file%"
,"be/canal.shp","#","Clipping
Geometry", "NO_MAINTAIN_EXTENT")
上面的脚本抛出“不支持的文件或文件不存在”的错误。
答案 0 :(得分:0)
剪辑管理只是使用您必须使用的shapefile将shapefile剪辑为“剪切”光栅文件
ExtractByMask (in_raster, in_mask_data)
这是一个例子
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtractByMask = ExtractByMask("elevation", "mask.shp")
outExtractByMask.save("C:/sapyexamples/output/maskextract")