简单利用Arcpy批量化裁剪遥感数据
在进行数据处理时候,有很多步骤是可以使用简单编程进行批量化操作,这里简单介绍使用Arcpy批量化裁剪数据。
首先,在Arcmap的工具箱中,裁剪栅格数据的方法有好几个,有工具箱-数据管理工具-栅格-栅格处理-裁剪,还有Spatial Analyst 工具-提取分析-按掩膜提取。这两个工具都可以进行栅格数据裁剪,其中“裁剪”工具参数较多,函数中需要注意的参数更多,其界面和函数说明如图1所示。而“按掩膜提取”工具参数只有输入裁剪数据、输入裁剪边界和输出,简单易用(图2)。
图1 “裁剪”工具界面以及函数说明
图2“按掩膜提取”工具界面以及函数说明。
关于使用“裁剪”工具进行裁剪数据的文章已经够多了,也就不再赘述。下面介绍使用“按掩膜提取”批量化裁剪栅格数据。
下面展示一些 内联代码片
。
# -*- coding:utf-8 -*-
##========================
##批量栅格数据投影转换
##使用ARCGIS自带的python2.7编译器。
import arcpy
from arcpy import env #定义env
from arcpy.sa import *
arcpy.env.workspace = "F:/data/" #定义工作空间及数据路径
rasters = arcpy.ListRasters("*", "tif") #遍历工作空间中的tif格式数据
inMask = "F:\\data\\Clip.shp"#裁剪文件及路径
for raster in rasters:
outpath = "F:/data/CJ1/" +str(raster) #输出存储路径以及输出文件名,这里使用的是读取到的数据名称
outCJ = ExtractByMask(raster, inMask)
outCJ.save(outpath) #输出存储裁剪的栅格数据
print(str(raster)) #输出读取并裁剪的栅格数据名称
print("over!!!!!!!!")
代码十分简单,在学习的路上做的笔记,如有问题错误,欢迎指正!