利用arcgis批量裁剪数据(绝对有用的话,我希望你能点个赞)
问题描述做实验需要用到2020-2060年间的降水数据;但是一个一个裁剪显得很麻烦,就开始使用arcpy工具批量裁剪降雨量数据
我的原始数据是这样的:
我需要批量裁剪出这款区域内的数据
先在arcgis工具箱里面找到裁剪工具(arcgis里面有两个裁剪工具,一个是裁剪矢量的,在分析工具里面;另一个裁剪栅格数据的,在数据管理工具里面),我裁剪的是栅格,用的数据管理工具里面的裁剪工具。
找到该工具,打开帮助,并定位到语法和帮助这一栏,这里有详细的语句注释和用例:
至此已经有了arcpy裁剪工具的核心代码,改代码输入基本只有文件名(字符串类型)和固定参数:
arcpy.Clip_management(myraster,"#",outraster,mask,"#","ClippingGeometry","MAINTAIN_EXTENT")
至此,要完成批量 *** 作,只需要不断将文件名作为变量输入即可:
用python写个循环:
import sys,os
import glob
import arcpy
tile_dir = "H:/MNSY_HN/pre_tif/2060/"
out_dir = "H:/MNSY_ZDN/pre_tif_ZDN/2060/"
folder = os.path.exists(out_dir)
if not folder:
os.mkdir(out_dir)
tile_list = glob.glob(tile_dir + '*.tif')
mask = "H:\MNSY_ZDN\ZDN_OSM\zdn.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,"#","ClippingGeometry","MAINTAIN_EXTENT")
print "subseting... the ndvi file " + myraster
调出arcpy界面,将代码复制进去执行
tile_dir是被裁减文件文件夹
out_dir是输出路径
mask是shp文件路径
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)