arcgis影像批量裁剪代码
# -*- coding:utf-8 -*- # Name: ExtractByMask_Ex_02.py # Description: Extracts the cells of a raster that correspond with the areas # defined by a mask. # Requirements: Spatial Analyst Extension # Author: ESRI # Import system modules import arcpy import os from arcpy import env from arcpy.sa import * def getFiles(path): return [ os.path.join(path,file) for file in os.listdir(path)] # Set environment settings #******************************************************************数据所在的文件夹 path="D:/data" env.workspace = path files=getFiles(path+"/NetCDF") for inputdata in files: # Create a scratch name for the Buffer tool output. # The scratch name created will be include 'temp0.shp', # If temp0.shp already exists, the number will be incremented # until the name is unique in the workspace. # scratch_name = arcpy.CreateScratchName("temp", data_type="RasterDataset", workspace=arcpy.env.scratchFolder) # Set local variables inNetCDFFile = inputdata variable = "precip" XDimension = "longitude" YDimension = "latitude" outRasterLayer = scratch_name bandDimmension = "" dimensionValues = "" valueSelectionMethod = "BY_VALUE" # Execute MakeNetCDFRasterLayer arcpy.MakeNetCDFRasterLayer_md(inNetCDFFile, variable, XDimension, YDimension, outRasterLayer, bandDimmension, dimensionValues, valueSelectionMethod) print "Execute MakeNetCDFRasterLayer completely" inRaster = scratch_name #*******************************************************************************************************掩膜 inMaskData = "Export_Output.shp" # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute ExtractByMask outExtractByMask = ExtractByMask(inRaster, inMaskData) # Save the output outExtractByMask.save("D:/jiangxi/"+inputdata) print inputdata # Delete scratch dataset arcpy.Delete_management(scratch_name)