假设我们有一个数组modeldata
(数据来自陆地模型),其维度为:
> dim(modeldata)
[1] 67420 518
第一个维度包括网格的单元格,第二个维度是时间序列1500:2017
。第一个维度的不寻常长度是由于单独存在陆地单元格以节省空间。
在raster
包中,我通过以下方式处理它:
> coords
[,1] [,2]
[1,] -179.75 -16.25
[2,] -179.75 65.25
[3,] -179.75 65.75
[4,] -179.75 66.25
[...,] ... ...
[67420,] 179.75 71.25
> wgs84 <- sp::CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
> modeldata_spdf <- sp::SpatialPixelsDataFrame(coords,
data = data.frame(modeldata),
proj4string = wgs84)
> modeldata_brick <- raster::brick(modeldata_spdf)
请不要以这种方式评判我,
我对使用 terra 包的可比较(高性能)方法更感兴趣。
另一种很好的方法是使用SpatRaster
遮罩层而不是坐标。
谢谢 :-)