R语言将多个.tif文件合并为一个0.08km分辨率的网格数据文件
使用R语言将多个.tif文件合并为一个0.08km分辨率的网格数据文件
本教程介绍如何使用R语言将多个0.08km分辨率的.tif文件(例如玉米、小麦、水稻面积数据)合并为一个包含所有数据的.tif文件,并保持0.08km的分辨率。
示例代码:
library(raster)
# 读取文件1、文件2和文件3
file1 <- raster('path/to/file1.tif')
file2 <- raster('path/to/file2.tif')
file3 <- raster('path/to/file3.tif')
# 确定新文件的范围和分辨率
new_extent <- extent(file1)
new_res <- c(0.08, 0.08)
# 创建一个空的raster对象
new_raster <- raster(ncol=ncol(file1), nrow=nrow(file1), extent=new_extent, res=new_res)
# 将文件1、文件2和文件3的数据复制到新的raster对象中
new_raster <- cover(new_raster, file1)
new_raster <- cover(new_raster, file2)
new_raster <- cover(new_raster, file3)
# 将新的raster对象保存为tif文件
writeRaster(new_raster, filename='combined.tif', format='GTiff', overwrite=TRUE)
说明:
- 将代码中的'path/to/file1.tif'、'path/to/file2.tif'和'path/to/file3.tif'替换为实际的文件路径和文件名。
- 代码运行后,将生成一个名为'combined.tif'的tif格式文件,其中包含了文件1、文件2和文件3的数据,并且分辨率为0.08km。
注意:
- 所有输入文件必须具有相同的空间参考系统(CRS)。
- 'cover'函数会将所有输入文件的数据合并到一个新的raster对象中。如果多个文件在同一个位置有数据,则最终结果将包含来自最后一个输入文件的数据。
- 代码假设所有输入文件的分辨率都是0.08km。如果输入文件的分辨率不同,则需要进行相应的调整。
原文地址: https://www.cveoy.top/t/topic/ixL5 著作权归作者所有。请勿转载和采集!