实时为用户提供公交数据更新,可极大地提升用户的公交服务体验。提供关于当前到达时间和出发时间的最新信息可让用户顺畅地规划行程。因此,如果发生不幸的延误,乘客知道自己可以多待一会儿就会宽慰。
GTFS Realtime 是一种 Feed 规范,可让公交公司向应用开发者提供有关其车队的实时更新信息。它是对 GTFS(通用公交 Feed 规范)的扩展,GTFS 是一种适用于公共交通时刻表和相关地理信息的开放数据格式。GTFS Realtime 的设计着眼于轻松实施、良好的 GTFS 互操作性以及注重乘客信息。
该规范是由最初的实时公交更新合作伙伴机构、众多公交开发商和 Google 合作制定的。该规范是根据 Apache 2.0 许可发布的。
什么是 Google 地图的实时公交更新?
实时公交更新是一项为 Google 地图和谷歌手机地图用户提供实时公交动态的服务。这些更新包括公交站的实时发车时间和到达时间,以及服务提醒。
实时公交更新可为用户提供两种类型的实时更新:实时发车时间和服务提醒。公交合作伙伴会在其 Feed 中提供这些更新。我们创建了 GTFS 实时 Feed 格式,以补充静态公交时刻表的广泛使用的 GTFS 格式。您的 Feed 必须保持在我们可以定期提取的位置。系统会立即将 Feed 更新作为实时公交更新信息进行处理。
如何踏出第一步?
GTFS Realtime Feed 概览
该规范目前支持以下类型的信息:
- 行程最新动态 - 延迟、取消、路线变更
- 服务提醒 - 经停点移动、发生影响车站、路线或整个网络的不可预见事件
- 车辆位置 - 车辆的相关信息,包括位置和交通拥堵程度
Feed 可以(但并非必须)合并不同类型的实体。Feed 通过 HTTP 提供,并会经常更新。文件本身为常规二进制文件,因此任何类型的网络服务器都可以托管和提供文件(也可能会使用其他传输协议)。此外,也可以使用 Web 应用服务器,在响应有效 HTTP GET
请求时返回 Feed。更新或检索 Feed 的频率和确切方法没有任何限制。
由于 GTFS Realtime 可让您展示车队的实际状态,因此需要定期更新 Feed,最好是在自动车辆定位系统收到新数据时进行更新。
数据格式
GTFS 实时数据交换格式基于协议缓冲区
协议缓冲区是一种独立于语言和平台的机制,用于对结构化数据进行序列化(建议使用 XML,但该机制更小、更快也更简单)。数据结构在 gtfs-realtime.proto 文件中定义,随后用于生成源代码,以便使用各种语言(例如 Java、C++ 或 Python)轻松地对各种数据流执行结构化数据读写操作。
数据结构
元素的层次结构及其类型定义在 gtfs-realtime.proto 文件中指定。
该文本文件用于以您选择的编程语言生成必要的库。这些库提供了生成有效的 GTFS Realtime Feed 所需的类和函数。这些库不仅可以简化 Feed 创建,还可以确保只生成有效的 Feed。
获取帮助
如需参与有关 GTFS Realtime 的讨论并提出规范的变更和补充建议,请加入 GTFS Realtime 邮寄名单。
Google 地图和实时公交信息更新
实时公交更新是 Google 地图中的一项功能,可为用户提供实时公交信息。如果您就职的公交公司有意为 Google 地图提供实时动态,请访问 Google 公交合作伙伴页面。