任务分析:在采用遥感方法研究植被物候变化时,需要下载长时间序列(本文用到的是30年)GIMMS 3G NDVI数据。原始数据是全球的,预处理过程包括几何校正、裁剪、投影变换、Hants时间序列谐波分析等等。在这过程中,由于是长时间序列数据,需要重复操作,当然ArcGIS软件提供了批量(Batch)操作功能,但是,需要我们手动添加,比较费时费事,此时我们首先想到的是用Python进行。
Extract by Mask:
Batch:
既然Python很了不起,那么我们就得利用它为我们服务。
一、完整程序代码:
import arcpy
arcpy.CheckOutExtension("spatial")
arcpy.gp.overwriteOutput=1
arcpy.env.workspace = "F:\\Modis_16\\1Moasic"
rasters = arcpy.ListRasters("*", "tif")
mask= "F:\\Vegetation Change\\Data\\Bound\\bound_Buffer_Polygon.shp"
for raster in rasters:print(raster)out= "F:\\Vegetation Change\\Data\\GIMMS Data\\new\\"+"ma_"+raster[0:8]arcpy.gp.ExtractByMask_sa(raster, mask, out)print("ma_"+raster[0:8]+" has done")
print("All done")
二、注意事项:
1.arcpy.gp.overwriteOutput=1即覆盖之前的文件;
2.输入的是.tif文件,输出的是Grid文件;
3.raster[0:8]表示从第0个开始取8个字符串;
4.bound_Buffer_Plygon.shp后缀名不可或缺。
三、运行情况:
刘一哥GIS:专注测绘地理信息教育、探索地理奥秘、分享GIS价值!