R报错: Error in compareRaster(rasters) : different extent
解决方案: 重采样
library(raster)
# 设置文件路径
reference_tif_path <- "path/to/reference.tif"
input_folder_path <- "path/to/input/folder"
output_folder_path <- "path/to/output/folder"
# 读取参考栅格
reference_raster <- raster(reference_tif_path)
# 获取输入文件夹中所有tif文件的列表
tif_files <- list.files(input_folder_path, pattern = "\\.tif$", full.names = TRUE)
# 创建输出文件夹(如果不存在)
if (!dir.exists(output_folder_path)) {
dir.create(output_folder_path)
}
# dir.exists函数用于检查指定路径的文件是否存在
# dir.create函数用于创建一个新的文件夹
# !否定操作符
# if语句用于检查一个条件是否为真,如果条件为真,执行后面的代码块
# 批量处理每个tif文件
for (tif_file in tif_files) {
# 读取源栅格
source_raster <- raster(tif_file)
# 使用双线性插值重新采样
resampled_raster <- resample(source_raster, reference_raster, method='bilinear')
# 构建输出文件路径
output_tif_path <- file.path(output_folder_path, basename(tif_file))
# 写入重新采样后的栅格
writeRaster(resampled_raster, output_tif_path, format="GTiff", overwrite=TRUE)
}
标签:raster,different,函数,reference,rasters,resample,报错
From: https://blog.csdn.net/m0_51008589/article/details/140519732