第
Python中ArcPy栅格裁剪栅格(批量对齐栅格图像范围并统一行数与列数)
本文介绍基于Python中ArcPy模块,实现基于栅格图像批量裁剪栅格图像,同时对齐各个栅格图像的空间范围,统一其各自行数与列数的方法。
首先明确一下我们的需求。现有某一地区的多张栅格遥感影像,其虽然都大致对应着同样的地物范围,但不同栅格影像之间的空间范围、行数与列数、像元的位置等都不完全一致;例如,某一景栅格影像会比其他栅格影像多出一行,而另一景栅格影像可能又会比其他栅格影像少一列等等。我们希望可以以其中某一景栅格影像为标准,将全部的栅格影像的具体范围、行数、列数等加以统一。
本文所用到的具体代码如下。
#-*-coding:utf-8-*-
CreatedonThuDec2921:13:192025
@author:fkxxgis
importarcpy
tif_file_path=rE:\02_Project\01_Chlorophyll\ClimateZone\Original
result_file_path=rE:\02_Project\01_Chlorophyll\ClimateZone\Original_Snap/
snap_file_name=rE:\02_Project\01_Chlorophyll\ClimateZone\Original\F_LC.tif
arcpy.env.workspace=tif_file_path
arcpy.env.snapRaster=snap_file_name
tif_file_list=arcpy.ListRasters(*,tif)
fortif_fileintif_file_list:
key_name=tif_file.split(.tif)[0]+S.tif
arcpy.Clip_management(tif_file,
#,
result_file_path+key_name,
snap_file_name,
#,
#,
MAINTAIN_EXTENT)
其中,tif_file_path是保存有我们原有栅格图像的路径,result_file_path是裁剪后各个结果图像的保存路径(记得在这一路径后加一个正斜杠/,否则之后输出结果的路径会有问题),snap_file_name是裁剪其他栅格图像时,所用的模板栅格图像因为我们要统一各个栅格图像的行号与列号,所以很显然,这里这个模板图像就需要找各个栅格图像中,行数与列数均为最少的那一景图像。这里需要注意,如果大家的各个栅格图像中,行数与列数最少的栅格不是同一个栅格,那么可以分别用行数最少、列数最少的这两个栅格分别作为模板,执行两次上述代码。
代码整体思路也很简单:首先,我们基于arcpy.ListRasters()函数,获取tif_file_path路径下原有的全部.tif格式的图像文件,并以列表的形式存放于tif_file_list中;随后,逐一取出tif_file_list列表中的栅格文件,进行裁剪处理。这里的裁剪我们是通过arcpy.Clip_management()函数来实现的,其各项参数的具体含义大家可以参考官方帮助文档,我们这里就只对本文中需要修改的参数加以介绍。
其中,第一个参数就是当前循环所用的栅格图像文件,第三个参数是结果文件的保存路径与文件名,第四个参数则是模板文件;最后一个参数MAINTAIN_EXTENT是为了保证得到的裁剪后结果图像严格与模板图像的行数、列数相匹配。除此之外,几个#表示我们对其他参数暂时不配置。
此外,在代码开头的这句arcpy.env.snapRaster=snap_file_name,表明我们将以所选用的模板文件为标准,使得输出的结果文件的像元大小、图像范围等与模板文件保持一致。这里需要注意,这一句代码与前述的MAINTAIN_EXTENT参数缺一不可只有二者同时出现,才可以保证输出结果与模板文件是严格一致的。
另一方面,由于我们用到了ArcPy模块,因此如果大家的Python版本是3.0及以上,则需要在ArcMap软件中的Python运行框,或其对应的IDLE(如下图所示)中运行上述代码。
运行结果后,可以发现所有输出结果文件就具有完全一致的行数与列数了,且其各自的像元位置也是完全一致的。
您可能关注的文档
最近下载
- 化工装置年度设备检修工程施工组织设计方案.docx VIP
- 成人住院患者跌倒风险评估及预防,中华护理学会团体标准.pptx VIP
- 2026-2030中国凝胶成像仪市场竞争格局与发展前景规划报告.docx
- 儿童心理学【儿童心理学】.pptx VIP
- 二年级数学下册综合练习题 (51套含答案).pdf VIP
- 治疗特征在于纺锤体和着丝粒相关复合物亚基3(SKA3)基因的高表达水平的癌症的方法.pdf VIP
- 1.高考英语阅读理解真题精选(附答案解析)打印版.docx
- 六年级数学上册天天练53.docx VIP
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读.docx VIP
- 苏斯博士绘本拼读课.pptx VIP
原创力文档

文档评论(0)