Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从铁路网络形状文件中提取车站之间的路线_R_Geospatial_Igraph_Shapefile - Fatal编程技术网

R 从铁路网络形状文件中提取车站之间的路线

R 从铁路网络形状文件中提取车站之间的路线,r,geospatial,igraph,shapefile,R,Geospatial,Igraph,Shapefile,问题:我想从一个shapefile中提取两个站点之间沿铁路网络的路线,并仅绘制此特定路线,而不是整个网络 这就是我到目前为止所做的: 我有一个关于英国整个铁路网的形状文件,它是这样绘制的: library(maptools) rail <- readShapeSpatial("railnetworkLine.shp") plot(rail) plot(spdf.station, add=TRUE, col="red", pch=20) 我可以将它们添加到地图中,如下所示: librar

问题:我想从一个shapefile中提取两个站点之间沿铁路网络的路线,并仅绘制此特定路线,而不是整个网络

这就是我到目前为止所做的:

我有一个关于英国整个铁路网的形状文件,它是这样绘制的:

library(maptools)
rail <- readShapeSpatial("railnetworkLine.shp")
plot(rail)
plot(spdf.station, add=TRUE, col="red", pch=20)
我可以将它们添加到地图中,如下所示:

library(maptools)
rail <- readShapeSpatial("railnetworkLine.shp")
plot(rail)
plot(spdf.station, add=TRUE, col="red", pch=20)

所以我不知道的是,我如何提取他们之间的路线,并绘制路线图-信息显然在shapefile中,我有车站的坐标,但我不知道如何提取它

我用以下代码计算了它们之间的距离:

SpacingInMetres <- 10000
require(secrlinear)
network <- read.linearmask(data=rail, spacing=SpacingInMetres)
distance <- (networkdistance (stations[1,], stations[2,], network))/1000

# Confirm distance:
distance
>311.7893

间距可以使用stplanr包计算路由网络上的最短路径。我使用了荷兰整个铁路网的shapefile。此形状文件可从以下位置获得:

库(sf)
图书馆(GG2)
图书馆(stplanr)
#读取形状文件

nl_rails_sf您是否必须使用R或其他GIS解决方案对您有效?嗯,我在这之前和之后都有很多其他代码,因此更喜欢解决方案R。您的形状文件中是否包含更多信息,如路线名称?您可能至少能够基于此筛选路线,和/或基于火车站在路线上运行最短路径算法