从 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