【问题标题】:Clarification on raster::adjacent() output values:对 raster::adjacent() 输出值的说明:
【发布时间】:2018-03-29 20:16:07
【问题描述】:

我正在尝试使用 raster::adjacent() 创建一个 rooks 案例邻接矩阵,但我无法理解输出。

可重现的例子:

library(raster)

r <- raster(nrow = 3, ncol = 3)

rAdjacent <- raster::adjacent(r, cells = 1:ncell(r), pairs = TRUE, directions = 4) 

rAdjacent
      from to
 [1,]    1  3
 [2,]    2  1
 [3,]    3  2
 [4,]    4  6
...

根据我对输出的解释,输出表明 1 和 3 具有 rooks case 关系(如果我正确理解这种关系,它们不会)。

问题 1. 这是正确的吗?我是否正确解释了这个输出?

问题 2。如何使用相邻 () 或其他给我成对的相邻单元格编号的东西创建输出?

谢谢:)

【问题讨论】:

    标签: r gis raster


    【解决方案1】:

    您需要投影您的栅格。

    如果栅格不是,该函数连接外部子午线 投影(在地理(纬度/经度)“投影”中)并且有数据 经度 -180 度和 180 度。 (来自here)。

    r <- raster(nrow = 3, ncol = 3)
    crs(r) <- CRS("+proj=robin +datum=WGS84")
    
    rAdjacent <- raster::adjacent(r, cells = 1:ncell(r), 
                                  pairs = TRUE, directions = 4) 
    rAdjacent[order(rAdjacent[,1]),]
    
          from to
     [1,]    1  2
     [2,]    1  4
     [3,]    2  1
     [4,]    2  3
     [5,]    2  5
     [6,]    3  2
     [7,]    3  6
     [8,]    4  5
     [9,]    4  1
    [10,]    4  7
    [11,]    5  4
    [12,]    5  6
    [13,]    5  2
    [14,]    5  8
    [15,]    6  5
    [16,]    6  3
    [17,]    6  9
    [18,]    7  8
    [19,]    7  4
    [20,]    8  7
    [21,]    8  9
    [22,]    8  5
    [23,]    9  8
    [24,]    9  6
    

    【讨论】:

    • 很好的答案。这比我精心设计的任何一种解决方法都简单得多。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    相关资源
    最近更新 更多