使用尺寸和分辨率略有不同的栅格进行计算

问题描述

我想将两个栅格(在 R 中)相乘,但它们不完全匹配。我有哪些选择可以乘以栅格?

> veg_g
class      : RasterLayer 
dimensions : 2416,2807,6781712  (nrow,ncol,ncell)
resolution : 0.25,0.25  (x,y)
extent     : 109067.2,109769,533016.5,533620.5  (xmin,xmax,ymin,ymax)
crs        : +proj=sterea +lat_0=52.1561605555556 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs 
source     : memory
names      : layer 
values     : 0,1  (min,max)

> garden_5mplus
class      : RasterLayer 
dimensions : 2416,2804,6774464  (nrow,ncell)
resolution : 0.2502728,0.2500402  (x,y)
extent     : 109067.3,109769.1,533016.4,ymax)
crs        : +proj=sterea +lat_0=52.1561605555556 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs 
source     : memory
names      : BBoxrs_rAHN3_05m_DSM 
values     : 0,max)

解决方法

您可以使用 resample() 将它们转换为相同的分辨率:

require("raster")
garden_5mplus <- resample(garden_5mplus,veg_g)

resample() 的后继包 raster 中还有一个 terra 函数。