将网格气候数据插值到 R 中的不同分辨率

Interpolate gridded climate data to different resolutions in R

我有分辨率为 0.5 度的光栅数据。我想 使用最近邻插值法将这些值插值到 0.125 和 1 度

这如何在 R 中实现?下面是一些示例数据:

library(raster)
ras <- raster(res=0.5)
#get polygons for Iceland
iceland <- getData('GADM', country="Iceland", level=1)
cr <- crop(ras, iceland, snap="out")
values(cr) <- 1:ncell(cr)
fr <- mask(cr, iceland)

plot(fr)
lines(iceland)

示例数据

library(raster)
ras <- raster(res=0.5)
#get polygons for Iceland
iceland <- getData('GADM', country="Iceland", level=1)
cr <- crop(ras, iceland, snap="out")
values(cr) <- 1:ncell(cr)
fr <- mask(cr, iceland)

1度

a <- aggregate(fr, 2, mean, na.rm=TRUE)
 

0.125度

d <- disaggregate(fr, 4)

像这样分解数据可能可行,但可能不合适。这显然不是改变气候数据分辨率的好方法(但你问 如何 去做,这就是这个网站的目的)

如果不能通过整数乘除得到新分辨率,则有resample

target <- raster(fr)
res(target) <- 1/13
r <- resample(fr, target, "ngb")

#or alternatively
rb <- resample(fr, target, "bilinear")