从 R 中的 RasterLayer 中提取 ncell
Extract ncell from RasterLayer in R
假设我有以下名为 newTemplate 的 RasterLayer:
class : RasterLayer
dimensions : 139615, 184156, 25710939940 (nrow, ncol, ncell)
resolution : 50, 50 (x, y)
extent : 668395.5, 9876195, 2620826, 9601576 (xmin, xmax, ymin, ymax)
crs : +proj=utm +zone=17 +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
据此,我想直接提取ncell对应的值,即不通过nrow和ncol的乘法。我该怎么做?原因是这种间接方法 returns R 中的以下警告消息:
[1] NA
Warning message:
In newTemplate@ncols * newTemplate@nrows : NAs produced by integer overflow
您想从 RasterLayer
对象中获取单元格数量吗?
有一个函数:ncell
library(raster)
r <- raster()
> print(r)
class : RasterLayer
dimensions : 180, 360, 64800 (nrow, ncol, ncell)
resolution : 1, 1 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
crs : +proj=longlat +datum=WGS84 +no_defs
> ncell(r)
[1] 64800
假设我有以下名为 newTemplate 的 RasterLayer:
class : RasterLayer
dimensions : 139615, 184156, 25710939940 (nrow, ncol, ncell)
resolution : 50, 50 (x, y)
extent : 668395.5, 9876195, 2620826, 9601576 (xmin, xmax, ymin, ymax)
crs : +proj=utm +zone=17 +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
据此,我想直接提取ncell对应的值,即不通过nrow和ncol的乘法。我该怎么做?原因是这种间接方法 returns R 中的以下警告消息:
[1] NA
Warning message:
In newTemplate@ncols * newTemplate@nrows : NAs produced by integer overflow
您想从 RasterLayer
对象中获取单元格数量吗?
有一个函数:ncell
library(raster)
r <- raster()
> print(r)
class : RasterLayer
dimensions : 180, 360, 64800 (nrow, ncol, ncell)
resolution : 1, 1 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
crs : +proj=longlat +datum=WGS84 +no_defs
> ncell(r)
[1] 64800