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

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

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

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

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

  • Google 公交支持的扩展程序:此扩展程序属于官方 GTFS 的一部分。受公交支持的扩展程序包括公共扩展程序和 Google 公交专用扩展程序。任何合作伙伴都可以在其 Feed 中向 Transit 发送此类信息。

静态转接

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

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

Transit 会忽略某些官方规范,因为这些规范处于实验阶段。如需了解详情,请访问 gtfs.org

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

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

表 2 列出了静态 Feed 中 Transit 会忽略的所有 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 文本
trips.txt bikes_allowed 枚举

静态 Feed 中的不同解读

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

表 3 显示了静态 Feed 中 Transit 的实现方式与 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 字段包含平台标牌上书写的逐字文本。示例包括“Towards Central”(朝向中央)和“East side & Brooklyn”(东区和布鲁克林)。

您可以同时设置 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 值。