Arcpy 多线程批量重采样脚本

Arcpy 多线程批量重采样脚本

import arcpy
import os
import multiprocessingdef resample_tifs(input_folder, output_folder, cell_size=0.05, resampling_type="BILINEAR"):"""将指定文件夹下的所有 TIFF 文件重采样到指定分辨率,并输出到新文件夹中。参数:input_folder (str): 输入 TIFF 文件所在的文件夹路径。output_folder (str): 重采样后的 TIFF 文件输出到的文件夹路径。cell_size (float): 重采样后的分辨率大小。默认为 symbol。resampling_type (str): 重采样方法。可选值包括 "NEAREST_NEIGHBOR", "BILINEAR", "CUBIC", "MAJORITY"。默认为 "BILINEAR"。"""# 检查输入文件夹是否存在if not os.path.exists(input_folder):raise FileNotFoundError(f"输入文件夹不存在: {input_folder}")# 如果输出文件夹不存在,则创建if not os.path.exists(output_folder):os.makedirs(output_folder)print(f"已创建输出文件夹: {output_folder}")# 设置环境工作空间arcpy.env.workspace = input_folder# 获取所有 TIFF 文件tif_list = arcpy.ListRasters("*", "TIF")if not tif_list:print("没有找到 TIFF 文件。")returnprint(f"找到 {len(tif_list)} 个 TIFF 文件。开始重采样...")# 遍历每个 TIFF 文件并进行重采样for tif in tif_list:input_path = os.path.join(input_folder, tif)output_path = os.path.join(output_folder, tif)try:print(f"正在处理: {tif}")# 使用 Resample_management 工具进行重采样arcpy.management.Resample(in_raster=input_path,out_raster=output_path,cell_size=cell_size,resampling_type=resampling_type)print(f"成功重采样并保存到: {output_path}")except arcpy.ExecuteError:print(f"ArcPy 错误处理文件 {tif}: {arcpy.GetMessages(2)}")except Exception as e:print(f"错误处理文件 {tif}: {e}")print("所有文件重采样完成。")def main():output_dir2 = r"./010_世界人口数据 _0.1/"    #保存new重采样文件symbol = 0.25 # 重采样大小tasks = [# # ("./01_land_cover", "./China_01_landcover"),# ("./Global_tif_0.1_LC", output_dir2, symbol, "MAJORITY"),("010_世界人口数据", output_dir2, symbol, "NEAREST"),] # 创建进程池,进程数设为CPU核心数pool = multiprocessing.Pool(processes=multiprocessing.cpu_count())# 准备并行执行的任务results = []print(tasks)for input_dir11, output_dir22,cell_size ,resampling_type in tasks:result = pool.apply_async(resample_tifs, args=(input_dir11, output_dir22,cell_size ,resampling_type))results.append(result)# 关闭进程池,等待所有任务完成pool.close()pool.join()print("所有任务已完成。")# 示例用法
if __name__ == "__main__":main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/477121.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何将Latex的文章内容快速用word+Endnote排版

1 第一步 Endnote文件是无法直接导入bib文件的。需要将reference.bib的参考文献内容,通过JabRef软件打开并另存为refefence.ris文件 下载JabRef软件:https://www.jabref.org/#download 导出为ris格式文件 2 第二步 通过Endnote导入ris文件&#xff0…

[论文阅读] 异常检测 Deep Learning for Anomaly Detection: A Review(三)总结梳理-疑点记录

《深度异常检测综述》总结梳理 目录 一、研究背景与挑战二、深度异常检测方法分类三、实验评估四、结论在这篇文章中,**异常检测的异构性**主要从以下几个方面来理解:如何理解多源数据融合的困难“学习正常性的特征表示”与“用于特征提取的深度学习”在…

网络爬虫——爬虫项目案例

本节将全面讲解如何通过实战爬虫项目解决复杂问题。结合最新技术和实际开发需求,案例将涵盖完整开发流程,包括需求分析、实现代码、优化方法和常见问题解决。力求实现高效、可扩展的爬虫项目架构,帮助开发者提升实战能力。 案例 1&#xff1a…

实时质检-静音检测分析流程(运维人员使用)

前言 用户在实时质检时,开启了主叫或被叫静音检测功能,但是听录音时,主叫或被叫明明没有任何声音,但是通话没有被挂断。 说明主叫或被叫的静音阈值太低,导致系统没有把很小的声音认定为静音;或者检测非静音…

MetaGPT实现多动作Agent

异步编程学习链接 智能体 LLM观察思考行动记忆 多智能体 智能体环境SOP评审路由订阅经济 教程地址 多动作的agent的本质是react,这包括了think(考虑接下来该采取啥动作)act(采取行动) 在MetaGPT的examples/write_…

【MySQL】MySQL数据库基础

【MySQL】MySQL数据库基础 🥕个人主页:开敲🍉 🔥所属专栏:MySQL🍋 🌼文章目录🌼 1. 数据库基础 1.1 什么是数据库 1.2 主流数据库 1.3 MySQL基本使用 1.3.1 服务器,数据…

进程控制(详解)

一.进程创建 1.fork函数 在linux中fork函数是⾮常重要的函数&#xff0c;它从已存在进程中创建⼀个新进程。新进程为⼦进程&#xff0c;⽽原进 程为⽗进程。 #include <unistd.h>pid_t fork(void);返回值&#xff1a;⾃进程中返回0&#xff0c;⽗进程返回⼦进程id&…

RFSOC 49dr 开发板,支持12收5发

硬件支持: 1,12收5发 2.4X25G光模块 3.J30J扩展接口 4.支持多板同步&#xff0c;多TILE同步

生产制造领域的多元化模式探索

在当今全球化和信息化的时代背景下&#xff0c;生产制造领域正经历着前所未有的变革。随着消费者需求的多样化、市场竞争的加剧以及技术的不断进步&#xff0c;传统的生产制造模式已经难以满足现代企业的需求。因此&#xff0c;多种生产制造模式应运而生&#xff0c;以适应不同…

基于YOLOv8深度学习的智慧农业果园果树苹果类果实目标检测系统(PyQt5界面+数据集+训练代码)

随着智慧农业技术的快速发展&#xff0c;果园管理逐渐向自动化和智能化方向迈进&#xff0c;传统的果园管理方式面临着高成本、效率低以及人工依赖程度大的挑战。在这种背景下&#xff0c;基于人工智能的目标检测技术为果园管理提供了一种全新的解决方案。本研究设计并实现了一…

【泥石流;风险;脆弱性;风险评估;川藏公路北线|论文解读4】川藏高速公路北线泥石流风险评估

【泥石流&#xff1b;风险&#xff1b;脆弱性&#xff1b;风险评估&#xff1b;川藏公路北线|论文解读4】川藏高速公路北线泥石流风险评估 【泥石流&#xff1b;风险&#xff1b;脆弱性&#xff1b;风险评估&#xff1b;川藏公路北线|论文解读4】川藏高速公路北线泥石流风险评…

mysql的优化

1、概念 在应用开发的初期&#xff0c;由于数据量较小&#xff0c;开发人员更重视功能上的实现&#xff0c;随着应用系统上线后&#xff0c;数据量急剧增长&#xff0c;很多性能问题逐渐显现&#xff0c;对使用的影响也越来越大&#xff0c;此时这些问题语句就称为整个系统的性…

栈的应用,力扣394.字符串解码力扣946.验证栈序列力扣429.N叉树的层序遍历力扣103.二叉树的锯齿形层序遍历

目录 力扣394.字符串解码 力扣946.验证栈序列 力扣429.N叉树的层序遍历 力扣103.二叉树的锯齿形层序遍历 力扣394.字符串解码 看见括号&#xff0c;由内而外&#xff0c;转向用栈解决。使用两个栈处理&#xff0c;一个用String,一个用Integer 遇到数字:提取数字放入到数字栈…

【Python系列】 Base64 编码:使用`base64`模块

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Mac 修改默认jdk版本

当前会话生效 这里演示将 Java 17 版本降低到 Java 8 查看已安装的 Java 版本&#xff1a; 在终端&#xff08;Terminal&#xff09;中运行以下命令&#xff0c;查看已安装的 Java 版本列表 /usr/libexec/java_home -V设置默认 Java 版本&#xff1a; 找到 Java 8 的安装路…

C++ STL - vector/list讲解及迭代器失效

vector 使用 vector 是一个动态数组. 构造/拷贝构造/赋值重载函数 int main() {// 是一个模板, 在实例化的时候, 需要指明类型std::vector<int> first; // 一个空的数组std::vector<int> second (4,100); // 设置初始空间大小为 4 个int, 全部初始化为 100std::v…

libphone desktop编译

linphone-desktop 在ubuntu20.04 下编译 linphone 介绍 Linphone是一款遵循GPL的开源网络视频电话系统&#xff0c;支持多种平台如Windows、Linux、Android等。它基于SIP协议&#xff0c;提供语音、视频通话及即时文本消息功能。核心功能包括SIP用户代理、音频视频Codec支持、…

根据已知站点寻找路网的最短路径

背景 接上期&#xff0c;基于MATSim的交通仿真&#xff0c;其中有一块非常重要的就是公交的仿真&#xff0c;这也是当初选择MATSim技术路线的一个重要原因&#xff0c;现在业务给出的场景是上传一些有序站点及其经纬度&#xff0c;需要通过算法来适配对应的路网&#xff0c;由…

Jenkins + gitee 自动触发项目拉取部署(Webhook配置)

目录 前言 Generic Webhook Trigger 插件 下载插件 ​编辑 配置WebHook 生成tocken 总结 前言 前文简单介绍了Jenkins环境搭建&#xff0c;本文主要来介绍一下如何使用 WebHook 触发自动拉取构建项目&#xff1b; Generic Webhook Trigger 插件 实现代码推送后&#xff0c;触…

leetcode 919.完全二叉树插入器

1.题目要求: 完全二叉树 是每一层&#xff08;除最后一层外&#xff09;都是完全填充&#xff08;即&#xff0c;节点数达到最大&#xff09;的&#xff0c;并且所有的节点都尽可能地集中在左侧。设计一种算法&#xff0c;将一个新节点插入到一棵完全二叉树中&#xff0c;并在…