如何制作一个GPS交通应用



我住在克罗地亚的斯普里特,一家城市公交公司最近获得了一款新软件,它的功能是这样的:如果我是一名乘客,正在公交车站等车,那里有一个巨大的显示器,我可以看到公交车代码和他到达我的车站所需的时间。问题是,在使用该软件的两年中,我一次也没有看到到达的时间是精确的。我知道GPS数据可能不准确,但这....这让我很沮丧,我决定在大学的计算机科学期末考试中写一个类似的应用程序。问题是,这几天我在网上广泛搜索,找不到好的起点。所以我的问题是:你曾经参与过这样的项目吗?如果有的话,你能给我一些关于这个主题的教程或书籍吗?我很感激任何意见。如果我在问题本身上犯了错误,请关闭它。谢谢!

您可能会有:

  • 车辆对象,包含每辆车的位置、分配的路线、路线上的行驶方向、下一个计划站点、上一个计划站点、到达前一个计划站点的时间
  • 包含站点列表和保存每条路线站点之间历史过境时间的数据结构的路线数组

现在,对车辆位置的更新将推送到车辆的对象。

当你想更新一个车站的显示时,找出所有经过该站的路线,并为每条路线显示该路线上下一辆车的预计到达时间。

估计到达时间结构是这个问题的核心。通过假设站点之间的距离和平均行驶速度来播种。

现在,每次车辆到达一个站点时,计算从上一个站点到那里所需的实时时间,并用它来更新平均运输时间,以半小时为单位增量(或其他),您也可以按季节和/或一周中的一天进行分类。分类的目的是隐式地考虑一天中不同时间、一周中的某一天和/或季节的交通拥堵情况。假设其他条件是齐次的,你最终会收敛于每个车站之间的运输时间的一个像样的估计。

你可能会发现使用卡尔曼滤波器是有用的。

距离较远的车站之间的旅行时间估计可能比相邻车站之间的旅行时间更准确,如果你想研究一下的话。高阶马尔可夫链也可以帮助描述传输时间的基本统计。

只是想法。

最新更新