向用户实时提供公交数据更新,可显著提升他们对公交服务的体验。提供有关当前到达和出发时间的最新信息,让用户能够顺利规划行程。因此,如果发生意外延迟,乘客会很高兴地知道自己可以多在家里待一会儿。
GTFS Realtime 是一种 Feed 规范,可让公共交通公司向应用开发者提供有关其车队的实时更新。它是 GTFS(通用公交 Feed 规范)的扩展,是一种用于公共交通时刻表和相关地理信息的开放式数据格式。GTFS Realtime 的设计以易于实现、良好的 GTFS 互操作性和注重乘客信息为目标。
该规范由最初的实时公交动态合作伙伴机构、多家公交开发者和 Google 合作设计。该规范是根据 Apache 2.0 许可发布的。
什么是 Google 地图的实时公交动态?
“实时公交动态”是一项服务,可向 Google 地图和 Google 地图移动应用用户提供实时公交动态。这些更新包括公交车站的实时出发和到达时间,以及服务提醒。
“实时公交动态”可向用户提供两种类型的实时动态:实时出发时间和服务提醒。公交合作伙伴会在其 Feed 中提供这些更新。我们创建了 GTFS 实时 Feed 格式,以补充广泛用于静态公交时刻表的 GTFS 格式。您的 Feed 需要位于我们可以定期提取的位置。系统会立即将 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 公交合作伙伴页面。