我希望创建一个交互式地图,展示一座城市的公共交通线路。我正在尝试使用R中的Leaflet来完成这个任务(但我也愿意接受其他建议和方案)。
数据:交通系统的数据以GTFS格式组织在文本文件(.txt)中,我将其读入R作为数据框*。
问题:我找不到如何指示每个Poly线的id(变量shape_id),以便绘图实际上可以沿着每条运输线路进行。相反,它会以随机顺序连接这些点。
以下是我尝试过的方法,但都没有成功:
我很高兴听到您的意见。
*我知道可以将此数据导入GIS软件(例如QGIS)创建shapefile,然后使用readOGR将shapefile读入R。Robin Lovelace已经展示了如何做到这一点。但是,我正在寻找纯R解决方案。 ;)
附注:Kyle Walker编写了一篇关于使用Leaflet在R中制作交互式地图的优秀文章。不幸的是,他在教程中未涉及折线。
数据:交通系统的数据以GTFS格式组织在文本文件(.txt)中,我将其读入R作为数据框*。
问题:我找不到如何指示每个Poly线的id(变量shape_id),以便绘图实际上可以沿着每条运输线路进行。相反,它会以随机顺序连接这些点。
以下是我尝试过的方法,但都没有成功:
# Download GTFS data of the Victoria Regional Transit System
tf <- tempfile()
td <- tempdir()
ftp.path <- "http://www.gtfs-data-exchange.com/agency/bc-transit-victoria-regional-transit-system/latest.zip"
download.file(ftp.path, tf)
# Read text file to a data frame
zipfile <- unzip( tf , exdir = td )
shape <- read.csv(zipfile[9])
# Create base map
basemap <- leaflet() %>% addTiles()
# Add transit layer
basemap %>% addPolylines(lng=shape$shape_pt_lon, lat=shape$shape_pt_lat,
fill = FALSE,
layerId =shape$shape_id)
我很高兴听到您的意见。
*我知道可以将此数据导入GIS软件(例如QGIS)创建shapefile,然后使用readOGR将shapefile读入R。Robin Lovelace已经展示了如何做到这一点。但是,我正在寻找纯R解决方案。 ;)
附注:Kyle Walker编写了一篇关于使用Leaflet在R中制作交互式地图的优秀文章。不幸的是,他在教程中未涉及折线。