首页 > 解决方案 > R - 创建光栅 - 正确的尺寸?

问题描述

我有一个类似下面的列表。它是从 nc 文件中提取的。我以 R 中的这个 netCDF 文件为例。

ex = list()
ex$x = matrix((seq(-40,40, length = 89 * 86)), 89,86)
ex$y = matrix((seq(30,80, length = 89 * 86)), 89,86)
ex$z = matrix((runif(89 * 86, 20, 120)))

现在我到了这一点,我的列表如下所示,我想从中创建一个栅格。

library(raster)
exR = raster(ex)

但我收到一条错误消息:Error in .local(x, ...) : "z" does not have the right dimensions

有谁知道为什么会发生这种情况以及如何解决它?

标签: rmatrixcoordinatesraster

解决方案


您的 x 和 y 坐标应该是一维向量,而 z 是具有 x 和 y 维度的矩阵。

ex = list()
ex$x = seq(-40,40, length = 89)
ex$y = seq(30,80, length = 86)
ex$z = matrix(runif(89 * 86, 20, 120),89,86)              

library(raster)
exR = raster(ex)  

在此处输入图像描述


推荐阅读