GTFS Realtime 概览

向用户实时提供公交数据更新,可显著提升他们对公交服务的体验。提供有关当前到达和出发时间的最新信息,让用户能够顺利规划行程。因此,如果发生意外延迟,乘客会很高兴地知道自己可以多在家里待一会儿。

GTFS Realtime 是一种 Feed 规范,可让公共交通公司向应用开发者提供有关其车队的实时更新。它是 GTFS(通用公交 Feed 规范)的扩展,是一种用于公共交通时刻表和相关地理信息的开放式数据格式。GTFS Realtime 的设计以易于实现、良好的 GTFS 互操作性和注重乘客信息为目标。

该规范由最初的实时公交动态合作伙伴机构、多家公交开发者和 Google 合作设计。该规范是根据 Apache 2.0 许可发布的。

什么是 Google 地图的实时公交动态?

“实时公交动态”是一项服务,可向 Google 地图和 Google 地图移动应用用户提供实时公交动态。这些更新包括公交车站的实时出发和到达时间,以及服务提醒。

“实时公交动态”可向用户提供两种类型的实时动态:实时出发时间和服务提醒。公交合作伙伴会在其 Feed 中提供这些更新。我们创建了 GTFS 实时 Feed 格式,以补充广泛用于静态公交时刻表的 GTFS 格式。您的 Feed 需要位于我们可以定期提取的位置。系统会立即将 Feed 更新处理为实时公交更新信息。

如何开始?

  1. 请继续阅读下文中的概览。
  2. 确定您将提供哪些Feed 实体
  3. 查看示例 Feed
  4. 使用参考文档创建您自己的 Feed。
  5. 发布您的 Feed。

GTFS 实时 Feed 概览

该规范目前支持以下类型的信息:

  • 行程更新 - 延误、取消、路线更改
  • 服务提醒 - 相应经停点已移至其他位置、影响相应车站、线路或整个公交网络的意外事件
  • 车辆位置 - 与车辆相关的信息,包括位置和拥堵程度

Feed 可以(但并非必须)组合不同类型的实体。Feed 通过 HTTP 提供,并且会经常更新。该文件本身就是一个常规二进制文件,因此任何类型的 Web 服务器都可以托管和传送该文件(也可以使用其他传输协议)。或者,您也可以使用 Web 应用服务器,以便在响应有效的 HTTP GET 请求时返回 Feed。对 Feed 的更新或检索频率和确切方法没有任何限制。

由于 GTFS Realtime 可让您显示车队的实际状态,因此需要定期更新 Feed,最好在自动车辆定位系统有新数据传入时更新。

详细了解 Feed 实体...

数据格式

GTFS 实时数据交换格式基于协议缓冲区

协议缓冲区是一种与语言和平台无关的机制,用于对结构化数据进行序列化(类似于 XML,但更小、更快也更简单)。数据结构在 gtfs-realtime.proto 文件中定义,然后系统会使用该文件生成源代码,以便您使用各种语言(例如 Java、C++ 或 Python)轻松地在各种数据流中读取和写入结构化数据。

详细了解协议缓冲区

数据结构

元素的层次结构及其类型定义在 gtfs-realtime.proto 文件中指定。

此文本文件用于使用您选择的编程语言生成必要的库。这些库提供了生成有效 GTFS 实时 Feed 所需的类和函数。这些库不仅可以简化 Feed 的创建,还可以确保仅生成有效的 Feed。

详细了解数据结构...

获取帮助

如需参与有关 GTFS Realtime 的讨论,并就规范提出更改和补充建议,请加入 GTFS Realtime 邮寄名单

Google 地图和实时公交动态

实时公交动态是 Google 地图的一项功能,可为用户提供实时公交信息。如果您就职于一家公共交通机构,并且有意向向 Google 地图提供实时更新,请访问 Google 公交合作伙伴页面