使用环境:
pycharm2020
arcgis pro 中的python3.8
一、pycharm中设置python编译器。左上角“文件”——“设置”——找到python interpreter——找到arcgis pro安装文件夹中的python
D:ArcGIS ProbinPythonenvsarcgispro-py3python.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 -*-
# -*- coding: utf-8 -*-
import arcpy
import os
# 设置工作环境
arcpy.env.workspace = r"C:pathtoworkspace"
arcpy.CheckOutExtension("Spatial")
# 输入文件夹路径和shapefile路径
input_folder = r"C:pathtoinput_folder"
shapefile = r"C:pathtoshapefile.shp"
# 输出文件夹路径
output_folder = r"C:pathtooutput_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!")
原文地址:https://blog.csdn.net/weixin_44071904/article/details/135720718
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_59356.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!