Referencia

En este documento, se definen el formato y la estructura de los archivos que conforman un conjunto de datos de GTFS.

Índice

  1. Definiciones de términos
  2. Tipos de campos
  3. Archivos de conjuntos de datos
  4. Requisitos de los archivos
  5. Definiciones de campos

Definiciones de términos

En esta sección, encontrarás las definiciones de los términos que se utilizan en este documento.

  • Conjunto de datos: Es un conjunto completo de archivos definido por la referencia de esta especificación. Si se modifica el conjunto de datos, se crea una nueva versión de este. Los conjuntos de datos se deben publicar en una URL permanente y pública, incluido el nombre del archivo ZIP (p. ej., https://www.agency.org/gtfs/gtfs.zip).
  • Registro: Es una estructura de datos básica compuesta por varios valores de campo que describen una entidad única (p. ej., una empresa de transporte público, una parada, una ruta, etc.). En una tabla, se representa como una fila.
  • Campo: Es una propiedad de un objeto o una entidad. En una tabla, se representa como una columna.
  • Valor de campo: Es una entrada individual en un campo. En una tabla, se representa como una celda individual.
  • Obligatorio: El campo debe incluirse en el conjunto de datos y debe contener un valor para cada registro. En algunos campos obligatorios, se puede ingresar una string vacía como valor (se indica como vacío en esta especificación). Para ingresar una string vacía, solo debes omitir todo texto entre comas en ese campo.
  • Opcional: El campo puede omitirse en el conjunto de datos. Si se incluye una columna opcional, algunas entradas de ese campo pueden ser strings vacías. Para ingresar una string vacía, solo debes omitir todo texto entre comas en ese campo. Ten en cuenta que un campo que se omite equivale a un campo que está completamente vacío.
  • Condicionalmente obligatorio: El campo o archivo es obligatorio en determinadas condiciones, las cuales se explican en la descripción del archivo o el campo. Fuera de estas condiciones, el campo o archivo es opcional.
  • Día de servicio: Es un período que se usa para indicar la programación de rutas. La definición exacta de día de servicio puede variar según la empresa, pero los días de servicio no suelen coincidir con los días calendario. Un día de servicio puede superar las 24:00:00 horas si el servicio comienza un día y finaliza al día siguiente. Por ejemplo, un servicio que se presta desde las 8:00:00 a.m. del viernes hasta las 2:00:00 a.m. del sábado puede indicarse como disponible de 8:00:00 a 26:00:00 en un solo día de servicio.

Tipos de campos

  • Color: Es un color que está codificado como un número hexadecimal de seis dígitos. Visita https://htmlcolorcodes.com para generar un valor válido (no se incluye el "#" que aparece al principio).
    Ejemplo: FFFFFF para el blanco, 000000 para el negro o 0039A6 para las líneas A, C y E de NYMTA.
  • Código de moneda: Es un código de moneda alfabético ISO 4217. Para ver la lista de monedas actuales, consulta https://es.wikipedia.org/wiki/ISO_4217#C%C3%B3digos_de_divisa_ISO_4217[nota_1]%E2%80%8B.
    Ejemplo: CAD para dólares canadienses, EUR para euros o JPY para yenes japoneses.
  • Fecha: Es el día de servicio en formato AAAAMMDD. Dado que la hora en un día de servicio puede superar las 24 horas, un día de servicio suele incluir información de los días siguientes.
    Ejemplo: 20180913 para el 13 de septiembre de 2018.
  • Correo electrónico: Es una dirección de correo electrónico.
    Ejemplo: example@example.com
  • Enum: Es una opción que proviene de un conjunto de constantes predefinidas incluidas en la columna "Descripción".
    Ejemplo: El campo route_type contiene 0 para tranvías, 1 para el metro, etcétera.
  • ID: El valor del campo ID es un ID interno que no se muestra a los pasajeros y es una secuencia de caracteres UTF-8. Se recomienda utilizar solo los caracteres ASCII imprimibles. Los ID que se definen en un archivo .txt suelen incluirse en otro archivo .txt.
    Ejemplo: El campo stop_id en stops.txt es un ID. El campo stop_id en stop_times.txt es un ID que hace referencia a stops.stop_id.
  • Código de idioma: Es un código de idioma IETF BCP 47. Para obtener una introducción sobre el código IETF BCP 47, consulta http://www.rfc-editor.org/rfc/bcp/bcp47.txt y http://www.w3.org/. Internacional/articles/language-tags/.
    Ejemplo: en para inglés, en-US para inglés estadounidense o de para alemán.
  • Latitud: Es una proyección de latitud WGS84 en grados decimales. El valor debe ser superior o igual a -90.0, así como inferior o igual a 90.0.
    Ejemplo: 41.890169 para el Coliseo Romano.
  • Longitud: Es una proyección de longitud WGS84 en grados decimales. El valor debe ser superior o igual a -180.0, así como inferior o igual a 180.0.
    Ejemplo: 12.492269 para el Coliseo Romano.
  • Punto flotante no negativo: Es un número de punto flotante superior o igual a 0.
  • Número entero no negativo: Es un número entero superior o igual a 0.
  • Número de teléfono: Es un número de teléfono.
  • Hora: Es una hora en formato HH:MM:SS (también se acepta H:MM:SS). La hora se calcula como "mediodía menos 12 h" del día de servicio (lo que corresponde a la medianoche, excepto los días en los que se realiza el cambio de horario de verano. Para obtener más información, consulta el artículo de lineamientos). En el caso de los horarios posteriores a la medianoche, introduce la hora como un valor mayor que 24:00:000 en la hora local HH:MM:SS del día en que empieza el horario del viaje.
    Ejemplo: 14:30:00 para las 2:30 p.m. o 25:35:00 para la 1:35 a.m. del día siguiente.
  • Texto: Es una string de caracteres UTF-8 que se mostrará públicamente, por lo que debe ser legible para los usuarios.
  • Zona horaria: Es la zona horaria según https://www.iana.org/time-zones. Los nombres de zona horaria no incluyen nunca el carácter de espacio, pero pueden contener un guion bajo. Consulta http://en.wikipedia.org/wiki/List_of_tz_zones para obtener una lista de los valores válidos.
    Ejemplo: Asia/Tokyo, America/Los_Angeles o Africa/Cairo.
  • URL: Es una URL completamente calificada que incluye http:// o https://; todos los caracteres especiales de la URL deben incluir el escape correcto. Para obtener instrucciones detalladas sobre cómo crear valores de URL completamente calificadas, visita http://www.w3.org/Addressing/URL/4_URI_Recommentations.html.

Archivos de conjuntos de datos

Esta especificación define los siguientes archivos:

Nombre del archivo Obligatorio Definiciones
agency.txt Obligatorio Define las empresas de transporte público que tienen un servicio representado en este conjunto de datos.
stops.txt Obligatorio Define las paradas en las que los vehículos recogen o dejan pasajeros. También indica las estaciones y las entradas de las estaciones.
routes.txt Obligatorio Rutas de transporte público. Una ruta es un grupo de viajes que se muestra a los pasajeros como un solo servicio.
trips.txt Obligatorio Viajes para cada ruta. Un viaje es una secuencia de dos o más paradas que ocurre durante un período específico.
stop_times.txt Obligatorio Proporciona las horas en las que un vehículo llega a una parada y sale de ella en cada viaje.
calendar.txt Condicionalmente obligatorio Indica las fechas de servicio especificadas mediante un horario semanal, con fechas de inicio y finalización. Este archivo es obligatorio a menos que todas las fechas de servicio se definan en el archivo calendar_dates.txt.
calendar_dates.txt Condicionalmente obligatorio Detalla las excepciones de los servicios definidos en el archivo calendar.txt. Si se omite el archivo calendar.txt, el archivo calendar_dates.txt es obligatorio y debe contener todas las fechas de servicio.
fare_attributes.txt Opcional Define la información sobre las tarifas correspondientes a las rutas de una empresa de transporte público.
fare_rules.txt Opcional Define las reglas para aplicar la información sobre tarifas de los itinerarios.
shapes.txt Opcional Define las reglas para asignar las rutas de viaje de los vehículos, también conocido como alineamientos de rutas.
frequencies.txt Opcional Indica el tiempo entre viajes para los servicios basados en intervalos o una representación comprimida de un servicio con horarios fijos.
transfers.txt Opcional Reglas para establecer conexiones en los puntos de transbordo entre rutas.
pathways.txt Opcional Define los recorridos que conectan ubicaciones dentro de las estaciones.
levels.txt Opcional Describe los niveles dentro de las estaciones.
feed_info.txt Condicionalmente obligatorio Proporciona metadatos sobre el conjunto de datos, incluida la información sobre el publicador, la versión y el vencimiento.
translations.txt Opcional Contiene información traducida sobre una empresa de transporte público.
attributions.txt Opcional Especifica las atribuciones que se aplican al conjunto de datos.

Requisitos de los archivos

Los siguientes requisitos se aplican al formato y el contenido de los archivos del conjunto de datos:

  • Todos los archivos se deben guardar como texto delimitado por comas.
  • La primera línea de cada archivo debe incluir los nombres de campos. Cada subsección de la sección Definiciones de campos corresponde a uno de los archivos en un conjunto de datos de GTFS y especifica los nombres de campos que se pueden usar en ese archivo.
  • Todos los nombres de campos distinguen entre mayúsculas y minúsculas.
  • Los valores de campo no pueden incluir tabulaciones, retornos de carro ni nuevas líneas.
  • Los valores de campo que tengan comillas o comas se deben ingresar entre comillas. Además, cada comilla en el valor de campo debe ir precedida de otra comilla. Esto concuerda con la forma en que Microsoft Excel produce los archivos delimitados por comas (CSV). Para obtener más información sobre el formato de archivo CSV, consulta http://tools.ietf.org/html/rfc4180. En el siguiente ejemplo, se muestra cómo aparecería un valor de campo en un archivo delimitado por comas:
    • Valor original del campo: Contains "quotes", commas and text
    • Valor del campo en el archivo CSV: "Contains ""quotes"", commas and text"
  • Los valores de campo no deben incluir etiquetas HTML, comentarios ni secuencias de escape.
  • Quita cualquier espacio adicional entre los campos o nombres de campo. Muchos analizadores consideran que los espacios forman parte del valor, lo cual puede provocar errores.
  • Cada línea debe terminar con un carácter de salto de línea CRLF o LF.
  • Los archivos deben estar codificados en UTF-8 para admitir todos los caracteres Unicode. Se admiten los archivos que incluyan el carácter Unicode de marca de orden de bytes (BOM). Visita http://unicode.org/faq/utf_bom.html#BOM para obtener más información sobre el carácter BOM y UTF-8.
  • Todos los archivos de conjuntos de datos deben comprimirse juntos.

Definiciones de campos

agency.txt

Archivo: Obligatorio

Nombre del campo Tipo Obligatorio Descripción
agency_id ID Condicionalmente obligatorio Identifica una marca de transporte público, que suele ser lo mismo que una empresa de transporte público. Ten en cuenta que, en algunos casos, como cuando una empresa opera diversos servicios diferentes, las empresas y las marcas no coinciden. En este documento, se usa el término "empresa" en lugar de "marca". Un conjunto de datos puede contener datos de varias empresas. Este campo es obligatorio cuando el conjunto de datos contiene datos de varias empresas de transporte público; de lo contrario, es opcional.
agency_name Texto Obligatorio Contiene el nombre completo de la empresa de transporte público.
agency_url URL Obligatorio URL de la empresa de transporte público.
agency_timezone Zona horaria Obligatorio Contiene la zona horaria del lugar en que se encuentra la empresa de transporte público. Si se especifican varias empresas en el conjunto de datos, cada una de ellas debe tener el mismo valor agency_timezone.
agency_lang Código de idioma Opcional Especifica el idioma principal que usa la empresa de transporte público. Este campo ayuda a los usuarios de GTFS a elegir las reglas sobre el uso de mayúsculas y otros parámetros específicos de la configuración de idioma para el conjunto de datos.
agency_phone Número de teléfono Opcional Indica un número de teléfono de la empresa especificada. Este campo es un valor de string que presenta el número de teléfono correspondiente al área de servicio de la empresa. Puede y debe incluir signos de puntuación para agrupar los dígitos del número. Se permite el uso de texto de marcación (por ejemplo, "503-238-RIDE" de TriMet), pero el campo no debe incluir ningún otro texto descriptivo.
agency_fare_url URL Opcional Especifica la URL de una página web que permite que un pasajero compre boletos o cualquier otro instrumento de pasaje en esa empresa en línea.
agency_email Correo electrónico Opcional Incluye una dirección de correo electrónico que el Departamento de Atención al Cliente de la empresa revisa activamente. Esta dirección de correo electrónico debe ser un punto de contacto directo mediante el cual los pasajeros de transporte público puedan comunicarse con un representante del servicio de atención al cliente de la empresa.

stops.txt

Archivo: Obligatorio

Nombre del campo Tipo Obligatorio Descripción
stop_id ID Obligatorio Identifica una parada, una estación o la entrada de una estación.

El término "entrada de una estación" hace referencia tanto a las entradas como a las salidas de la estación. Las paradas, las estaciones y las entradas de las estaciones se denominan colectivamente "ubicaciones". Es posible que varias rutas utilicen la misma parada.
stop_code Texto Opcional Incluye un texto breve o un número que identifica la ubicación para los pasajeros. Estos códigos suelen usarse en los sistemas de información de transporte público para teléfonos o se encuentran impresos en la señalización a fin de que los pasajeros obtengan fácilmente información sobre una ubicación en especial. El código stop_code puede ser igual a stop_id si es público. Este campo se debe dejar vacío para las ubicaciones sin un código para los pasajeros.
stop_name Texto Condicionalmente obligatorio Indica el nombre de la ubicación. Usa un nombre que resulte comprensible para las personas, ya sean locales o turistas.

Si la ubicación es un área de embarque (location_type=4), stop_name debe contener el nombre de dicha área tal como lo muestra la empresa. Puede ser simplemente una letra (como en algunas estaciones de tren interurbanas europeas) o frases como "Área de embarque para sillas de ruedas" (como en el metro de Nueva York) o "Frente de trenes cortos" (en el RER de París).

Condicionalmente obligatorio:
• Obligatorio para las ubicaciones que son paradas (location_type=0), estaciones (location_type=1) o entradas/salidas de estaciones (location_type=2)
• Opcional para las ubicaciones que son nodos genéricos (location_type=3) o áreas de embarque (location_type=4)
stop_desc Texto Opcional Es una descripción de la ubicación que proporciona información útil y de buena calidad. No reproduzcas simplemente el nombre de la ubicación.
stop_lat Latitud Condicionalmente obligatorio Indica la latitud de la ubicación.

Condicionalmente obligatorio:
• Obligatorio para ubicaciones que son paradas (location_type=0), estaciones (location_type=1) o entradas/salidas (location_type=2)
• Opcional para ubicaciones que son nodos genéricos (location_type=3) o áreas de embarque (location_type=4)
stop_lon Longitud Condicionalmente obligatorio Indica la longitud de la ubicación.

Condicionalmente obligatorio:
• Obligatorio para las ubicaciones que son paradas (location_type=0), estaciones (location_type=1) o entradas/salidas (location_type=2)
• Opcional para las ubicaciones que son nodos genéricos (location_type=3) o áreas de embarque (location_type=4)
zone_id ID Condicionalmente obligatorio Identifica la zona tarifaria de una parada. Este campo es obligatorio si se proporciona información de las tarifas mediante fare_rules.txt; de lo contrario, es opcional. Si este registro corresponde a una estación o la entrada de una estación, zone_id se ignora.
stop_url URL Opcional Contiene la URL de una página web sobre la ubicación. Debe ser diferente de los valores de campo agency.agency_url y routes.route_url.
location_type Enumeración Opcional Tipo de ubicación:
0 (o en blanco): Parada (o Plataforma). Una ubicación en la que los pasajeros suben a bordo o bajan de un vehículo de transporte público. Se denomina plataforma cuando se define dentro de una parent_station.
• 1: Estación: Una estructura física o área que contiene una o varias plataformas.
2: Entrada/salida: Una ubicación en la que los pasajeros pueden entrar a la estación desde la calle o salir de la estación hacia la calle. Si una entrada o salida pertenecen a varias estaciones, pueden vincularse a ambas mediante recorridos, pero el proveedor de datos debe elegir una de ellas como la principal.
3: Nodo genérico: Es una ubicación dentro de una estación que no coincide con ningún otro location_type y que se puede usar para vincular los recorridos que se definen en pathways.txt.
4: Área de embarque: Es una ubicación específica en una plataforma en la que los pasajeros pueden subir a bordo o bajar de un vehículo.
parent_station ID de referencia de stops.stop_id Condicionalmente obligatorio Establece la jerarquía entre las diferentes ubicaciones que se definen en stops.txt. Contiene el ID de la ubicación principal, como se indica a continuación:
• Parada/plataforma (location_type=0): El campo parent_station contiene el ID de una estación.
Estación (location_type=1): Este campo debe estar vacío.
Entrada/salida (location_type=2) o nodo genérico (location_type=3 ): El campo parent_station contiene el ID de una estación (location_type=1).
• Área de embarque (location_type=4): El campo parent_station contiene el ID de una plataforma.

Condicionalmente obligatorio:
• Obligatorio para las ubicaciones que son entradas (location_type=2), nodos genéricos (location_type=3) o áreas de embarque (location_type=4)
• Opcional para paradas/plataformas (location_type=0)
• Prohibido para las estaciones (location_type=1)
stop_timezone Zona horaria Opcional Indica la zona horaria de la ubicación. Si la ubicación tiene una estación principal, hereda la zona horaria de esta en lugar de aplicar la propia. Las estaciones y las paradas sin estación principal stop_timezone heredan la zona horaria especificada por agency.agency_timezone. Si se proporcionan valores stop_timezone, los horarios en stop_times.txt se deben ingresar en relación con la medianoche en la zona horaria especificada por agency.agency_timezone. Esto garantiza que los valores de horarios en un viaje siempre aumenten durante el transcurso de un viaje, independientemente de las zonas horarias que atraviese el viaje.
wheelchair_boarding Enumeración Opcional Indica si es posible acceder en silla de ruedas en esa ubicación. Las opciones válidas son las siguientes:

Para las paradas sin estación principal:
0 o en blanco (no hay información de accesibilidad para la parada).
1: Algunos vehículos de esta parada permiten el embarque en silla de ruedas.
2: Esta parada no permite el embarque en silla de ruedas.

Para las paradas secundarias:
0 o en blanco: La parada hereda el comportamiento de wheelchair_boarding de la estación principal si se especifica allí.
1: Hay una ruta accesible desde el exterior de la estación a la parada o plataforma específica.
2: No hay una ruta accesible desde el exterior de la estación hasta la parada o plataforma específica.

Para las entradas o salidas de estaciones:
0 o en blanco: La entrada a la estación hereda el comportamiento de wheelchair_boarding de la estación principal si se especifica allí.
1: La entrada de la estación permite el acceso en silla de ruedas.
2: No hay una ruta accesible desde la entrada de la estación hasta las paradas o plataformas.
level_id ID de referencia de levels.level_id Opcional Indica el nivel de la ubicación. Se puede usar el mismo nivel en varias estaciones no vinculadas.
platform_code Texto Opcional Es el identificador de plataforma correspondiente a la parada en una plataforma (una parada que pertenece a una estación). Solo debe incluir el identificador de la plataforma (p. ej., "G" o "3"). No se deben incluir palabras como "plataforma" o "andén" (o el equivalente específico en el idioma del feed). Esto permite que los consumidores del feed internacionalicen y localicen con mayor facilidad el identificador de la plataforma en otros idiomas.

routes.txt

Archivo: Obligatorio

Nombre del campo Tipo Obligatorio Descripción
route_id ID Obligatorio Identifica una ruta.
agency_id ID de referencia de agency.agency_id Condicionalmente obligatorio Define una empresa para la ruta especificada. Este campo es obligatorio cuando el conjunto de datos proporciona datos de rutas correspondientes a más de una empresa en agency.txt; de lo contrario, es opcional.
route_short_name Texto Condicionalmente obligatorio Indica el nombre corto de una ruta. Por lo general, es un identificador corto y abstracto, como "32", "100X" o "Verde", que los pasajeros utilizan para identificar una ruta, pero no proporciona ninguna indicación sobre los lugares que atraviesa. Se debe especificar, al menos, uno de los valores route_short_name y route_long_name, o bien ambos, si corresponde.
route_long_name Texto Condicionalmente obligatorio Indica el nombre completo de una ruta. Este nombre suele ser más descriptivo que el nombre que se indica en route_short_name y suele incluir el destino o la parada de la ruta. Se debe especificar, al menos, uno de los valores route_short_name y route_long_name, o bien ambos, si corresponde.
route_desc Texto Opcional Es una descripción de una ruta que proporciona información útil y de buena calidad. No repitas simplemente el nombre de la ruta.
Por ejemplo: Los trenes "A" van desde Inwood-207 St, Manhattan hasta Far Rockaway-Mott Avenue, Queens, en todo momento. Además, a partir de las 6 a.m. aproximadamente hasta cerca de la medianoche, los trenes "A" de refuerzo van desde Inwood-207 St a Lefferts Boulevard (por lo general, los trenes alternan entre Lefferts Blvd y Far Rockaway).
route_type Enumeración Obligatorio Indica el tipo de transporte que se usa en una ruta. Las opciones válidas son las siguientes:

0 - Tranvía, trolebús o tren ligero: Cualquier tren ligero o sistema ferroviario a nivel de la calle dentro de un área metropolitana.
1 - Subterráneo o metro: Cualquier sistema ferroviario subterráneo dentro de un área metropolitana.
2 - Tren: Se utiliza para viajes interurbanos o de larga distancia.
3 - Autobús: Se utiliza para rutas en autobús de corta y larga distancia.
4 - Transbordador: Se utiliza para el servicio de transporte por agua de corta y larga distancia.
5 - Tranvía de cable: Se utiliza para todo vehículo ferroviario en el nivel de la calle donde el cable pasa por debajo del vehículo, p. ej., el tranvía en San Francisco.
6 - Servicio de teleférico, vehículo suspendido de cables (p. ej., teleférico, tranvía aéreo): Es un transporte por cable en el que cabinas, vehículos vagones o aerosillas se suspenden mediante uno o más cables.
7 - Funicular: Es un sistema ferroviario diseñado para recorridos con una gran inclinación.
11 - Trolebús: Son autobuses eléctricos que obtienen energía de cables aéreos mediante polos.
12 - Monorriel: Es un transporte ferroviario con vía de un solo riel o una viga.
route_url URL Opcional Contiene la URL de una página web sobre una ruta específica. Debe ser diferente del valor agency.agency_url.
route_color Color Opcional Indica la designación de color de la ruta en función del material disponible para el público. Si se omite o se deja vacío, se configura como blanco (FFFFFF) de forma predeterminada. La diferencia de color entre route_color y route_text_color debe proporcionar suficiente contraste cuando se visualiza en una pantalla en blanco y negro.
route_text_color Color Opcional Especifica un color legible para el texto superpuesto sobre un fondo del valor route_color. El valor predeterminado es el negro (000000) cuando se omite o se deja vacío. La diferencia de color entre route_color y route_text_color debe proporcionar suficiente contraste cuando se visualiza en una pantalla en blanco y negro.
route_sort_order Número entero no negativo Opcional Ordena las rutas de un modo que resulte ideal para la presentación a los clientes. Las rutas con valores route_sort_order más pequeños se muestran primero.
continuous_pickup Enumeración Opcional Indica si un pasajero puede subir al vehículo de transporte público en cualquier punto del recorrido del vehículo. shapes.txt describe el recorrido en cada viaje de la ruta. Las opciones válidas son las siguientes:

0: Paradas continuas de recogida de pasajeros.
1 o en blanco: No hay paradas continuas de recogida de pasajeros.
2: Se debe llamar a una empresa para organizar paradas continuas de recogida de pasajeros.
3: Se deben coordinar las paradas continuas de recogida de pasajeros con el conductor.

El comportamiento predeterminado de paradas continuas de recogida de pasajeros definido en routes.txt se puede anular en stop_times.txt.
continuous_drop_off Enumeración Opcional Indica si un pasajero puede descender del vehículo de transporte público en cualquier punto del recorrido del vehículo. shapes.txt describe el recorrido en cada viaje de la ruta. Las opciones válidas son las siguientes:

0: Paradas continuas de bajada de pasajeros.
1 o en blanco: No hay paradas continuas de bajada de pasajeros.
2: Se debe llamar a una empresa para organizar paradas continuas de bajada de pasajeros.
3: Se deben coordinar las paradas continuas de bajada de pasajeros con el conductor.

El comportamiento predeterminado de paradas continuas de bajada de pasajeros definido en routes.txt se puede anular en stop_times.txt.

trips.txt

Archivo: Obligatorio

Nombre del campo Tipo Obligatorio Descripción
route_id ID de referencia de routes.route_id Obligatorio Identifica una ruta.
service_id ID de referencia de calendar.service_id o calendar_dates.service_id Obligatorio Identifica un conjunto de fechas en las que el servicio está disponible para una o más rutas.
trip_id ID Obligatorio Identifica un viaje.
trip_headsign Texto Opcional Contiene el texto que aparece en la señalización que identifica el destino del viaje para los pasajeros. Utiliza este campo para distinguir diferentes patrones de servicio en la misma ruta. Si la señal de destino cambia durante un viaje, trip_headsign puede anularse mediante la especificación de valores para stop_times.stop_headsign.
trip_short_name Texto Opcional Contiene texto público que se utiliza para que los pasajeros identifiquen el viaje, por ejemplo, para que identifiquen los números de tren en los viajes diarios. Si los pasajeros no suelen utilizar los nombres de los viajes, deja este campo vacío. Si se proporciona un valor trip_short_name, este debe identificar de forma exclusiva un viaje en un día de servicio. No lo uses para nombres de destino o designaciones limitadas o expresas.
direction_id Enumeración Opcional Indica la dirección de un viaje. Este campo no se debe utilizar en la elaboración de rutas, sino que proporciona una manera de diferenciar viajes en función de su sentido al publicar los horarios. Las opciones válidas son las siguientes:

0 - Viaje en una dirección (p. ej., viaje de ida)
1 - Viaje en la dirección opuesta (p. ej., viaje de vuelta)
Ejemplo: Los campos trip_headsign y direction_id se pueden utilizar juntos a fin de asignar un nombre a cada sentido del viaje para un conjunto de destinos. Un archivo trips.txt puede contener estos registros para utilizarlos en los horarios:
trip_id,...,trip_headsign,direction_id
1234,...,Airport,0
1505,...,Downtown,1
block_id ID Opcional Identifica el bloque al que pertenece un viaje. Un bloque se compone de un viaje o de varios viajes secuenciales realizados con el mismo vehículo y se define en función de los valores compartidos de día de servicio y block_id. Un block_id puede incluir viajes con diferentes días de servicio, lo cual genera distintos bloques. Consulta el siguiente ejemplo.
shape_id ID de referencia de shapes.shape_id Condicionalmente obligatorio Identifica una forma geoespacial que describe el recorrido del vehículo para un viaje.

Condicionalmente obligatorio:
Este campo es obligatorio si el viaje tiene un comportamiento continuo definido, a nivel de la ruta o del horario de la parada.
De lo contrario, es opcional.
wheelchair_accessible Enumeración Opcional Indica si existe acceso para sillas de ruedas. Las opciones válidas son las siguientes:

0 o en blanco: No hay información de accesibilidad para el viaje.
1: El vehículo que se utiliza en este viaje en particular puede transportar a, al menos, un pasajero en silla de ruedas.
2: Ningún pasajero en silla de ruedas puede acceder a este viaje.
bikes_allowed Enumeración Opcional Indica si se permite el acceso con bicicletas. Las opciones válidas son las siguientes:

0 o en blanco: No hay información sobre el acceso con bicicletas para este viaje.
1: El vehículo que se usa en este viaje en particular puede transportar a, al menos, una bicicleta.
2: No se permite el acceso con bicicleta en este viaje.

Ejemplo de bloques y días de servicio

El siguiente ejemplo es válido, con distintos bloques para cada día de la semana.

route_id trip_id service_id block_id (hora de la primera parada) (hora de la última parada)
red trip_1 lun-mar-miér-jue-vie-sab-dom red_loop 22:00:00 22:55:00
red trip_2 vie-sab-dom red_loop 23:00:00 23:55:00
red trip_3 vie-sab red_loop 24:00:00 24:55:00
red trip_4 lun-mar-miér-jue red_loop 20:00:00 20:50:00
red trip_5 lun-mar-miér-jue red_loop 21:00:00 21:50:00

Notas sobre la tabla:

  • De viernes a sábado por la mañana, por ejemplo, solo un vehículo realiza viajes trip_1, trip_2 y trip_3 (de 10:00 p.m. a 12:55 a.m.). Ten en cuenta que el último viaje se realiza el sábado, de 12:00 a.m. a 12:55 a.m., pero es parte del "día de servicio" del viernes porque los horarios son de 24:00 a 24:55.
  • Los lunes, martes, miércoles y jueves, un solo vehículo realiza los viajes trip_1, trip_4 y trip_5 en un bloque de 8:00 p.m. a 10:55 p.m.

stop_times.txt

Archivo: Obligatorio

Nombre del campo Tipo Obligatorio Descripción
trip_id ID de referencia de trips.trip_id Obligatorio Identifica un viaje.
arrival_time Hora Condicionalmente obligatorio Indica la hora de llegada a una parada específica para un viaje en particular de una ruta. Si no hay horarios diferentes para la llegada y la salida en una parada, ingresa el mismo valor para arrival_time y departure_time. Para los horarios posteriores a la medianoche del día de servicio, ingresa la hora como un valor superior a 24:00 en HH:MM:SS, hora local, del día en que comienza el programa de viajes.

Las paradas programadas en las cuales un vehículo respeta exactamente los horarios de llegada y salida especificados son puntos temporales. Si esta parada no es un punto temporal, te recomendamos proporcionar un horario estimado o interpolado. Si no está disponible, el campo arrival_time puede quedar vacío. Luego, indica que los horarios interpolados se proporcionan con timepoint=0. Si los horarios interpolados se indican con timepoint=0, los puntos temporales deben indicarse con timepoint=1. Proporciona horas de llegada para todas las paradas que sean puntos temporales. Debes especificar la hora de llegada correspondiente a la primera y la última parada de un viaje.
departure_time Hora Condicionalmente obligatorio Indica la hora de salida de una parada específica para un viaje en particular de una ruta. En el caso de los horarios posteriores a la medianoche en el día de servicio, introduce la hora como un valor mayor que 24:00:00 en HH:MM:SS, hora local, correspondiente al día en que empieza el horario del viaje. Si no hay horarios diferentes para la llegada y la salida en una parada, ingresa el mismo valor para arrival_time y departure_time. Consulta la descripción de arrival_time para obtener más detalles sobre el uso correcto de los puntos temporales.

El campo departure_time debe especificar valores de tiempo siempre que sea posible, incluidos los horarios estimados o interpolados no vinculantes entre puntos temporales.
stop_id ID de referencia de stops.stop_id Obligatorio Identifica una parada de servicio. Todas las paradas de servicio durante un viaje deben registrarse en stop_times.txt. Las ubicaciones especificadas deben ser paradas; no pueden ser estaciones ni entradas a estaciones. Puede haber varias paradas de servicio en el mismo viaje, y diferentes viajes y rutas pueden tener la misma parada de servicio.
stop_sequence Número entero no negativo Obligatorio Identifica el orden de las paradas de un viaje determinado. Los valores deben aumentar a lo largo del viaje, pero no es necesario que sean consecutivos.
Ejemplo: la primera ubicación del viaje podría tener un valor de stop_sequence = 1; la segunda, un valor de stop_sequence = 23; la tercera, un valor de stop_sequence = 40, y así sucesivamente.
stop_headsign Texto Opcional Contiene el texto que aparece en la señalización que identifica el destino del viaje para los pasajeros. Este campo anula el valor predeterminado trips.trip_headsign cuando la señal de destino cambia entre las paradas. Si la señal corresponde a un viaje completo, usa el valor trips.trip_headsign en su lugar.

Un valor stop_headsign especificado para un valor stop_time no se aplica a los siguientes valores stop_time en el mismo viaje. Si deseas anular el valor trip_headsign para varios stop_time en el mismo viaje, el valor stop_headsign debe repetirse en cada fila de stop_time.
pickup_type Enumeración Opcional Indica el método de recogida de pasajeros. Las opciones válidas son las siguientes:

0 o en blanco: Recogida programada con regularidad.
1: No hay recogidas disponibles.
2: Se debe llamar a la empresa para organizar una recogida.
3: Se debe coordinar con el conductor para organizar una recogida de pasajeros.
drop_off_type Enumeración Opcional Indica el método para dejar pasajeros. Las opciones válidas son las siguientes:

0 o en blanco: Parada habitual y programada para bajar pasajeros.
1: No hay paradas para dejar pasajeros disponibles.
2: Se debe llamar a la empresa para organizar una parada de bajada de pasajeros.
3: Se debe coordinar la parada de bajada de pasajeros con el conductor.
continuous_pickup Enumeración Opcional Indica si un pasajero puede subir al vehículo de transporte público en cualquier punto del recorrido del vehículo. shapes.txt describe el recorrido, desde esta stop_time hasta la siguiente stop_time en la stop_sequence del viaje. Las opciones válidas son las siguientes:

0: Paradas continuas de recogida de pasajeros.
1 o en blanco: No hay paradas continuas de recogida de pasajeros.
2: Se debe llamar a una empresa para organizar paradas continuas de recogida de pasajeros.
3: Se deben coordinar las paradas continuas de recogida de pasajeros con el conductor.

El comportamiento de paradas continuas de recogida de pasajeros indicado en stop_times.txt anula cualquier comportamiento definido en routes.txt.
continuous_drop_off Enumeración Opcional Indica si un pasajero puede descender del vehículo de transporte público en cualquier punto del recorrido del vehículo, tal como se describe en shapes.txt, desde esta stop_time hasta la siguiente stop_time en la stop_sequence del viaje.

0: Paradas continuas de bajada de pasajeros.
1 o en blanco: No hay paradas continuas de bajada de pasajeros.
2: Se debe llamar a una empresa para organizar paradas continuas de bajada de pasajeros.
3: Se deben coordinar las paradas continuas de bajada de pasajeros con el conductor.

El comportamiento de paradas continuas de bajada de pasajeros indicado en stop_times.txt anula cualquier comportamiento definido en routes.txt.
shape_dist_traveled Punto flotante no negativo Opcional Indica la distancia real recorrida a lo largo de una forma asociada desde la primera parada hasta la parada que se especifica en este registro. Este campo indica la porción de la forma que debe trazarse entre dos paradas durante un viaje. Debe expresarse con las mismas unidades que se usan en shapes.txt. Los valores utilizados para shape_dist_traveled deben aumentar junto con los de stop_sequence y no pueden usarse para mostrar el recorrido inverso de una ruta.
Ejemplo: Si un autobús recorre una distancia de 5.25 km desde el inicio de la forma hasta la parada, shape_dist_traveled = 5.25.
timepoint Enumeración Opcional Indica si el vehículo de transporte público respeta estrictamente las horas de llegada y salida especificadas para una parada o si, de lo contrario, se aproxima a esas horas o las interpola. Este campo permite que un productor de GTFS proporcione horarios de parada interpolados, pero también le permite indicar que los horarios son aproximados. Las opciones válidas son las siguientes:

0: Los horarios se consideran como aproximados.
1 o en blanco: Los horarios se consideran como exactos.

calendar.txt

Archivo: Condicionalmente obligatorio

Nombre del campo Tipo Obligatorio Descripción
service_id ID Obligatorio Identifica de forma exclusiva un conjunto de fechas en las que el servicio está disponible en una o más rutas. Cada valor service_id puede aparecer como máximo una vez en un archivo calendar.txt.
monday Enumeración Obligatorio Indica si el servicio funciona todos los lunes del período especificado por los campos start_date y end_date. Ten en cuenta que las excepciones para fechas específicas pueden aparecer en calendar_dates.txt. Las opciones válidas son las siguientes:

1: El servicio está disponible todos los lunes incluidos en el período.
0: El servicio no está disponible los lunes incluidos en el período.
tuesday Enumeración Obligatorio Funciona de la misma manera que monday, pero se aplica a los martes.
wednesday Enumeración Obligatorio Funciona de la misma manera que monday, pero se aplica a los miércoles.
thursday Enumeración Obligatorio Funciona de la misma manera que monday, pero se aplica a los jueves.
friday Enumeración Obligatorio Funciona de la misma manera que monday, pero se aplica a los viernes.
saturday Enumeración Obligatorio Funciona de la misma manera que monday, pero se aplica a los sábados.
sunday Enumeración Obligatorio Funciona de la misma manera que monday, pero se aplica a los domingos.
start_date Fecha Obligatorio Indica el día de comienzo del servicio para el intervalo de servicio.
end_date Fecha Obligatorio Indica el día de finalización del servicio para el intervalo de servicio. Este día se incluye en el intervalo.

calendar_dates.txt

Archivo: Condicionalmente obligatorio

La tabla de calendar_dates.txt te permite habilitar o inhabilitar el servicio de forma explícita según la fecha. Puede usarse de dos formas.

  • Recomendado: Utiliza el archivo calendar_dates.txt junto con calendar.txt para definir cualquier excepción a los patrones de servicio predeterminados que se especifican en calendar.txt. Si el servicio suele ser regular, realizar unos pocos cambios en determinadas fechas (por ejemplo, para adaptar los servicios a eventos especiales o según el horario de una escuela) es un buen enfoque. En este caso, calendar_dates.service_id es un ID que hace referencia a calendar.service_id.
  • Opción alternativa: Omite el archivo calendar.txt y especifica todas las fechas de servicio en el archivo calendar_dates.txt. Esto permite ingresar servicios con una variación considerable, así como los que no cuentan con horarios semanales habituales. En este caso, service_id es un ID.
Nombre del campo Tipo Obligatorio Descripción
service_id ID de referencia de calendar.service_id o ID Obligatorio Identifica un conjunto de fechas en el que haya una excepción del servicio para una o más rutas. Cada par (service_id, date) puede aparecer solo una vez en calendar_dates.txt si usas calendar.txt y calendar_dates.txt en conjunto. Si aparece un valor service_id en calendar.txt y calendar_dates.txt, la información de calendar_dates.txt modifica la información de servicio especificada en calendar.txt.
date Fecha Obligatorio Indica la fecha en la que ocurre la excepción del servicio.
exception_type Enumeración Obligatorio Indica si el servicio está disponible en la fecha especificada en el campo de fecha. Las opciones válidas son las siguientes:

1: Se agregó el servicio para la fecha especificada.
2: Se quitó el servicio para la fecha especificada.
Ejemplo: Supongamos que una ruta tiene un conjunto de viajes disponibles durante los días festivos y otro para los demás días. Un service_id podría corresponder al cronograma de servicio regular y otro service_id, al cronograma de festividades. Para un feriado concreto, el archivo calendar_dates.txt se puede usar para agregar la festividad al service_id de dicha fecha y para quitarla del cronograma regular de service_id.

fare_attributes.txt

Archivo: Opcional

Nombre del campo Tipo Obligatorio Descripción
fare_id ID Obligatorio Identifica un tipo de tarifa.
price Punto flotante no negativo Obligatorio Precio de la tarifa, en la unidad especificada por currency_type.
currency_type Código de moneda Obligatorio Define la moneda que se usa para pagar la tarifa.
payment_method Enumeración Obligatorio Indica cuándo se debe pagar la tarifa. Las opciones válidas son las siguientes:

0: La tarifa se paga a bordo.
1: La tarifa se debe pagar antes de abordar.
transfers Enumeración Obligatorio Especifica la cantidad de transbordos que se permiten con esta tarifa. El hecho de que este campo pueda dejarse vacío es una excepción a la regla de que los campos obligatorios no deben estar vacíos. Las opciones válidas son las siguientes:

0: No se permiten transbordos con esta tarifa.
1: Los pasajeros pueden realizar un solo transbordo.
2: Los pasajeros pueden realizar dos transbordos.
En blanco: Los transbordos son ilimitados.
agency_id ID de referencia de agency.agency_id Condicionalmente obligatorio Identifica la empresa correspondiente a una tarifa. Este campo es obligatorio para los conjuntos de datos de varias empresas que se definen en el archivo agency.txt; de lo contrario, es opcional.
transfer_duration Número entero no negativo Opcional Indica el tiempo transcurrido, en segundos, antes de que se venza un transbordo. Cuando transfers = 0, este campo se puede usar para indicar el período durante el cual un boleto es válido, o bien puede dejarse en blanco.

fare_rules.txt

Archivo: Opcional

La tabla fare_rules.txt permite especificar la manera en que se aplican las tarifas del archivo fare_attributes.txt en un itinerario. La mayoría de las estructuras de tarifas utilizan una combinación de las siguientes reglas:

  • La tarifa depende de las estaciones de origen o de destino.
  • La tarifa depende de las zonas que atraviesa el itinerario.
  • La tarifa depende de la ruta que utiliza el itinerario.

Para ver ejemplos que muestren cómo especificar una estructura de tarifas mediante los archivos fare_rules.txt y fare_attributes.txt, consulta https://code.google.com/p/googletransitdatafeed/wiki/FareExamples en la wiki del proyecto de código abierto GoogleTransitDataFeed.

Nombre del campo Tipo Obligatorio Descripción
fare_id ID de referencia de fare_attributes.fare_id Obligatorio Identifica un tipo de tarifa.
route_id ID de referencia de routes.route_id Opcional Identifica una ruta asociada con un tipo de tarifa. Si hay varias rutas con los mismos atributos de tarifa, crea un registro en fare_rules.txt para cada ruta.
Ejemplo: Si el tipo de tarifa "b" es válido en las rutas "TSW" y "TSE", el archivo fare_rules.txt tendrá los siguientes registros para el tipo de tarifa:
fare_id,route_id
b,TSW
b,TSE
origin_id ID de referencia de stops.zone_id Opcional Identifica una zona de origen. Si un tipo de tarifa tiene varias zonas de origen, crea un registro en fare_rules.txt para cada origin_id.
Ejemplo: Si la tarifa "b" es válida para todos los viajes desde la zona "2" o la zona "8", el archivo fare_rules.txt contendrá estos registros para el tipo de tarifa:
fare_id,...,origin_id
b,...,2
b,...,8
destination_id ID de referencia de stops.zone_id Opcional Identifica una zona de destino. Si un tipo de tarifa tiene varias zonas de destino, crea un registro en fare_rules.txt para cada destination_id.
Ejemplo: Si los campos origin_id y destination_id se pueden usar juntos para especificar que el tipo de tarifa "b" es válido para viajar entre las zonas 3 y 4 y entre las zonas 3 y 5, el archivo fare_rules.txt contendrá estos registros para el tipo de tarifa:
fare_id,...,origin_id,destination_id
b,...,3,4
b,...,3,5
contains_id ID de referencia de stops.zone_id Opcional Identifica las zonas en las que ingresa un pasajero con un determinado tipo de tarifa. En algunos sistemas, se usa para calcular el tipo de tarifa correcto.
Ejemplo: Si el tipo de tarifa "c" se encuentra asociado con todos los viajes de la ruta GRT que recorre las zonas 5, 6 y 7, el archivo fare_rules.txt contendrá estos registros:
fare_id,route_id,...,contains_id
c,GRT,...,5
c,GRT,...,6
c,GRT,...,7
Dado que todas las zonas de contains_id deben coincidir para que se aplique la tarifa, un itinerario que pase por las zonas 5 y 6, pero no por la 7, no se calificaría como "c". Para obtener más detalles, consulta https://code.google.com/p/googletransitdatafeed/wiki/FareExamples en la wiki del proyecto GoogleTransitDataFeed.

shapes.txt

Archivo: Opcional

Las formas describen la ruta que realiza un vehículo en un alineamiento de rutas y se definen en el archivo shapes.txt. Las formas se asocian con viajes y se componen de una secuencia de puntos que el vehículo atraviesa en orden. No es necesario que las formas intercepten la ubicación de las paradas de forma exacta, pero todas las paradas de un viaje deben encontrarse a una distancia cercana respecto de la forma de ese viaje, es decir, cerca de los segmentos rectos que conectan los puntos de la forma.

Nombre del campo Tipo Obligatorio Descripción
shape_id ID Obligatorio Identifica una forma.
shape_pt_lat Latitud Obligatorio Indica la latitud de un punto de la forma. Cada registro del archivo shapes.txt representa un punto de la forma que se usa para definir la forma.
shape_pt_lon Longitud Obligatorio Indica la longitud de un punto de la forma.
shape_pt_sequence Número entero no negativo Obligatorio Especifica la secuencia en la que se conectan los puntos de la forma para crear la forma. Los valores deben aumentar a lo largo del viaje, pero no es necesario que sean consecutivos.
Ejemplo: Si la forma "A_shp" tiene tres puntos en su definición, el archivo shapes.txt puede contener estos registros para definir la forma:
shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence
A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11
shape_dist_traveled Punto flotante no negativo Opcional Indica la distancia real recorrida a lo largo de una forma desde el primer punto hasta el punto que se especifica en este registro. Los planificadores de viajes lo utilizan para mostrar la porción correcta de la forma en un mapa. Los valores deben aumentar junto con shape_pt_sequence; no se pueden usar para mostrar el recorrido inverso a lo largo de una ruta. Las unidades de distancia deben ser coherentes con las utilizadas en stop_times.txt.
Ejemplo: Si un autobús recorre los tres puntos definidos anteriormente para A_shp, los valores shape_dist_traveled adicionales (que se muestran aquí en kilómetros) se verían así:
shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
A_shp,37.61956,-122.48161,0,0
A_shp,37.64430,-122.41070,6,6.8310
A_shp,37.65863,-122.30839,11,15.8765

frequencies.txt

Archivo: Opcional

Frequencies.txt representa viajes que se realizan en intervalos (o tiempos entre viajes) regulares. Puedes usar este archivo para representar dos tipos de servicios diferentes.

  • Servicio basado en la frecuencia (exact_times = 0): No sigue un cronograma fijo a lo largo del día. En cambio, los operadores intentan respetar estrictamente los intervalos predeterminados para los viajes.
  • Representación comprimida de un servicio basado en un cronograma (exact_times = 1): Tiene exactamente el mismo intervalo para los viajes durante un período determinado. En los servicios basados en un cronograma, los operadores intentan respetar estrictamente un horario.
Nombre del campo Tipo Obligatorio Descripción
trip_id ID de referencia de trips.trip_id Obligatorio Identifica el viaje al que se aplica el intervalo de servicio especificado.
start_time Hora Obligatorio Indica la hora a la que el primer vehículo sale de la primera parada del viaje con el intervalo especificado.
end_time Hora Obligatorio Indica la hora a la que el servicio cambia de intervalo (o bien finaliza) en la primera parada del viaje.
headway_secs Número entero no negativo Obligatorio Indica el tiempo, en segundos, entre las salidas desde la misma parada (el intervalo) para el viaje durante el intervalo de tiempo especificado en start_time y end_time. Se permiten varios intervalos para un mismo viaje, pero estos no pueden superponerse. Los intervalos nuevos pueden comenzar en el mismo momento en que finaliza otro intervalo.
exact_times Enumeración Opcional Indica el tipo de servicio de un viaje. Consulta la descripción del archivo para obtener más información. Las opciones válidas son las siguientes:

0 o en blanco: viajes basados en la frecuencia.
1: Viajes basados en un cronograma que tienen exactamente el mismo intervalo durante todo el día. En este caso, el valor de end_time debe ser mayor que el start_time del último viaje deseado, pero menor que la hora de inicio + headway_secs del último viaje deseado.

transfers.txt

Archivo: Opcional

Cuando se calcula un itinerario, las aplicaciones que usan la especificación GTFS interpolan los transbordos en función del tiempo permitido y la proximidad de la parada. Transfers.txt incluye reglas adicionales y anula los transbordos seleccionados.

Nombre del campo Tipo Obligatorio Descripción
from_stop_id ID de referencia de stops.stop_id Obligatorio Identifica una parada o estación en la que comienza una conexión entre rutas. Si este campo hace referencia a una estación, la regla de transbordos se aplica a todas sus paradas secundarias.
to_stop_id ID de referencia de stops.stop_id Obligatorio Identifica una parada o estación en la que finaliza una conexión entre rutas. Si este campo hace referencia a una estación, la regla de transbordos se aplica a todas las paradas secundarias.
transfer_type Enumeración Obligatorio Indica el tipo de conexión para el par especificado (from_stop_id, to_stop_id). Las opciones válidas son las siguientes:

0 o en blanco: Punto de transbordo recomendado entre rutas.
1: Indica el punto de transbordo programado entre dos rutas. El vehículo que sale espera al que llega con el tiempo suficiente para que un pasajero pueda realizar un transbordo entre rutas.
2: El transbordo requiere una cantidad de tiempo mínima entre la llegada y la salida para garantizar una conexión. El tiempo requerido para dicho transbordo se especifica en min_transfer_time.
3: Indica que no es posible realizar transbordos entre rutas en esta ubicación.
min_transfer_time Número entero no negativo Opcional Define la cantidad de tiempo, en segundos, del que debe disponer un itinerario para permitir un transbordo entre rutas en las paradas especificadas. El valor de min_transfer_time debe ser suficiente para permitir que un pasajero normal se desplace de una parada a otra, incluido el margen de tiempo establecido para las posibles variaciones de horario en cada ruta.

pathways.txt

Archivo: Opcional

La extensión GTFS-Pathways utiliza una representación gráfica para describir el recorrido de subterráneos o trenes, con nodos (las ubicaciones) y bordes (los recorridos).

Para ir desde la entrada (que es un nodo representado como una ubicación con el valor location_type=2) hasta una plataforma (que es un nodo representado como una ubicación con el valor location_type=0), el pasajero debe atravesar zonas peatonales, puertas de cobro de tarifas, escaleras, etc. (que son bordes representados como recorridos). La propuesta también agrega otro tipo de ubicación, una ubicación genérica denominada "nodo genérico", para representar, por ejemplo, una zona peatonal desde la que se pueden comenzar diferentes recorridos a pie.

Advertencia: La lista de recorridos de una estación debe ser exhaustiva. En consecuencia, en cuanto una plataforma (una parada), una entrada o un nodo que pertenecen a una estación tengan un recorrido vinculado, se presupone que la estación tiene una descripción exhaustiva de sus recorridos. Por lo tanto, se aplican las siguientes reglas de sentido común:

  • No debe haber ubicaciones aisladas: Si una ubicación dentro de una estación tiene un recorrido, todas las ubicaciones deben tener recorridos (salvo las plataformas que tienen áreas de embarque).
  • No debe haber plataformas bloqueadas: Cada plataforma debe estar conectada, al menos, a una entrada mediante una cadena de recorridos. Prácticamente no existen estaciones que no permitan salir al exterior.
  • No debe haber recorridos para una plataforma con áreas de embarque: Las plataformas que tienen áreas de embarque se tratan como objetos superiores, no puntos. Es posible que no tengan recorridos asignados. Todos los recorridos deben dirigir a las áreas de embarque.
Nombre del campo Tipo Obligatorio Descripción
pathway_id ID Obligatorio El campo pathway_id contiene un ID que identifica exclusivamente un recorrido. Los sistemas utilizan el campo pathway_id como un identificador interno de este registro (p. ej., como clave primaria en la base de datos) y, por lo tanto, pathway_id debe incluir un conjunto de datos único.
Los puntos from_stop_id y to_stop_id se pueden conectar con diferentes recorridos. Por ejemplo, esto ocurre cuando dos escaleras mecánicas se encuentran una al lado de la otra en sentidos opuestos, o cuando una escalera y un ascensor se encuentran en el mismo lugar y se dirigen al mismo lugar.
from_stop_id ID de referencia de stops.stop_id Obligatorio Indica la ubicación donde comienza el recorrido. Contiene un stop_id que identifica una plataforma, una entrada o salida, un nodo genérico o un área de embarque del archivo stops.txt.
to_stop_id ID de referencia de stops.stop_id Obligatorio Indica la ubicación donde finaliza el recorrido. Contiene un stop_id que identifica una plataforma, una entrada o salida, un nodo genérico o un área de embarque del archivo stops.txt.
pathway_mode Enumeración Obligatorio Especifica el tipo de recorrido entre el par especificado (from_stop_id, to_stop_id). Los valores válidos para este campo son los siguientes:
• 1: Pasarela
• 2: Escaleras
• 3: Pasillos deslizantes
• 4: Escalera mecánica
• 5: Ascensor
• 6: Puerta de cobro de tarifa (o puerta de pago): Un recorrido que atraviesa un área de la estación donde se requiere un comprobante de pago (generalmente mediante una puerta de pago física).
Las puertas de cobro de la estación pueden separar las áreas pagas de la estación de las áreas no pagas, o bien diferentes áreas pagas de la misma estación entre sí. Esta información puede usarse para evitar dirigir a los pasajeros por la estación a través de atajos que requerirían que hagan pagos innecesarios, como dirigir a un pasajero a través de una plataforma de subterráneo para llegar a una parada de autobús.
• 7: Puerta de salida: Indica un recorrido para salir de un área en la que se debe presentar un comprobante de pago para ingresar a un área donde este comprobante ya no es necesario.
is_bidirectional Enumeración Obligatorio Indica en qué dirección se puede usar el recorrido:
• 0: El recorrido es unidireccional, de modo que solo se puede usar desde from_stop_id hasta to_stop_id.
• 1: El recorrido es bidireccional, de modo que se puede usar en ambas direcciones.

Las puertas de cobro (pathway_mode=6) y las puertas de salida (pathway_mode=7) no pueden ser bidireccionales.
length Punto flotante no negativo Opcional Longitud horizontal en metros del recorrido desde la ubicación de origen (definida en from_stop_id) hasta la ubicación de destino (definida en to_stop_id).

Este campo se recomienda para pasarelas (pathway_mode=1), puertas de cobro (pathway_mode=6) y puertas de salida (pathway_mode=7).
traversal_time Número entero positivo Opcional La cantidad de tiempo promedio en segundos que se necesita para completar el recorrido desde la ubicación de origen (definida en from_stop_id) hasta la ubicación de destino (definida en to_stop_id).

Este campo se recomienda cuando hay pasillos deslizantes (pathway_mode=3), escaleras mecánicas (pathway_mode=4) y ascensores (pathway_mode=5).
stair_count Número entero no nulo Opcional Indica la cantidad de escaleras en el recorrido.

Prácticas recomendadas: Es posible usar la aproximación de 1 piso = 15 escaleras para generar valores aproximados.

Un valor positivo de stair_count indica que el pasajero debe subir para ir desde from_stop_id hasta to_stop_id. Y un valor negativo de stair_count indica que el pasajero debe bajar para ir desde from_stop_id hasta to_stop_id.

Se recomienda utilizar este campo cuando hay escaleras (pathway_mode=2).
max_slope Punto flotante Opcional Indica el porcentaje de inclinación máximo del recorrido. Los valores válidos para este campo son los siguientes:
• 0 o (en blanco): No hay pendiente.
• Punto flotante: Indica el porcentaje de inclinación del recorrido; es positivo si sube y negativo si baja.

Este campo debe usarse solo para recorridos a pie (pathway_type=1) y cuando hay pasillos deslizantes (pathway_type=3).

Ejemplo: En EE.UU., 0.083 (también expresado como 8.3%) es la proporción máxima de inclinación permitida para sillas de ruedas manuales, lo que significa un aumento de 0.083 m (o 8.3 cm) por cada metro de distancia.
min_width Punto flotante positivo Opcional Indica el ancho mínimo del recorrido en metros.

Este campo es recomendable si el ancho mínimo es menor que 1 metro.
signposted_as Texto Opcional Contiene una string de texto de una señal física visible para los pasajeros de transporte público. La string se puede usar para proporcionar instrucciones escritas a los usuarios, como "Sigue las indicaciones hacia…". El texto debe ingresarse en este campo tal como aparece en las señales impresas; no debe traducirse.
reversed_signposted_as Texto Opcional Es igual al campo signposted_as, pero para el recorrido inverso, p. ej., desde to_stop_id hasta from_stop_id.

levels.txt

Archivo: Opcional

Describe los diferentes niveles de una estación. Es muy útil cuando se usa de forma conjunta con pathways.txt y es obligatorio para los recorridos que incluyen ascensor (pathway_mode=5) a fin de indicarle al usuario que tome el ascensor hasta los niveles "Entrepiso" o "Plataforma", por ejemplo.

Nombre del campo Tipo Obligatorio Descripción
level_id ID Obligatorio Indica el ID del nivel al que se hace referencia en stops.txt.
level_index Punto flotante Obligatorio Es el índice numérico del nivel que indica su posición relativa en relación con los demás (se supone que los niveles con índices más altos se encuentran encima de los niveles con índices más bajos).

Usa un índice de 0 para indicar el nivel del suelo, índices positivos para especificar los niveles superiores a este y negativos para determinar los niveles inferiores.
level_name Texto Opcional Indica el nombre opcional del nivel (que debe coincidir con las letras o números del nivel que se usan dentro del edificio o la estación). Es útil para las rutas que incluyen ascensores (p. ej., toma el ascensor hasta los niveles "Entrepiso", "Plataformas" o "-1").

feed_info.txt

Archivo: Condicionalmente obligatorio

Este archivo incluye información sobre el conjunto de datos en sí mismo, en lugar de los servicios que este describe. En algunos casos, el publicador del conjunto de datos es una entidad diferente de las empresas. Este archivo es obligatorio si se proporciona el archivo translations.txt.

Nombre del campo Tipo Obligatorio Descripción
feed_publisher_name Texto Obligatorio Incluye el nombre completo de la organización que publica el conjunto de datos. Puede coincidir con uno de los valores de agency.agency_name.
feed_publisher_url URL Obligatorio Incluye la URL del sitio web de la organización que publica el conjunto de datos. Puede coincidir con uno de los valores de agency.agency_url.
feed_lang Código de idioma Obligatorio Especifica el idioma predeterminado para el texto de este conjunto de datos. Esta configuración ayuda a los usuarios de GTFS a elegir las reglas sobre el uso de mayúsculas y otros parámetros específicos de la configuración de idioma para el conjunto de datos.

A fin de definir otro idioma, se debe usar el campo language del archivo translations.txt.

Los conjuntos de datos multilingües pueden ser el idioma predeterminado en un texto original en varios idiomas. En esos casos, utiliza el código de idioma ISO 639-2 mul en el campo feed_lang. Proporciona una traducción para cada uno de los idiomas utilizados en el conjunto de datos en el archivo translations.txt. Si todo el texto original del conjunto de datos está en el mismo idioma, no uses mul.

Por ejemplo, un conjunto de datos de Suiza puede establecer el campo stops.stop_name original propagado con nombres de paradas en diferentes idiomas. El nombre de cada parada se escribe de acuerdo con el idioma dominante en la ubicación geográfica de esa parada. Los nombres de las paradas incluyen Genève para la ciudad francoparlante de Ginebra, Zürich para la ciudad germanoparlante de Zúrich y Biel/Bienne para la ciudad bilingüe de Biel/Biena. Establece el valor de feed_lang=mul y proporciona las siguientes traducciones en el archivo transiciones.txt:
  • Alemán: "Genf," "Zürich" y "Biel"
  • Francés: "Genève," "Zurich" y "Bienne"
  • Italiano: "Ginevra," "Zurigo" y "Bienna"
  • Inglés: "Geneva," "Zurich" y "Biel/Bienne"
default_lang Código de idioma Opcional Define el idioma que se utiliza cuando el consumidor de datos no sabe qué idioma habla el pasajero. Se suele definir con el valor en, inglés.
feed_start_date Fecha Opcional El conjunto de datos brinda información completa y confiable sobre los horarios del servicio en el período que se extiende desde el comienzo del día de feed_start_date y el final del día de feed_end_date. Ambos días pueden quedar en blanco si no están disponibles. La fecha de feed_end_date no debe ser anterior a la fecha de feed_start_date si ambas están disponibles. Se recomienda que los proveedores del conjunto de datos brinden información sobre los horarios que se encuentren fuera de este período para informar sobre posibles servicios futuros, pero los usuarios del conjunto de datos deben considerar su estado como no relevante. Si los valores de feed_start_date o feed_end_date se extienden más allá de las fechas del calendario activo definidas en calendar.txt y calendar_dates.txt, el conjunto de datos confirma de forma explícita que no hay servicio para las fechas que se encuentran dentro del intervalo de feed_start_date a feed_end_date, pero que no están incluidas en las fechas del calendario activo.
feed_end_date Fecha Opcional Consulta la fila de feed_start_date en esta tabla.
feed_version Texto Opcional Es una string que indica cuál es la versión actual del conjunto de datos GTFS. Es posible que las aplicaciones consumidoras de la especificación GTFS muestren este valor para ayudar a los publicadores de conjuntos de datos a determinar si se incorporó la versión más reciente de su conjunto de datos.
feed_contact_email Correo electrónico Opcional Proporciona una dirección de correo electrónico para las comunicaciones acerca del conjunto de datos de GTFS y las prácticas relacionadas con la publicación de datos. feed_contact_email es un contacto técnico para las aplicaciones que usan la especificación GTFS. Utiliza el archivo agency.txt para brindar información de contacto del servicio de atención al cliente.
feed_contact_url URL Opcional Proporciona una URL para la información de contacto, un formulario web, el servicio de asistencia, o bien otras herramientas diseñadas para facilitar la comunicación acerca del conjunto de datos GTFS y las prácticas de publicación de datos. feed_contact_url es un contacto técnico para las aplicaciones que usan la especificación GTFS. Utiliza el archivo agency.txt para brindar información de contacto del servicio de atención al cliente.

translations.txt

Archivo: Opcional

Nombre del campo Tipo Obligatorio Descripción
table_name Enumeración Obligatorio

Define la tabla de conjunto de datos que contiene el campo que se traducirá. Se permiten los siguientes valores:

  • agency
  • stops
  • routes
  • trips
  • stop_times
  • feed_info
  • pathways
  • levels
  • attributions
field_name Texto Obligatorio

Indica el nombre del campo que se traducirá. Los campos con el tipo "Texto" pueden traducirse, mientras que los campos con los tipos "URL", "Correo electrónico" y "Número de teléfono" pueden incluirse aquí para asegurar que esos recursos se proporcionen en el idioma correcto.

language Código de idioma Obligatorio

Indica el idioma de la traducción.

Si este idioma coincide con el del campo feed_lang en el archivo feed_info.txt, el valor original del campo será el valor predeterminado que se utilizará en los idiomas sin traducciones específicas.

Por ejemplo, en Suiza, el nombre oficial de una ciudad en un cantón bilingüe es "Biel/Bienne", pero se denomina solo "Bienne" en francés y "Biel" en alemán.

translation Texto, URL, Correo electrónico o Número de teléfono Obligatorio Indica la traducción del valor especificado en field_name.
record_id ID Condicionalmente obligatorio

Define el registro que corresponde al campo que se traducirá. El valor en record_id debe ser un ID principal de una tabla de conjunto de datos, tal como se define a continuación:

table_name record_id
agency agency_id
stops stop_id
routes route_id
trips trip_id
stop_times trip_id
pathways pathway_id
levels level_id
attributions attribution_id

Las siguientes condiciones determinan cómo se puede utilizar este campo:

  • Se prohíbe si table_name es igual a feed_info.
  • Se prohíbe si se define el campo field_value.
  • Es obligatorio si el campo field_value está vacío.
record_sub_id ID Condicionalmente obligatorio

Ayuda a traducir el registro que contiene el campo cuando la tabla a la que hace referencia en record_id no tiene un ID único. El valor en record_sub_id es el ID secundario de una tabla de conjunto de datos, tal como se define a continuación:

table_name record_sub_id
agency NONE
stops NONE
routes NONE
trips NONE
stop_times stop_sequence
pathways NONE
levels NONE
attributions NONE

Las siguientes condiciones determinan cómo se puede utilizar este campo:

  • Se prohíbe si table_name es igual a feed_info.
  • Se prohíbe si se define el campo field_value.
  • Es obligatorio si table_name es igual a stop_times y se define el campo record_id.

field_value Texto, URL, Correo electrónico o Número de teléfono Condicionalmente obligatorio

En lugar de utilizar record_id y record_sub_id para definir qué registro debe traducirse, se puede utilizar field_value para determinar el valor de la traducción. Siempre que se utiliza, la traducción se aplica cuando el campo identificado por table_name y field_name contiene exactamente el mismo valor definido en field_value.

El campo debe coincidir exactamente con el valor definido en field_value. Si solo una parte del valor coincide con field_value, no se aplicará la traducción.

Si dos reglas de traducción coinciden con el mismo registro, una con field_value y la otra con record_id, se deberá utilizar la regla con record_id.

Las siguientes condiciones determinan cómo se puede utilizar este campo:

  • Se prohíbe si table_name es igual a feed_info.
  • Se prohíbe si se define el campo record_id.
  • Es obligatorio si el campo record_id está vacío.

attributions.txt

Archivo: Opcional

Nombre del campo Tipo Obligatorio Descripción
attribution_id ID Opcional Identifica una atribución para el conjunto de datos o un subconjunto de este. Este campo es útil para las traducciones.
agency_id ID de referencia Opcional Indica la empresa a la que se aplica la atribución. Si se definen atribuciones para agency_id, route_id o trip_id, los demás campos deben estar en blanco. Si no se especifica ninguna, la atribución se aplica a todo el conjunto de datos.
route_id ID de referencia Opcional Este campo funciona de la misma manera que agency_id, pero la atribución se aplica a una ruta. Se pueden aplicar varias atribuciones a una misma ruta.
trip_id ID de referencia Opcional Este campo funciona de la misma manera que agency_id, pero la atribución se aplica a un viaje. Se pueden aplicar varias atribuciones al mismo viaje.
organization_name Texto Obligatorio El nombre de la organización a la que se atribuye el conjunto de datos.
is_producer Enumeración Opcional Indica que la organización tiene la función de productor. Los valores permitidos incluyen los siguientes:
• 0 o en blanco: La organización no tiene esta función.
1: La organización tiene esta función.
Al menos uno de los campos, ya sea is_producer, is_operator o is_authority, se deben establecer en 1.
is_operator Enumeración Opcional Funciona de la misma manera que is_producer, pero la organización tiene la función de operador.
is_authority Enumeración Opcional Funciona de la misma manera que is_producer, pero la organización tiene la función de autoridad.
attribution_url URL Opcional Indica la URL de la organización.
attribution_email Correo electrónico Opcional Contiene el correo electrónico de la organización.
attribution_phone Número de teléfono Opcional Contiene el número de teléfono de la organización.