我想创建一个显示城市公共交通线路的交互式地图。我正在尝试使用 R 中的 Leaflet 来做到这一点(但我愿意接受替代方案,建议?)
数据:传输系统的数据是 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 中交互式地图的精彩介绍。不幸的是,他没有在他的教程中介绍折线。