【发布时间】:2022-01-18 16:46:13
【问题描述】:
我正在尝试使用st_network_paths() 在两个节点之间的最短路径上生成节点列表。但是,我在node_path 中只得到一个节点索引值。
它适用于玩具数据,但不适用于现实世界的数据。制作现实世界、流网络、打球需要发生什么?
行数据可用here
library(sfnetworks)
library(sf)
library(tidygraph)
library(tidyverse)
ln <- st_read("river.gpkg")
net = as_sfnetwork(ln)
paths <- st_network_paths(net,
from = 2,
to = 50)
# plot one path to check
node_path <- paths %>%
slice(1) %>%
pull(node_paths) %>%
unlist()
node_path
plot(net, col = "grey")
plot(slice(activate(net, "nodes"), 2),
col = "blue", add = TRUE)
plot(slice(activate(net, "nodes"), 50),
col = "red", add = TRUE)
plot(slice(activate(net, "nodes"), node_path),
col = "green", add = TRUE) # just recreates the node_path
【问题讨论】:
标签: r shortest-path sfnetwork