为用户提供实时的公交数据更新可以极大地改善他们使用公交服务的体验。提供当前到达和出发时间的最新信息有助于用户顺利规划行程。因此,如果遭遇意外,乘客会知道可以待得更久一些,因此会如心安慰。
GTFS 实时是一项 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 应用服务器,作为对有效 HTTP GET
请求的响应并返回 Feed。Feed 的更新频率和确切方法没有限制。
由于 GTFS 实时报告可让您展示车队的实际状态,因此 Feed 需要定期更新,尤其是每当新数据来自您的自动车辆位置系统时。
数据格式
GTFS 实时数据交换格式基于协议缓冲区
协议缓冲区是一种语言和平台中立机制,用于对结构化数据进行序列化(可以使用 XML,但更小、更快也更简单)。数据结构在 gtfs-realtime.proto 文件中定义,然后用于生成源代码,以便使用各种语言(例如 Java、C++ 或 Python)轻松地在各种数据流中读取和写入结构化数据。
数据结构
元素的层次结构及其类型定义在 gtfs-realtime.proto 文件中指定。
此文本文件用于生成您所选编程语言的必要库。这些库提供生成有效 GTFS 实时 Feed 所需的类和函数。这些库不仅可以简化 Feed 的创建,还能确保仅生成有效的 Feed。
获取帮助
如需参与有关 GTFS 实时功能的讨论,并建议更改和补充规范,请加入 GTFS 实时邮寄名单。
Google 地图和公交动态
实时公交更新是 Google 地图中的一项功能,可为用户提供实时公交信息。如果您在为公共交通公司工作,希望为 Google 地图提供实时动态,请访问 Google 公交合作页面。