地图 - 最安全的路线

时间:2014-07-26 13:25:35

标签: api google-maps maps dijkstra

作为一名学生,我学到了很多关于在那里运行的图形和算法的知识。我知道我们可以使用算法根据距离计算最小路径。此外,我们可以使用具有重量的图表,例如限制。

在现实世界中,每个人都知道谷歌地图,它向我们展示了基于距离,交通,成本的最佳路线。我认为这些因素,如成本和流量是图中的权重否?

好吧,我想创建一个服务/应用程序,它利用每条路径注册的事故数量来计算最安全的路径。实际上我认为这是一个限制/权重,但我的问题是:什么是允许我将这个限制添加到地图的API /服务?我搜索了Google Maps API,但它只允许用户根据他们的限制(距离/流量/旅行费用)搜索路径,我认为这不会让我介绍我的安全因素。

如果您知道解决方案,请告诉我,它会很棒!

3 个答案:

答案 0 :(得分:3)

我不知道任何可以让您向Google地图搜索添加任意权重的API。看来你也无法下载他们的地图。

您可以从OpenStreetMaps等服务加载地图数据,并创建自己的图表。然后,根据您的交通安全数据向图表添加新的权重,并运行您自己的搜索算法,以计算安全路线。

然后,您可以通过绘制显示路线的svg overlay on the map将结果重新集成回Google地图。

答案 1 :(得分:2)

不要考虑谷歌地图,而是使用OpenStreetMap的开放数据。 我建议您通过现有路由器构建路由应用程序,并根据需要权衡每种方式。 OSRM(https://github.com/Project-OSRM/osrm-backend/wiki)使用配置文件构建路由图,不同的实例已构建自定义配置文件或处理路由图中合并其他信息。 仅作为示例,此示例代码在图形构建(https://github.com/Project-OSRM/osrm-backend/blob/992458ae4ba1ea2bcf6234bee090297baef33600/profiles/examples/postgis.lua

期间查询PostGIS数据库

答案 2 :(得分:1)

使用OpenStreetMap数据的GraphHopper应该很容易实现。下载存储库 - 请参阅此video intro。然后将权重更改为自定义权重。阅读here,其中需要一些自定义Java代码。 (注意:我是作者)