You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python循环批量处理.tif文件实现大西洋居中转换

批量将太平洋居中的TIFF文件转换为大西洋居中

你可以通过glob模块批量获取目标TIFF文件,结合循环复用你已有的转换逻辑,实现批量处理。以下是完整的实现代码:

import rioxarray
import glob
import os

# 配置路径:替换为你的实际文件夹路径
input_folder = "path/to/your/input_tifs"
output_folder = "path/to/your/output_tifs"

# 确保输出文件夹存在,不存在则自动创建
os.makedirs(output_folder, exist_ok=True)

# 获取输入文件夹下所有.tif格式文件
all_tif_files = glob.glob(os.path.join(input_folder, "*.tif"))

# 循环处理每个文件
for file_path in all_tif_files:
    # 提取文件名,保持输出文件名与输入一致
    file_name = os.path.basename(file_path)
    save_path = os.path.join(output_folder, file_name)
    
    # 执行坐标转换与保存
    raster_data = rioxarray.open_rasterio(file_path)
    raster_data = raster_data.assign_coords(x=(((raster_data.x + 180) % 360) - 180)).sortby('x')
    raster_data.rio.to_raster(save_path)
    
    # 可选:打印处理进度
    print(f"完成处理:{save_path}")

额外说明

  • 如果需要处理子文件夹中的TIFF文件,可将glob.glob的参数改为:
    all_tif_files = glob.glob(os.path.join(input_folder, "**/*.tif"), recursive=True)
    
  • 针对超大TIFF文件,可在open_rasterio中添加chunks参数实现分块读取,避免内存溢出:
    raster_data = rioxarray.open_rasterio(file_path, chunks={"x": 1000, "y": 1000})
    

内容的提问来源于stack exchange,提问作者Noname87

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 12:45:25