当前位置: 首页 > news >正文

批量将目录下的栅格数据重采样至不同分辨率

import os import rasterio from rasterio.warp import calculate_default_transform, reproject, Resampling # ===================== 仅修改路径即可 ===================== # 1. 输入文件夹(原始TIFF所在路径) INPUT_DIR = r"/.../your/input/path/" # 2. 输出文件夹(重采样后的文件保存路径) OUTPUT_DIR = r"/.../your/output/path/" # 3. 分辨率根据自己需要修改,这里我设置0.01度 TARGET_RES = 0.01 # 分辨率:0.01度 RESAMPLE_METHOD = Resampling.bilinear # ====================================================================== def resample_tif(input_path: str, output_path: str): with rasterio.open(input_path) as src: transform, width, height = calculate_default_transform( src.crs, src.crs, src.width, src.height, *src.bounds, resolution=TARGET_RES ) out_meta = src.meta.copy() out_meta.update({ 'crs': src.crs, 'transform': transform, 'width': width, 'height': height, 'dtype': src.dtypes[0] }) with rasterio.open(output_path, 'w', **out_meta) as dst: for i in range(1, src.count + 1): reproject( source=rasterio.band(src, i), destination=rasterio.band(dst, i), src_transform=src.transform, src_crs=src.crs, dst_transform=transform, dst_crs=src.crs, resampling=RESAMPLE_METHOD ) print(f"✅ 完成:{os.path.basename(output_path)}") if __name__ == '__main__': # 自动创建输出文件夹(不存在则创建,存在不报错) os.makedirs(OUTPUT_DIR, exist_ok=True) tif_files = [f for f in os.listdir(INPUT_DIR) if f.lower().endswith('.tif')] if not tif_files: print("❌ 输入文件夹未找到TIFF文件!") exit() # 批量处理所有.tif文件 print(f"📂 开始处理,共找到 {len(tif_files)} 个TIFF文件...") for tif_name in tif_files: # 拼接输入/输出完整路径 input_path = os.path.join(INPUT_DIR, tif_name) # 输出文件名:原文件名 + 后缀 out_name = os.path.splitext(tif_name)[0] + ".tif" output_path = os.path.join(OUTPUT_DIR, out_name) # 执行重采样 resample_tif(input_path, output_path) print(f"\n🎉 所有文件重采样完成!结果保存在:{OUTPUT_DIR}")
http://www.jsqmd.com/news/862809/

相关文章:

  • 2026年最佳手机阅读器推荐:付费也值得的精品选择
  • 解密Palantir系列一:1. 决策的三元闭环
  • 专业做绝对值编码器的服务商
  • C 语言通讯录(终版)|新手踩坑全总结 + 最终可运行代码博客简介
  • MySql存储引擎与索引
  • AI API 实践三:为什么要关注 Token,而不只是请求次数?
  • 淮南家长必看:淮南哪里学少儿编程靠谱?原来这样选才不踩坑。
  • 油雾净化设备哪家技术更专业
  • VMware虚拟机安装及配置
  • AI API 中转站完全指南:从 Claude、GPT 到“满血”“翻车”,一次搞懂整个 AI API 圈子
  • 2026年想做美缝施工?专业靠谱的美缝施工究竟哪家好?
  • 阿盖洛印相×真实银盐底片对比实测:27组DxO基准图像分析证明——MJ v6.2已逼近1930年代Kodak Azo纸动态范围(附测试集下载)
  • 一幅精细绝伦的[城市或地点]微缩模型
  • 从CDP“3A”到千亿美元目标:联想集团的创新路径与AI原生转型
  • python中二维数组初始化陷阱
  • (QBuffer配合 QDataStream)二进制序列化
  • 影刀RPA 从0到1:自动化系统架构收敛与工程化演进总结
  • 面向诊断场景的云产品知识库设计方案
  • 今日实测有效的淘宝闪购外卖/京东外卖/美团外卖红包天天领取口令怎么领今天可用的外卖红包神券?
  • GPT5.5位置编码从绝对到相对的演进这个变化影响了上下文质量
  • 如何找到最适合你的私有化IM?
  • DDD 中的代码组织:按技术层分 vs 按领域模块分,哪种才是正解?
  • Light: Science Applications | 从平坦能带到量子行走:非阿贝尔Thouless泵浦的新篇章
  • 搜索引擎精准找免费行业报告?掌握这些关键词技巧就够了
  • 随钻连斜传感器操作手册:定向探管安装调试、故障排查与保养要点
  • 2026最新诚信优选 安庆市迎江区黄金回收白银回收铂金回收彩金回收门店TOP5排行榜+联系方式推荐_转自TXT - 盛世金银回收
  • 如何让Mac永不休眠:自动鼠标移动器的终极指南
  • 【零基础部署】Docker 部署 n8n 自动化工作流保姆级教程
  • 深入解析Hash碰撞:原理、成因与主流解决方案
  • 今天实测有效!2026淘宝京东天猫618红包领取口令最新推荐怎么天天领618淘宝京东天猫红包?