En este documento, se definen el formato y la estructura de los archivos que conforman un conjunto de datos de GTFS.
Índice
- Definiciones de términos
- Tipos de campos
- Archivos de conjuntos de datos
- Requisitos de los archivos
- 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 o0039A6
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 oJPY
para yenes japoneses. - Fecha: Es el día de servicio en formato
YYYYMMDD
. 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 camporoute_type
contiene0
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 está formado por 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 campostop_id
enstops.txt
es un ID. El campostop_id
enstop_times.txt
es un ID que hace referencia astops.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 ode
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 a90.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 a180.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. o25: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
oAfrica/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 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 | Incluye 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 campo. 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 incluir 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"
- Valor original del campo:
- 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 |
Enum | 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 abordaje: 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 | 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 con el valor stop_timezone vacío 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 este atraviese. |
wheelchair_boarding |
Enum | 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 |
Enum | 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 |
Enum | 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 |
Enum | 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 descenso de pasajeros.1 o en blanco: No hay paradas continuas de descenso de pasajeros.2 : Se debe llamar a una empresa para organizar paradas continuas de descenso de pasajeros.3 : Se deben coordinar las paradas continuas de descenso de pasajeros con el conductor.El comportamiento predeterminado de paradas continuas de descenso 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 |
Enum | 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 usarlos 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 |
Enum | 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 |
Enum | 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 |
mon-tues-wed-thurs-fri-sat-sun |
red_loop |
22:00:00 | 22:55:00 |
red |
trip_2 |
fri-sat-sun |
red_loop |
23:00:00 | 23:55:00 |
red |
trip_3 |
fri-sat |
red_loop |
24:00:00 | 24:55:00 |
red |
trip_4 |
mon-tues-wed-thurs |
red_loop |
20:00:00 | 20:50:00 |
red |
trip_5 |
mon-tues-wed-thurs |
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
ytrip_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
ytrip_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: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. Además, indica que los horarios interpolados se proporcionan con un valor de timepoint=0 . Si los horarios interpolados se indican con timepoint=0 , los puntos temporales deben indicarse con timepoint=1 . Proporciona los horarios de llegada para todas las paradas que sean puntos temporales. Debes especificar los horarios de llegada correspondientes 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 el archivo 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 |
Enum | 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 |
Enum | 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 |
Enum | 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 |
Enum | 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 descenso de pasajeros.1 o en blanco: No hay paradas continuas de descenso de pasajeros.2 : Se debe llamar a una empresa para organizar paradas continuas de descenso de pasajeros.3 : Se deben coordinar las paradas continuas de descenso de pasajeros con el conductor. El comportamiento de paradas continuas de descenso 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 en 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 |
Enum | 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 |
Enum | 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 |
Enum | Obligatorio | Funciona de la misma manera que monday , pero se aplica a los martes. |
wednesday |
Enum | Obligatorio | Funciona de la misma manera que monday , pero se aplica a los miércoles. |
thursday |
Enum | Obligatorio | Funciona de la misma manera que monday , pero se aplica a los jueves. |
friday |
Enum | Obligatorio | Funciona de la misma manera que monday , pero se aplica a los viernes. |
saturday |
Enum | Obligatorio | Funciona de la misma manera que monday , pero se aplica a los sábados. |
sunday |
Enum | 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
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 concalendar.txt
para definir excepciones a los patrones de servicio predeterminados que se especifican encalendar.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 acalendar.service_id
. - Opción alternativa: Omite el archivo
calendar.txt
y especifica todas las fechas de servicio en el archivocalendar_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 ) solo puede aparecer una vez en el archivo 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 |
Enum | Obligatorio | Indica si el servicio está disponible en la fecha especificada en el campo date . 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 horario de servicio regular y otro service_id , al horario de días feriados. En el caso de un feriado concreto, puedes utilizar el archivo calendar_dates.txt para agregar esa fecha al campo service_id de días feriados y para quitarla del service_id del horario regular. |
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 |
Enum | 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 |
Enum | 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 trasbordo. 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 de fare_rules.txt
especifica cómo se aplican las tarifas de fare_attributes.txt
a 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 contendrá 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 el tipo de tarifa "b" es válido para todos los viajes que se originan en la zona "2" o en la zona "8", el archivo fare_rules.txt contendrá los siguientes 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á los siguientes 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 definirla. |
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 crearla. 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
El archivo 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 horario 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 horario (
exact_times=1
): Tiene exactamente el mismo intervalo para los viajes durante un período determinado. En los servicios basados en un horario, 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 |
Enum | 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 horario 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 start_time + 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 trasbordos en función del tiempo permitido y la proximidad de la parada. El archivo transfers.txt
incluye reglas adicionales y anula los trasbordos 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 |
Enum | 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 : No se pueden realizar trasbordos entre rutas en esta ubicación.4 : Los pasajeros pueden permanecer a bordo del mismo vehículo para realizar un trasbordo de un viaje a otro (un “transbordo en el mismo vehículo”).5 : Los transbordos en el mismo vehículo no se permiten entre viajes secuenciales. El pasajero debe descender del vehículo y volver a subir. |
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 |
Enum | 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: 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 |
Enum | 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 la proporción de inclinación máxima del recorrido. Los valores válidos para este campo son los siguientes: • 0 o (en blanco): No hay pendiente.• Punto flotante: Indica la proporción 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. Si se proporciona translations.txt
, este archivo es obligatorio.
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 del 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 translations.txt :
|
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 |
Enum | Obligatorio |
Define la tabla de conjunto de datos que contiene el campo que se traducirá. Se permiten los siguientes valores:
|
||||||||||||||||||
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 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
Las siguientes condiciones determinan cómo se puede utilizar este campo:
|
||||||||||||||||||
record_sub_id |
ID | Condicionalmente obligatorio |
Ayuda a traducir el registro que contiene el campo cuando la tabla a la que hace referencia en
Las siguientes condiciones determinan cómo se puede utilizar este campo:
|
||||||||||||||||||
field_value |
Texto, URL, Correo electrónico o Número de teléfono | Condicionalmente obligatorio |
En lugar de utilizar El campo debe coincidir exactamente con el valor definido en Si dos reglas de traducción coinciden con el mismo registro, una con Las siguientes condiciones determinan cómo se puede utilizar este campo:
|
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 |
Enum | 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 |
Enum | Opcional | Funciona de la misma manera que is_producer , pero la organización tiene la función de operador. |
is_authority |
Enum | 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. |