谷歌距离矩阵API - 火车距离

3
我正在使用Java的Google距离矩阵API。我想计算两个城市之间的火车距离。其中一个城市没有火车站。问题在于,谷歌不仅会计算火车距离,还会将从没有火车站的城市到下一个有火车站的城市的汽车距离加入计算。但是对于我的项目,我只需要火车距离。
以下是我的代码的一部分:
DistanceMatrix matrix = DistanceMatrixApi.newRequest(context)
        .origins(origins)
        .destinations(destinations)
        .mode(TravelMode.TRANSIT)
        .transitModes(TransitMode.TRAIN)
        .units(Unit.METRIC)
        .await(); 

在文档中,我找不到解决这个问题的方法。

1个回答

0

Google Maps的搜索算法是为解决现实世界的交通路线而设计的,这意味着将火车送到乘客无法下车的地方是不可行的,因此也不会反映在路线中。我想不出任何从Google Maps中提取该信息的方法,除非可能进行直接的Directions查询,但我怀疑它是否会有不同的结果,因为它使用(据我所知)基本相同的算法为其所有服务。

使用像OpenStreetMap这样的数据库(使用免费、无限制的API,如Overpass通过Java进行HTTP访问)可能是最好的解决方案。如果你想要一个快速的解决办法,并且能够识别没有火车站的城市,那么使用Geometry Library计算两个城市之间的线性距离可能会返回一个合理的(虽然有所减少的)估计值。

很抱歉我目前看不到更好的解决方案,但这是我所能提供的最好的建议。


谢谢你的努力!但我觉得我没有解释清楚。当我从A点(有火车站的城市)发送请求到B点(没有火车站的城市)时,谷歌总是将从A点到最近的有火车站的B点的火车距离与从该最近的有火车站的B点到B点(无法通过火车到达)的汽车距离相结合。因此,我得到了汽车距离和火车距离的总结。但是对于我的项目,我只需要从A点到最近的有火车站存在的B点的火车距离。 - Ringston
那就是我所设想的情况。如何才能改善我的回答或回答我的问题呢?我认为谷歌地图做不到这一点;获取铁路数据时,首先想到的是OpenStreetMap,但要设计出一个查询会非常困难。 - bcdan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接