我正在开发一个离线地图& Android导航应用程序作为我的最后一年项目。该应用程序必须提供类似于Google Transit的运输路线规划。目前我正在将一个小城市作为原型工作,效率现在不是问题。
但是我不知道任何现成的Java框架可以帮助我实现这样的功能,也不知道有任何算法可以帮助我编写自己的代码。
任何人都可以指导我从哪里开始,或者通过指向我的代码示例,或者至少是路由理论页面来帮助我编写自己的代码?
答案 0 :(得分:2)
理论&算法强>
如果你还没有读过它,那么shortest path problem主要是大多数旅程计划算法所面临的挑战。在维基页面上,阅读“算法”部分以获取可能的解决方案列表(Dijkstra's可能是最受欢迎的解决方案)。有一些专门针对公共交通的算法变体,例如RAPTOR。
型号&旅程计划:
根据您的工作范围,设计模型并自行实施整个旅程规划可能超出顶部。
我建议您在GTFS format中提供您的数据(停止,连接,时间......)(非常简单,基于CSV文件),然后使用旅行计划程序,例如{{3} }。它需要考虑几个计划因素,并可以导入您提供的GTFS数据。还有一个OpenTripPlanner的OpenTripPlanner,但我不确定它有多先进。
<强>替代:强>
除了GTFS / OpenTripPlanner之外,欧洲还有一个广泛使用的标准,用于模拟传输信息,称为Android implementation,以及支持“JourneyWeb”等规划引擎。许多本地运输提供商(包括我所在城市的运输提供商)在Transmodel之上构建他们的服务。但我认为这将更难实现(加上我不确定许可证和免费/开放实施),所以我坚持上述解决方案。