android - 离线传输路由算法

标签 android algorithm routes android-maps openstreetmap

我正在开发一款 Android 离线 map 和导航应用程序,作为我的最后一年项目。该应用程序必须提供类似于 Google Transit 的交通路线规划。目前我正在研究一个小城市作为原型(prototype),效率现在不是问题。

但是,我不知道有任何现成的 Java 框架可以帮助我实现此类功能,也不知道有任何算法可以帮助我编写自己的代码。

任何人都可以指导我从哪里开始,或者通过向我指出这方面的代码示例,或者至少路由理论页面来帮助我编写自己的代码吗?

最佳答案

理论与算法:
如果您还没有阅读过相关内容,请阅读 shortest path problem主要是大多数旅程规划算法正在处理的挑战。在 wiki 页面上,阅读“算法”部分以获取可能的解决方案列表(Dijkstra's 可能是最受欢迎的)。有一些专门针对公共(public)交通的算法变体,例如 RAPTOR .

模型和旅程规划器:
根据您的工作范围,自行设计模型并实现整个旅程规划器可能会有些过分。

我建议您在 GTFS format 中提供您的数据(停靠点、连接数、时间等)。 (非常简单,基于 CSV 文件),然后使用旅程规划器,例如 OpenTripPlanner 。它会考虑多个规划因素,并可以导入您提供的 GTFS 数据。还有一个Android implementation OpenTripPlanner,但我不确定它有多先进。

替代方案:
除了 GTFS/OpenTripPlanner 之外,欧洲还有一个广泛使用的标准来对交通信息进行建模,称为 Transmodel ,并支持“JourneyWeb”等规划引擎。许多本地交通提供商(包括我所在城市的交通提供商)都在 Transmodel 之上构建其服务。但我认为这会更难实现(而且我不确定许可证和免费/开放的实现),所以我会坚持上述解决方案。

关于android - 离线传输路由算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15596271/

相关文章:

android - 检测点击父项时点击了哪个子项

java - 数组和链表类的大 theta 表示法

ruby-on-rails - ?在routes.rb和map.with_options ruby​​中

c# - asp.net mvc高手详解和路由

node.js - 基于路由删除 MongoDB 中对象的推荐方法

android - 如何使按钮重定向到另一个 xml 页面

android - 有没有办法在eclipse中自动化模拟器android

java - 如何以编程方式在特定时间打开(开机)Android 设备?

algorithm - 诸如恒定质量(可变位)摘要哈希算法之类的东西?

python - python中 'in'对不同数据结构的操作效率