Google Transit y GTFS Schedule: referencia y diferencias

En esta página, se describen las principales diferencias entre GTFS Schedule oficial y la implementación de Google Transit de dichas especificaciones en las siguientes áreas:

  • Especificaciones oficiales omitidas: Estos campos forman parte de las GTFS oficiales. Google Transit transfiere estos datos sin errores, pero no los utiliza de manera proactiva.

  • Interpretación diferente: Estos campos incluyen las partes de las GTFS oficiales que Google Transit interpreta de manera diferente de su definición proporcionada en las GTFS.

  • Compatibilidad experimental: Estos campos son experimentales en la implementación de Google Transit. Si deseas implementar un nuevo campo experimental, comunícate con el equipo de Google Transit.

  • Extensión compatible con Google Transit: Esta extensión no forma parte de las GTFS oficiales. Entre las extensiones compatibles con Google Transit, se incluyen aquellas tanto públicas como específicas de dicha herramienta. Cualquier socio puede enviar esta información a Google Transit en su feed.

Transporte público estático

En las siguientes secciones, se documentan las principales diferencias entre el feed estático de las GTFS oficiales y la implementación de Google Transit.

Especificaciones oficiales omitidas en feeds estáticos

Algunas especificaciones oficiales que Google Transit omite son experimentales. Para obtener más información, ve a gtfs.org.

En la tabla 1, se mencionan los archivos GTFS que Google Transit no admite en los feeds estáticos. Además, Google Transit no admite ninguno de los campos definidos en estos archivos.

Tabla 1. Archivos GTFS incompatibles con feeds estáticos
areas.txt
fare_leg_rules.txt
fare_products.txt
fare_transfer_rules.txt
levels.txt
stop_areas.txt

En la tabla 2, se mencionan todos los campos definidos en las GTFS que Google Transit omite en los feeds estáticos.

Tabla 2. Campos GTFS omitidos en feeds estáticos
Nombre del archivo Campo definido en las GTFS que se omite Tipo de campo
fare_attributes.txt payment_method Enum
feed_info.txt default_lang Código de idioma
feed_info.txt feed_publisher_name Texto
pathways.txt max_slope Número de punto flotante
routes.txt continuous_drop_off Enum
routes.txt continuous_pickup Enum
routes.txt network_id ID
routes.txt route_desc Texto
routes.txt route_sort_order Número entero no negativo
stops.txt level_id ID
stops.txt stop_desc Texto
stops.txt stop_url URL
stops.txt tts_stop_name Texto
trips.txt bikes_allowed Enum

Interpretación diferente en feeds estáticos

Aunque Google Transit acepta determinados campos definidos en las GTFS, los interpreta de manera diferente.

En la tabla 3, se muestran los campos de los feeds estáticos que Google Transit implementa de forma diferente de lo descrito en las GTFS.

Tabla 3. Campos de feeds estáticos implementados de forma diferente
Nombre del archivo Campo definido en las GTFS Tipo de campo ¿Es obligatorio para Google Transit? Detalles de la implementación de Google Transit
fare_attributes.txt transfers Enum Obligatorio

Extensión de Google Transit.

Las GTFS públicas limitan los valores a un rango de 0 a 2. Google Transit acepta valores de 0 a 5.

Utiliza este campo para establecer la cantidad máxima de transbordos permitidos con la tarifa. Esto no incluye los transbordos en bloque, también conocidos como transbordos en el mismo vehículo. Si no deseas establecer límites para la cantidad de transbordos permitidos con una tarifa, deja el campo transfers vacío.

pathways.txt pathway_mode Enum Opcional Cuando se especifica el campo pathway_mode, si se deja vacío, Google Transit lo acepta y trata como desconocido.
stop_times.txt arrival_time Hora Condicionalmente obligatorio El horario está restringido a valores de 00 a 99, lo cual es más que suficiente para viajes de tres días.
transfers.txt transfer_type Enum Obligatorio

Los valores de 4 y 5 no se admiten y se omiten.

Google Transit admite valores de 0, 1, 2 y 3.

trips.txt block_id ID Opcional Para obtener más información, consulta Ejemplo de transbordo en bloque.

Compatibilidad experimental en feeds estáticos

Si necesitas asistencia para integrar nuevos campos experimentales en esta categoría, comunícate con Google Transit.

Extensiones compatibles con Google Transit en feeds estáticos

En la tabla 4, se proporciona información sobre las extensiones de Google Transit. Estos campos no forman parte de las GTFS oficiales.

Tabla 4. Extensiones compatibles de feeds estáticos
Nombre del archivo Campo Tipo de campo ¿Es obligatorio para Google Transit? Detalles de la implementación de Google Transit
fare_attributes.txt ic_price Número de punto flotante Opcional

Esta extensión de Google Transit solo está disponible para los socios de Japón.

El campo ic_price representa el importe con descuento que se debe pagar por esta tarifa con una tarjeta inteligente. Si no se proporcionan descuentos para esta tarifa o si no se admite la tarjeta inteligente, el valor del campo ic_price debe ser -1.

fare_rules.txt contains_route_id ID Opcional

Extensión de Google Transit.

Esta tarifa se aplica solo a los viajes que recorren un conjunto exacto de rutas identificadas por el valor de route_id en todas las filas de esta combinación de las columnas fare_id, origin_id y destination_id.

Si falta la columna contains_route_id o si todos sus valores para esta tarifa son nulos, la tarifa no se restringirá en este parámetro. Si se proporciona el campo contains_route_id para una tarifa, el campo route_id debe estar vacío.

routes.txt checkin_duration Número entero Opcional

Extensión de Google Transit.

El campo checkin_duration especifica cuántos segundos antes de la salida programada se recomienda llegar a un pasajero para anunciar su llegada y abordar.

Si el pasajero debe hacer un transbordo para llegar a la salida, el tiempo de trasbordo definido anulará el valor de checkin_duration.

El valor de checkin_duration es solo una recomendación que suele proporcionar el operador de transporte público. Es posible que no refleje la hora límite real a la que el pasajero puede llegar y aún abordar el vehículo.

routes.txt route_type Enum Obligatorio

Extensión de Google Transit.

Para conocer cómo Google Transit amplía las opciones de valor de route_type aceptadas por las GTFS, consulta Extensiones de tipos de rutas para las GTFS.

stop_times.txt stop_direction_name Texto Opcional

Extensión de Google Transit.

El campo stop_direction_name especifica la dirección de un viaje a los pasajeros. La dirección se almacena como el valor de direction_name de la salida de esta parada.

Si el campo stop_direction_name está vacío, en su lugar se utilizará el campo trip_direction_name compatible con Google Transit. Si los campos trip_direction_name y stop_direction_name están vacíos, el importador de transporte público los dejará así. En ese caso, los socios pueden utilizar el valor de stop_headsign o trip_headsign en su lugar. El uso de mayúsculas y minúsculas de los valores del campo stop_direction_name está normalizado.

stops.txt signposted_as Texto Opcional

Extensión de Google Transit.

El campo signposted_as contiene el texto exacto que se muestra en el cartel de la plataforma. Algunos ejemplos son "Hacia la central" y "Lado Este y Brooklyn".

El campo platform_code de las GTFS y el campo signposted_as compatible con Google Transit se pueden configurar de forma simultánea.

Estas son algunas de las diferencias entre los campos platform_code y signposted_as:

  • Longitud. El campo platform_code suele contener un número o una letra, como 2 o C.
  • Idioma. El campo platform_code no tiene un idioma, pero los valores de signposted_as pueden tener traducciones.
  • Estabilidad. El campo platform_code cambia con mucha menos frecuencia que el campo signposted_as.
stops.txt vehicle_type Número entero Opcional

Extensión de Google Transit.

El campo vehicle_type especifica el tipo de vehículos que se utilizan en una parada. Este campo acepta las clases de ruta de los tipos jerárquicos de vehículos (HVT). Los valores de HVT provienen del estándar del grupo de expertos en protocolo de transporte (TPEG) de Europa.

agency.txt ticketing_deep_link_id ID Opcional

Extensión de venta de boletos de Google Transit

En el archivo agency.txt, el campo ticketing_deep_link_id representa el vínculo directo que se utiliza para emitir los boletos de los viajes de esta agencia.

routes.txt ticketing_deep_link_id ID Opcional

Extensión de venta de boletos de Google Transit

En el archivo routes.txt, el campo ticketing_deep_link_id representa el vínculo directo que se utiliza para emitir los boletos de los viajes de esta ruta.

stop_times.txt ticketing_stop_time_id ID Opcional

Extensión de venta de boletos de Google Transit

Si está presente en el archivo stop_times.txt, el campo ticketing_stop_time_id anula el identificador que representa la hora de parada para emitir boletos con vínculos directos.

stop_times.txt ticketing_type Enum Opcional

Extensión de venta de boletos de Google Transit

El campo ticketing_type especifica el tipo de venta de boletos que se aplica a esta hora de parada.

Google Transit acepta los siguientes valores:

  • Empty. Es el valor predeterminado, según se define en el viaje.
  • 0. Solo está disponible si la agencia o la ruta tienen habilitado un vínculo directo de venta de boletos.
  • 1. No está disponible.
ticketing_deep_links.txt android_intent_uri URI Opcional

Extensión de venta de boletos de Google Transit

El campo android_intent_uri representa el URI del intent que se utiliza para la vinculación directa en Android.

ticketing_deep_links.txt ios_universal_link_url URL Opcional

Extensión de venta de boletos de Google Transit

El campo ios_universal_link_url representa la URL del vínculo universal que se utiliza para la vinculación directa en iOS.

ticketing_deep_links.txt ticketing_deep_link_id ID Obligatorio

Extensión de venta de boletos de Google Transit

El campo ticketing_deep_link_id representa el identificador del vínculo directo.

ticketing_deep_links.txt web_url URL Opcional

Extensión de venta de boletos de Google Transit

El campo web_url representa la URL que se utiliza para los vínculos directos en la Web.

ticketing_identifiers.txt agency_id ID Obligatorio

Extensión de venta de boletos de Google Transit

Para especificar la agencia de la parada para la que se definió el campo ticketing_stop_id predeterminado, el campo agency_id contiene el ID del archivo agency.txt de las GTFS.

ticketing_identifiers.txt stop_id ID Obligatorio

Extensión de venta de boletos de Google Transit

Para especificar la parada para la que se definió el campo ticketing_stop_id predeterminado, el campo stop_id contiene el ID del archivo stops.txt de las GTFS.

ticketing_identifiers.txt ticketing_stop_id ID Obligatorio

Extensión de venta de boletos de Google Transit

El campo ticketing_stop_id contiene el ID de venta de entradas que se aplica a la parada. De manera opcional, una agencia puede calificar el ID.

trips.txt exceptional Enum Opcional

Este campo indica viajes excepcionales, es decir, que operan fuera del horario normal o se desvían de la ruta habitual debido a eventos especiales o interrupciones planificadas (como obras en el camino, etcétera).

Google acepta las siguientes opciones de valores:

  • 0. Servicios normales
  • 1. Excepción del servicio. Por ejemplo, servicios agregados debido a eventos especiales o desviados de la ruta habitual debido a interrupciones planificadas.
trips.txt ticketing_trip_id ID Opcional

Extensión de venta de boletos de Google Transit

Si el campo ticketing_trip_id está presente, su valor anula el campo trip_id para identificar el viaje para el que se deben emitir boletos con vínculos directos.

trips.txt ticketing_type Enum Opcional

Extensión de venta de boletos de Google Transit

El campo ticketing_type especifica el tipo de venta de entradas que se aplica a este viaje.

Google Transit acepta los siguientes valores:

  • 0. Es el valor predeterminado. Solo está disponible si la agencia o la ruta tienen habilitado un vínculo directo de venta de entradas.
  • 1. No está disponible.
translations.txt lang Código de idioma Opcional

Extensión de Google Transit.

El campo lang no forma parte de las GTFS oficiales, pero Google Transit utiliza este valor cuando está presente.

Para especificar la traducción de una frase, utiliza el campo lang. Su valor no debe estar vacío ni ser und (un idioma indefinido).

translations.txt trans_id ID Opcional

Extensión de Google Transit.

El campo trans_id no forma parte de las GTFS oficiales, pero Google Transit utiliza este valor cuando está presente.

Para especificar el token de ID de la frase para la que se proporciona la traducción, utiliza el campo trans_id. Cada fila de la tabla translations.txt indica que, en el idioma lang, la frase trans_id se traduce como translation.

trips.txt original_trip_id ID Opcional

Extensión de Google Transit.

Si está presente en el archivo trips.txt, el valor de original_trip_id anula el valor de trip_id para su uso en otros sistemas. Un ejemplo de esto son las coincidencias en tiempo real.

trips.txt trip_direction_name Texto Opcional

Extensión de Google Transit.

El campo trip_direction_name especifica la dirección de un viaje a los pasajeros. El valor de este campo se almacena como el valor de direction_name de cada viaje.

Si el valor de stop_direction_name de la tabla stop_times cambia a lo largo del viaje, es posible que anule el valor de trip_direction_name.

El uso de mayúsculas y minúsculas de los valores del campo trip_direction_name está normalizado.

trips.txt vehicle_category_id ID Opcional

Extensión de Google Transit.

En el archivo trips.txt, el campo vehicle_category_id identifica el vehículo asignado a este viaje. Cuando este campo se incluye en el archivo trips.txt, su valor anula el valor de vehicle_category_id del archivo routes.txt.