Google 公交 GTFS 时刻表参考和差异

本页面介绍了官方 GTFS 时刻表与 Google 公交在以下方面实现该规范的主要差异:

  • 被忽略的官方规范:这些字段是官方 GTFS 的一部分。Google 公交会准确无误地提取这些数据,但不会主动使用这些数据。

  • 解释不同:这些字段包含官方 GTFS 中,Google 公交对这些部分的解释不同于这些部分的 GTFS 定义。

  • 实验性支持:这些字段在 Google 公交的实现中处于实验阶段。如果您想实现新的实验性字段,请与 Google 公交团队联系。

  • 支持 Google 公交的扩展程序:此扩展程序不属于官方 GTFS。支持公交的扩展程序包括公共扩展程序和 Google 公交专用的扩展程序。任何合作伙伴都可以通过其 Feed 将此信息发送到 Google 公交。

静态公交

以下各部分记录了官方 GTFS 与 Google 公交的静态 Feed 实现之间的主要区别。

静态 Feed 中被忽略的官方规范

Google 公交会忽略的一些官方规范是实验性规范。如需了解详情,请访问 gtfs.org

表 1 列出了静态 Feed 中公交不支持的 GTFS 文件。此外,Google 公交也不支持这些文件中定义的任何字段。

表 1. 静态 Feed 中不受支持的 GTFS 文件
areas.txt
fare_leg_rules.txt
fare_products.txt
fare_transfer_rules.txt
levels.txt
stop_areas.txt

表 2 列出了静态 Feed 中公交系统忽略的所有由 GTFS 定义的字段。

表 2. 静态 Feed 中忽略的 GTFS 字段
文件名 GTFS 中定义的忽略字段 字段类型
fare_attributes.txt payment_method 枚举
feed_info.txt default_lang 语言代码
feed_info.txt feed_publisher_name 文字
pathways.txt max_slope 浮点值
routes.txt continuous_drop_off 枚举
routes.txt continuous_pickup 枚举
routes.txt network_id ID
routes.txt route_desc 文字
routes.txt route_sort_order 非负整数
stops.txt level_id ID
stops.txt stop_desc 文字
stops.txt stop_url 网址
stops.txt tts_stop_name 文字
stops.txt bikes_allowed 枚举

静态 Feed 中有不同的解读

虽然 Transit 接受由 GTFS 定义的某些字段,但 Transit 以与 GTFS 不同的方式解读这些字段。

表 3 显示了 Google 公交在静态 Feed 中实现与 GTFS 中描述不同的字段。

表格 3. 采用不同方式实现的静态 Feed 字段
文件名 在 GTFS 中定义的字段 字段类型 是否需要 Google 公交? Google 公交实现详情
fare_attributes.txt transfers 枚举 必需

Google 公交扩展程序。

公共 GTFS 将值限制在 02 之间。Google 公交接受从 05 的值。

使用此字段可设置票价允许的换乘次数上限。这不包括块移(也称为“就座转移”)。如果您不想设置票价的中转次数限制,请将 transfers 字段留空。

pathways.txt pathway_mode 枚举 可选 指定 pathway_mode 字段后,如果将其留空,Google 公交会接受该字段,并将其视为未知。
stop_times.txt arrival_time 时间 在特定条件下必需 小时数的范围限定在 0099 之间,这对于三天行程来说足够了。
transfers.txt transfer_type 枚举 必需

45 的值不受支持,会被忽略。

Google 公交支持 0123 的值。

trips.txt block_id ID 可选 如需了解详情,请参阅屏蔽转移示例

静态 Feed 中的实验性支持

如果您需要相关支持以在此类别中集成新的实验性字段,请与 Google 公交联系。

静态 Feed 中支持 Google 公交的扩展程序

表 4 提供了有关 Google 公交扩展程序的信息。这些字段不属于官方 GTFS。

表格 4.支持的静态 Feed 附加信息
文件名 字段 字段类型 是否需要 Google 公交? Google 公交实现详情
fare_attributes.txt ic_price 浮点值 可选

此 Google 公交扩展程序仅面向日本的合作伙伴提供。

ic_price 字段表示要使用智能卡支付此机票价格的折扣金额。如果此费用不提供折扣,或者智能卡不受支持,则 ic_price 字段的值必须为 -1

fare_rules.txt contains_route_id ID 可选

Google 公交扩展程序。

此费用仅适用于访问由 fare_idorigin_iddestination_id 列组合的所有行中的 route_id 值标识的一组确切路线的行程。

如果缺少 contains_route_id 列,或者该费用的所有值均为 null,则该费用在此参数中不受限制。如果为费用提供了 contains_route_id 字段,则 route_id 字段必须为空。

routes.txt checkin_duration 整数 可选

Google 公交扩展程序。

checkin_duration 字段用于指定建议乘客在预定出发之前提前多少秒到达,以便办理登机手续。

如果乘客通过换乘来接通出发,则任何定义的换乘时间都会替换 checkin_duration 值。

checkin_duration 值只是通常由公交运营商提供的建议值。它可能无法反映乘客到达并仍在上车的绝对最后一刻。

routes.txt route_type 枚举 必需

Google 公交扩展程序。

如需了解 Google 公交如何扩展 GTFS 接受的 route_type 值选项,请参阅 扩展的 GTFS 路线类型

stop_times.txt stop_direction_name 文字 可选

Google 公交扩展程序。

stop_direction_name 字段用于标识面向乘客的行程方向。路线会存储为从该车站出发的 direction_name 值。

如果 stop_direction_name 字段为空,则改用公交支持的 trip_direction_name 字段。如果 trip_direction_namestop_direction_name 字段均为空,则公交进口商将这两个字段留空。在这种情况下,合作伙伴可以改为使用 stop_headsigntrip_headsign 值。stop_direction_name 字段的值已进行标准化处理。

stops.txt signposted_as 文字 可选

Google 公交扩展程序。

signposted_as 字段包含写在平台标牌上的逐字文本。例如“向中部方向”和“东侧和布鲁克林区”。

您可以同时设置 GTFS platform_code 字段和支持公交的 signposted_as 字段。

platform_codesignposted_as 字段之间的区别包括:

  • 长度platform_code 字段通常包含数字或字母,例如 2C
  • 语言platform_code 字段没有语言,但 signposted_as 值可以有翻译。
  • 稳定性platform_code 字段的变化频率远远少于 signposted_as 字段。
stops.txt vehicle_type 整数 可选

Google 公交扩展程序。

vehicle_type 字段用于指定在停靠站使用的交通工具类型。此字段接受分层车辆类型 (HVT) 路线类型。HVT 值源自欧洲传输协议专家组 (TPEG) 标准。

agency.txt ticketing_deep_link_id ID 可选

Google 公交票务扩展程序。

agency.txt 文件中,ticketing_deep_link_id 字段表示用于为此旅行社的行程购票的深层链接。

routes.txt ticketing_deep_link_id ID 可选

Google 公交票务扩展程序。

routes.txt 文件中,ticketing_deep_link_id 字段表示用于为此路线的行程出票的深层链接。

stop_times.txt ticketing_stop_time_id ID 可选

Google 公交票务扩展程序。

如果出现在 stop_times.txt 文件中,ticketing_stop_time_id 字段会使用深层链接替换表示票务停止时间的标识符。

stop_times.txt ticketing_type 枚举 可选

Google 公交票务扩展程序。

ticketing_type 字段指定适用于此经停时间的票务类型。

Google 公交接受以下值:

  • Empty。默认值 - 由行程定义。
  • 0。仅当代理机构或路线具有已启用的票务深层链接时可用。
  • 1。不可用。
ticketing_deep_links.txt android_intent_uri URI 可选

Google 公交票务扩展程序。

android_intent_uri 字段表示在 Android 上用于深层链接的 intent URI。

ticketing_deep_links.txt ios_universal_link_url 网址 可选

Google 公交票务扩展程序。

ios_universal_link_url 字段表示在 iOS 上用于深层链接的通用链接网址。

ticketing_deep_links.txt ticketing_deep_link_id ID 必需

Google 公交票务扩展程序。

ticketing_deep_link_id 字段表示深层链接的标识符。

ticketing_deep_links.txt web_url 网址 可选

Google 公交票务扩展程序。

web_url 字段表示用于在网络上实现深层链接的网址。

ticketing_identifiers.txt agency_id ID 必需

Google 公交票务扩展程序。

如需指定为其定义了默认 ticketing_stop_id 字段的停靠站的代理机构,agency_id 字段包含 GTFS agency.txt 文件中的 ID。

ticketing_identifiers.txt stop_id ID 必需

Google 公交票务扩展程序。

为了指定为其定义默认 ticketing_stop_id 字段的车站,stop_id 字段包含 GTFS stops.txt 文件中的 ID。

ticketing_identifiers.txt ticketing_stop_id ID 必需

Google 公交票务扩展程序。

ticketing_stop_id 字段包含应用于该车站的票务 ID。(可选)代理机构是否符合此 ID 的要求。

trips.txt exceptional 枚举 可选

此字段表示异常行程。此类线路会在非正常时刻运行,或者由于特殊事件或有计划的中断(如轨道维修等)而改道常规路线。

Google 接受以下值选项:

  • 0 - 常规服务
  • 1。服务异常。例如,因特殊事件而添加的服务,或因计划内服务中断而偏离常规路线的服务。
trips.txt ticketing_trip_id ID 可选

Google 公交票务扩展程序。

如果存在 ticketing_trip_id 字段,则其值会替换 trip_id 字段,以使用深层链接识别票务行程。

trips.txt ticketing_type 枚举 可选

Google 公交票务扩展程序。

ticketing_type 字段指定适用于此行程的票务类型。

Google 公交接受以下值:

  • 0。默认值。仅当代理机构或路线具有已启用的票务深层链接时可用。
  • 1。不可用。
translations.txt lang 语言代码 可选

Google 公交扩展程序。

lang 字段不属于官方 GTFS,但 Google 公交会使用此值(如果存在)。

如需指定短语的翻译,请使用 lang 字段。其值不得为空或 und(一种未定义的语言)。

translations.txt trans_id ID 可选

Google 公交扩展程序。

trans_id 字段不属于官方 GTFS,但 Google 公交会使用此值(如果存在)。

如需指定提供翻译的短语的 ID 令牌,请使用 trans_id 字段。translations.txt 表中的每一行都表示在语言 lang 中,词组 trans_id 转换为 translation

trips.txt original_trip_id ID 可选

Google 公交扩展程序。

如果出现在 trips.txt 文件中,则 original_trip_id 值会替换 trip_id 值,以供其他系统使用。实时匹配就是一个例子。

trips.txt trip_direction_name 文字 可选

Google 公交扩展程序。

trip_direction_name 字段用于标识面向乘客的行程方向。此字段的值存储为每次行程的 direction_name 值。

如果 stop_times 表中的 stop_direction_name 值随着行程发生变化,则可能会替换 trip_direction_name 值。

trip_direction_name 字段中的值会采用大小写规范。

trips.txt vehicle_category_id ID 可选

Google 公交扩展程序。

trips.txt 文件中,vehicle_category_id 字段用于标识分配给此行程的车辆。当此字段位于 trips.txt 文件中时,其值将替换 routes.txt 文件中的 vehicle_category_id 值。