以矩阵形式读出值 r-terra

Read out values in matrix form r-terra

我有一个由 terra 包中的 rast() 创建的 SpatRaster 文件,我想以矩阵形式读出栅格的值。如果底层栅格有 10 行和 10 列,我希望值采用相同的格式,但作为矩阵。

我尝试了一些方法,例如:

matrix(1:100, nrow = 10, ncol = 10) -> mm
rast(mm) -> spat_raster

as.matrix(spat_raster) %>% dim

但是,输出是 100x1 矩阵,而不是 10x10。 还有

values(spat_raster, mat = T)

不起作用。 有什么想法吗?

您可以使用带有参数 wide=TRUE 的 as.matrix。以下是 ?as.matrix

中的示例
library(terra)
r <- rast(ncol=2, nrow=2)
values(r) <- 1:ncell(r)
as.matrix(r, wide=TRUE)
#     [,1] [,2]
#[1,]    1    2
#[2,]    3    4

你也可以这样做(单层SpatRaster

d <- dim(r)
matrix(values(r), d[1], d[2], byrow=TRUE)