Wechat: yu389741| Email: gisdqy@163.com

Shop:https://www.giserdqy.com/shop

ArcPy批量掩膜裁剪栅格/图像


           我在测绘院实习的时候,根据某些实际的工作需求,从批量裁剪矢量图层想到也想搞一个栅格/影像批量裁剪,在ArcGIS中掩膜裁剪栅格/图像是非常好用的,掩膜裁剪工具很好用,既能矢量裁剪,也能栅格/图像裁剪。实际工作中,可能会面临大批量数据处理,ArcGIS现有的工具箱不能满足要求的情况下,不得不想想构建模型迭代器,或者Python脚本用以处理批量处理的问题了。

假如是栅格/影像标准图幅分幅,通过searchcursor获取每行一个几何属性,name作为图幅名称作为分割的栅格/影像的名称,依次掩膜裁剪并放到一个FileGDB下,每一个图幅名称也是FileGDB的名称。以下是编成脚本工具的代码,是类似于ArcToolbox里的工具,在这下其实有不少自带的脚本工具。

try:
    import arcpy
    arcpy.env.workspace=arcpy.GetParameterAsText(0) #gdb_path
    Rasters=arcpy.GetParameterAsText(1) #image
    in_features=arcpy.GetParameterAsText(2) #split_featureclass
    myRaster=arcpy.Raster(Rasters)
    env=arcpy.env.workspace  
    for  i in arcpy.da.seachcursor(in_features,"SHAPE@,name"):
        a=arcpy.CreateFileGDB_management(env,i[1])
        arcpy.RasterToGeodatabase_conversion(arcpy.sa.ExtractByMask(myRaster,i),a)     
    arcpy.AddMessages("Run Successful!")

except:   
    arcpy.AddMessages("Run failed!")



 

转载自:https://blog.csdn.net/qq_14906811/article/details/74779813