Python ArcPy依据矢量图层批量裁剪栅格图层的方法

Python ArcPy依据矢量图层批量裁剪栅格图层的方法本文介绍基于Python中ArcPy模块,基于矢量数据范围,对大量栅格遥感影像加以批量裁剪掩膜的方法。  首先,话不多说,本文所需要的代码如下所

欢迎大家来到IT世界,在知识的湖畔探索吧!

  本文介绍基于PythonArcPy模块,基于矢量数据范围,对大量栅格遥感影像加以批量裁剪掩膜的方法。

Python ArcPy依据矢量图层批量裁剪栅格图层的方法

  首先,话不多说,本文所需要的代码如下所示。

# -*- coding: utf-8 -*-
"""
Created on Tue Dec 13 20:07:48 2022

@author: fkxxgis
"""

import arcpy
from arcpy.sa import *

tif_file_path = "E:/AllYear/Original/"
clip_file_path = "E:/AllYear/Clip/"
shp_file_name = "E:/AllYear/Clip.shp"
arcpy.env.workspace = tif_file_path

tif_file_name = arcpy.ListRasters("*", "tif")

for tif_file in tif_file_name:
    key_name = tif_file.split(".tif")[0] + "_C.tif"
    clip_file_name = clip_file_path + key_name
    clip_file = ExtractByMask(tif_file, shp_file_name)
    clip_file.save(clip_file_name)

欢迎大家来到IT世界,在知识的湖畔探索吧!

  其中,tif_file_path表示待裁剪栅格文件的保存路径,clip_file_path表示裁剪后栅格文件的保存路径,shp_file_name表示裁剪时所需依据的空间范围矢量文件。

  代码整体思路也很简单:首先,我们基于arcpy.ListRasters()函数,获取tif_file_path路径下原有的全部.tif格式的图像文件,并以列表的形式存放于tif_file_name中;随后,逐一取出tif_file_name列表中的栅格文件,进行裁剪处理。其中,因为是批量操作,所以需要对每一个输出的裁剪后栅格文件加以分别命名;我们就先通过字符串截取的方式,将原有栅格文件名称的.tif后缀前的全部内容保留,并在其后添加一个字段_C,表示是裁剪后的栅格文件,并将其作为裁剪后栅格文件各自的名称。随后,通过ExtractByMask()函数,基于矢量数据,对栅格文件加以裁剪,并最终通过.save()函数加以保存。

  通过上述代码,我们即可在clip_file_path路径中看到批量裁剪后的栅格遥感影像文件。

  这里需要注意,由于我们用到了ArcPy模块,因此如果大家的Python版本是3.0及以上,则需要在ArcMap软件中的Python运行框,或其对应的IDLE(如下图所示)中运行上述代码。

Python ArcPy依据矢量图层批量裁剪栅格图层的方法

  至此,大功告成。

欢迎关注:疯狂学习GIS

Python ArcPy依据矢量图层批量裁剪栅格图层的方法

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/37298.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信