我正在尝试使用 raster::adjacent() 创建一个 rooks case 邻接矩阵,但我无法理解输出。
可重现的例子:
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
...
Run Code Online (Sandbox Code Playgroud)
从我对输出的解释来看,输出表明 1 和 3 具有 rooks 大小写关系(如果我正确理解了这种关系,则它们没有)。
问题 1. 这是正确的吗?我是否正确解释了这个输出?
问题 2. 我如何使用 next() 或其他方法创建输出,它可以为我提供相邻的单元格编号对?
谢谢 :)
您需要投影您的栅格。
如果栅格未投影(在地理(纬度/经度)“投影”中)并且经度为 -180 度和 180 度,则该函数将连接外部子午线。(从这里)。
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]),]
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)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
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |