【问题标题】:how to get cell dimensions from rasterized ```SpatialPolygonsDataFrame```?如何从光栅化的“SpatialPolygonsDataFrame”中获取单元格尺寸?
【发布时间】:2021-12-14 11:51:17
【问题描述】:

我在 R 中有 SpatialPolygonsDataFrame 类,我想对其进行光栅化。我使用下面的代码栅格化多边形:

> p <- shapefile('MadaGranary')
> p
class       : SpatialPolygonsDataFrame 
features    : 1 
extent      : 100.1269, 100.5313, 5.793798, 6.446769  (xmin, xmax, ymin, ymax)
crs         : +proj=longlat +datum=WGS84 +no_defs 
variables   : 1
names       : id 
value       :  1 
> crs(p) <- NULL

> # Define RasterLayer object
> r.raster <- raster(extent(p), res = 100)
> #rasterize
> p.r <- rasterize(p, r.raster)
> print(p.r)
class      : RasterLayer 
dimensions : 1, 1, 1  (nrow, ncol, ncell)
resolution : 100, 100  (x, y)
extent     : 100.1269, 200.1269, -93.55323, 6.446769  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs 
source     : memory
names      : layer 
values     : NA, NA  (min, max)
attributes :
 ID id
  1  1

不幸的是,这段代码已将单元格尺寸分配给dimensions : 1, 1, 1 (nrow, ncol, ncell),而获取ncols and nrows 的实际值对我来说非常重要。

当我print p.r 时,我需要在控制台中获取dimensions : (nrow, ncol, ncell) 的值,以便我能够保存所有属性以便稍后使用它进行另一个分析。 注意:我需要获取的resolution输出应该是代表新栅格中ncols and nrow的真实值,而不仅仅是我的代码中显示的dimensions : 1, 1, 1 (nrow, ncol, ncell)

有人可以帮忙吗?

【问题讨论】:

    标签: r raster sp


    【解决方案1】:

    如果你想设置nrowncol,那么你就这样做(而不是设置分辨率,它表示每个单元格的大小)。这是一个例子:

    library(raster)
    #Loading required package: sp
    e <- extent(0,1,0,1)
    r <- raster(e, nrow=100, ncol=100)
    r
    #class      : RasterLayer 
    #dimensions : 100, 100, 10000  (nrow, ncol, ncell)
    #resolution : 0.01, 0.01  (x, y)
    #extent     : 0, 1, 0, 1  (xmin, xmax, ymin, ymax)
    #crs        : NA 
    

    【讨论】:

    • 100 是我分析所需的单元格分辨率,但我不知道栅格的nrowncol,范围是从SpatialPolygonsDataFrame 的范围中提取的.所以我的问题是,有什么方法可以使用extentcell size/resolution 确定栅格的nrowncol
    • "100" 指的是这些数据的 100 度。我假设你想要别的东西,也许是 100 平方米。如果是这样,您需要使用适当的坐标参考系统。见rspatial.org/raster/spatial/6-crs.html
    猜你喜欢
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2013-07-14
    相关资源
    最近更新 更多