SpatialPointsDataFrame
を使用してSpatialLinesNetwork
に新しいノードを追加するにはどうすればよいですか?stplanr内のSpatialLinesNetworkに新しいノードを追加する
私の問題文脈:私はバスルートのシェイプファイルとバス停のシェイプファイルを持っています。私はバスルート沿いの停留所間の距離を計算します。理想的には、各停止はノードであり、それらの間の距離を計算するにはstplanr::sum_network_routes()
を使用します。問題は、私がSpatialLinesNetwork
にバスルートを変換すると、ネットワークは互いに離れていて、バス停の場所とは無関係のいくつかのノードしか持たないということです。
再現可能なデータセット:
# load library and data
library(stplanr)
data(routes_fast)
# convert SpatialLinesDataFrame into SpatialLinesNetwork
rnet <- overline(routes_fast, attrib = "length")
SLN <- SpatialLinesNetwork(rnet)
# identify nodes
sln_nodes = sln2points(SLN)
# Here is a bus stop which should be added as a node
new_point <- SpatialPointsDataFrame(coords = cbind(-1.535, 53.809), data= data.frame(id="new"))
# plot
plot(SLN, col = "gray") # network
plot(sln_nodes, col="red", add = TRUE) # nodes
plot(new_point, add=T, col="blue") # stop to be added as a new node
おかげ@mpadgeを!それは問題を解決するものではありませんが、私はあなたの答えを投票したので本当に役に立ちます! –