利用Arcmap批量裁剪栅格数据(tif文件)【使用Arcmap自带的python工具】
前期准备
准备好需要裁剪的shp文件、tif数据,注意两者的参考坐标系要一样(一般只要在Arcmap里面显示下图这样的就没什么问题了)
批量裁剪栅格数据Python代码
import sys,os
import glob
import arcpy
tile_dir = "G:/Snow/HDF/2003-2004/result/"
out_dir = "G:/Snow/HDF/2003-2004/clip_tif/"
folder = os.path.exists(out_dir)
if not folder:
os.mkdir(out_dir)
tile_list = glob.glob(tile_dir + '*.tif')
mask = "G:/Snow/ahxzqh/ahxzqh.shp"
for tile_n in tile_list:
myraster = tile_n
rastername = tile_n.split('\\')[-1]
outraster = out_dir + rastername
arcpy.Clip_management(myraster,"#",outraster,mask,"256","ClippingGeometry","NO_MAINTAIN_EXTENT")
print "subseting... the ndvi file " + myraster
tile_dir
是被裁减文件文件夹路径
out_dir
是输出路径
mask
是shp文件路径
对照直接更换路径即可
注意事项:
在arcpy.Clip_management这行代码是设置参数的,在下图对“裁剪”右击可以查看官方帮助文档
语法和参数设置:
语法:Clip_management (in_raster, rectangle, out_raster, {in_template_dataset}, {nodata_value}, {clipping_geometry}, {maintain_clipping_extent})
代码里面的“#”代表无参数的含义,
Arcmap运行
点开工具栏中的Python窗口
直接ctrl+c,ctrl+v复制进去,然后回车→回车,记得是两下回车
最后等待数据处理好即可。