(Arcgis)Python3.8批量裁剪利用shp文件裁剪tif栅格影像数据

使用环境:
pycharm2020
arcgis pro 中的python3.8

一、pycharm中设置python编译器。左上角"文件"------"设置"------找到python interpreter------找到arcgis pro安装文件夹中的python

python 复制代码
D:\ArcGIS Pro\bin\Python\envs\arcgispro-py3\python.exe

使用arcgis pro原因 :自带arcpy库,不需要进行pip install安装。(我是有python官网上的,但是不知道为什么装不了arcpy,所以用的这个方法)(代码是python3编写的,如果用arcgis 10.x版本,是python2需要自行修改)

二、python编程

设置 input_folder 变量为包含要裁剪的栅格影像数据的文件夹路径。shapefile 变量应该是用于裁剪的 shapefile 文件的路径。output_folder 变量是用于存储裁剪后的影像数据的文件夹路径。

代码会循环处理输入文件夹中的每个 .tif 文件,使用 Extract by Mask 工具将其裁剪为指定的 shapefile 边界,并将结果保存到输出文件夹中。

请确保在运行代码之前,你已经安装了 ArcPy 库,并根据你的实际情况修改了文件夹路径和文件名。
文件夹路径中如果包含了非UTF-8编码(中文)的字符,第一行加上# -*- coding: utf-8 -*-

python 复制代码
# -*- coding: utf-8 -*-

import arcpy
import os

# 设置工作环境
arcpy.env.workspace = r"C:\path\to\workspace"
arcpy.CheckOutExtension("Spatial")

# 输入文件夹路径和shapefile路径
input_folder = r"C:\path\to\input_folder"
shapefile = r"C:\path\to\shapefile.shp"

# 输出文件夹路径
output_folder = r"C:\path\to\output_folder"
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 获取输入文件夹中的所有tif文件
tif_files = [file for file in os.listdir(input_folder) if file.endswith(".tif")]

# 循环处理每个tif文件
for tif_file in tif_files:
    # 输入tif文件路径
    input_tif = os.path.join(input_folder, tif_file)
    
    # 输出tif文件路径
    output_tif = os.path.join(output_folder, tif_file)
    
    # 使用Extract by Mask工具进行裁剪
    arcpy.gp.ExtractByMask_sa(input_tif, shapefile, output_tif)
    
    print(f"Cropped {tif_file} successfully!")

print("All files cropped successfully!")
相关推荐
啊阿狸不会拉杆5 分钟前
《机器学习导论》第 10 章-线性判别式
人工智能·python·算法·机器学习·numpy·lda·线性判别式
超龄超能程序猿6 分钟前
Python 反射入门实践
开发语言·python
玄同76514 分钟前
Python Random 模块深度解析:从基础 API 到 AI / 大模型工程化实践
人工智能·笔记·python·学习·算法·语言模型·llm
AIFarmer18 分钟前
在EV3上运行Python语言——环境设置
python·ev3
yunsr23 分钟前
python作业3
开发语言·python
历程里程碑24 分钟前
普通数组-----除了自身以外数组的乘积
大数据·javascript·python·算法·elasticsearch·搜索引擎·flask
曦月逸霜25 分钟前
Python快速入门——学习笔记(持续更新中~)
笔记·python·学习
喵手27 分钟前
Python爬虫实战:采集菜谱网站的“分类/列表页”(例如“家常菜”或“烘焙”频道)数据,构建高可用的美食菜谱数据采集流水线(附CSV导出)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集菜谱网站数据·家常菜或烘焙频道·构建高可用食谱数据采集系统
喵手28 分钟前
Python爬虫实战:硬核解析 Google Chrome 官方更新日志(正则+文本清洗篇)(附 CSV 导出)!
爬虫·python·爬虫实战·零基础python爬虫教学·csv导出·监控谷歌版本发布历史·获取稳定版更新日志