ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Python实现snap:对齐多张遥感影像的空间范围
[打印本页]
作者:
熊熊出没
时间:
2024-5-12 21:53
标题:
Python实现snap:对齐多张遥感影像的空间范围
本文先容基于
Python
中ArcPy模块,实现基于
栅格图像
批量裁剪
栅格图像
,同时
对齐
各个栅格图像的
空间范围
,
统一
其各自
行数
与
列数
的方法。
首先明白一下我们的需求。现有某一地区的多张栅格遥感影像,其固然都大致对应着同样的地物范围,但不同栅格影像之间的
空间范围
、
行数
与
列数
、像元的
位置
等都不完全一致;比方,某一景栅格影像会比其他栅格影像多出一行,而另一景栅格影像大概又会比其他栅格影像少一列等等。我们希望可以以其中某一景栅格影像为标准,将全部的栅格影像的具体范围、行数、列数等加以统一。
本文所用到的具体代码如下。
# -*- coding: utf-8 -*-
"""
Created on Thu Dec 29 21:13:19 2022
@author: fkxxgis
"""
import arcpy
tif_file_path = r"E:\02_Project\01_Chlorophyll\ClimateZone\Original"
result_file_path = r"E:\02_Project\01_Chlorophyll\ClimateZone\Original_Snap/"
snap_file_name = r"E:\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")
for tif_file in tif_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
(如下图所示)中运行上述代码。
运行结果后,可以发现所有输出结果文件就具有完全一致的行数与列数了,且其各自的像元位置也是完全一致的。
至此,大功告成。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4