在对遥感影像进行处理分析时,往往需要对栅格影像进行感兴趣区域提取。可以采用ArcGIS Spatial Analyst中的Extract by Mask操作,也可以结合Python和ArcPy批量提取栅格数据。
使用同一个掩膜数据文件对多个栅格影像数据进行批量提取操作的代码如下:
# coding=utf-8
import os
import arcpy
from arcpy import env
from arcpy.sa import *
## 使用掩膜数据对栅格数据进行批量裁剪
def mask_clip(raster_path, mask, out_path):
n = 0
rasters = os.listdir(raster_path) ## 遍历栅格文件,获得所有栅格数据的文件名
for raster in rasters:
raster_name = raster.split('.')[0] ## 文件名去掉后缀
raster_type = raster.split('.')[-1] ## 文件名后缀,用于类型筛选,只要tif文件
if raster_type == 'tif':
in_raster = os.path.join(raster_path, raster) ## 获取待裁剪的tif文件的路径(raster只是文件名,读取的时候需要加上路径)
arcpy.CheckExtension("Spatial")
out_extract_mask = ExtractByMask(in_raster, mask) ## 执行裁剪操作,结果为out_extract_mask
out_raster = os.path.join(out_path, raster_name+'_new.tif') ## 输出文件路径,raster_name+'_new.tif'为文件名
out_extract_mask.s

本文介绍如何使用Python和ArcPy在ArcGIS Spatial Analyst中,通过掩膜数据批量裁剪多个栅格影像。适合处理大量遥感数据的高效提取方法。
最低0.47元/天 解锁文章
3260





