很简单的方法, 也很有效,自己根据前人们的代码修修改改的做了一个自己可以使用的代码,放在这里自己留着,也供大家使用。
# coding=utf-8
import os
import arcpy
# 设置输入和输出文件夹路径
input_folder = r"D:\data\ERA5_land_monthly\sss" # 输入文件夹路径
output_folder = r"D:\data\ERA5_land_monthly\st_500m" # 输出文件夹路径
# 获取输入文件夹下所有的tif文件
file_list = os.listdir(input_folder)
tif_files = [f for f in file_list if f.endswith('.tif')]
# 遍历每个tif文件进行处理
for tif_file in tif_files:
# 获取原始tif文件的路径和文件名
input_file = os.path.join(input_folder, tif_file)
# 获取输出tif文件的路径和文件名
output_file = os.path.join(output_folder,
tif_file.split('.')[0] + '_500m.tif') # 重命名输出文件,以原始文件名为基础,加上 '500m' 后缀
# 进行栅格数据降尺度
arcpy.Resample_management(input_file, output_file, "500", "NEAREST") # 设置输出栅格单元大小为500米
# 更新输出tif文件的投影信息
arcpy.DefineProjection_management(output_file, arcpy.Describe(input_file).spatialReference)
欢迎指导