问题描述
现有多对出发点-目的地的坐标数据,通过osrm包可获得出发点到目的地之间的距离和时间,但是想知道:是否可能批量查询到特定条件下的公共交通路线、时间、换乘次数、花费信息?
问题细节
为了简化问题,下面以一对出发点-目的地作为例子来说明。因为目前在做的是日本的分析,因此就以日本的地点和谷歌地图为例。我们的出发点是京都大学(Kyoto University),目的地是大阪大学(Osaka University)。它们的相对位置如下图所示:

先加载所需的包以及构建数据:
library(dplyr)
library(sf)
library(tmap)
library(osrm)
place <-
c("Kyoto University", 35.0262707375379, 135.78082179729097,
"Osaka University", 34.82213718702254, 135.52447832612137) %>%
matrix(byrow = TRUE, ncol = 3) %>%
data.frame() %>%
rename_with(
~ c("location", "lat", "long")
) %>%
st_as_sf(coords = c("long", "lat")) %>%
st_set_crs(6668)
基于osrm包可以计算京都大学到大阪大学的自驾最短路径和所需时间,再可视化一下:
# 从京都大学到大阪大学之间最短路径
route <- osrmRoute(place[1, ], place[2, ])
# 路线地图
tm_shape(route) +
tm_lines(col = "darkgreen") +
tm_shape(place) +
tm_dots(size = 0.5, col = "red")
得到的路线地图如下:

查看这条路线的距离和时间,可见时间是44分钟,距离是41公里:
route
# Simple feature collection with 1 feature and 4 fields
# Geometry type: LINESTRING
# Dimension: XY
# Bounding box: xmin: 135.5154 ymin: 34.82022 xmax: 135.7809 ymax: 35.02588
# Geodetic CRS: JGD2011
# src dst duration distance geometry
# 1_2 1 2 44.28833 41.9081 LINESTRING (135.7809 35.025...
跟谷歌地图上查到的其中一条自驾路线差不多:

我的问题是:能否获得谷歌地图(或者其他地图软件或交通软件)查询到的公共交通的路线、距离、时间、花费信息呢?以谷歌为例,下图展示了京都大学到大阪大学的公共交通路线选择,获得全部路线,或者是获得某个条件下的选择(如时间最少,或者换乘最少)均可。

谢谢各位,欢迎任何有一点可行性的想法(不然我可能得手动查询,或者是放弃这个想法啦)。