Rotas, paradas e viagens¶
Rotas¶
As rotas estão no centro das operações de trânsito de rotas fixas, pois descrevem o alcance geográfico de uma rede de trânsito. No GTFS, a definição de rotas é o primeiro passo para descrever as operações de uma agência de trânsito.
O primeiro passo é adicionar as informações da agência como mostrado no arquivo agency.txt abaixo. Este arquivo contém informações de alto nível sobre a agência.
agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone
CT,Calgary Transit,http://www.calgarytransit.com,America/Edmonton,,403-262-1000
Calgary Transit opera LRT, BRT, serviço regular de ônibus, paratransit, e trânsito sob demanda em Calgary, AB. Neste exemplo, são definidas duas rotas, a primeira é um ônibus e a segunda é um LRT. Usando o arquivo routes.txt, a cada rota é atribuída uma id única, e um nome curto, bem como um nome longo para a legibilidade humana.
agency_id,route_id,route_short_name,route_long_name,route_type,route_url,route_color,route_text_color
CT,303-20670,303,MAX Orange Brentwood/Saddletowne,3,www.calgarytransit.com/content/transit/en/home/rider-information/max.html,#ff8000,#ffffff
CT,202-20666,202,Blue Line - Saddletowne/69 Street CTrain,0,www.calgarytransit.com/content/transit/en/home/rider-information/lrt-and-bus-station-maps.html,#ff0000,#ffffff
O quinto campo (route_type
) é usado para diferenciar os tipos de rotas:
- O primeiro é um ônibus, daí
route_type=3
- O segundo é um LRT, portanto
route_type=0
- Uma lista completa de valores para o
route_type
pode ser encontrada aqui
Os campos restantes contêm informações adicionais tais como uma url específica da rota, bem como cores específicas da agência para representar o serviço em um mapa.
Paradas¶
Em GTFS, as paradas e estações são descritas usando o arquivo stops.txt, abaixo, uma parada de ônibus é definida no primeiro registro e uma estação LRT é definida no segundo registro.
stop_id,stop_code,stop_name,stop_lat,stop_lon,location_type
8157,8157,44th Avenue NE (SB),51.091106,-113.958565,0
6810,6810,NB Marlborough CTrain Station,51.058990,-113.981582,1
stop_id
é um identificador únicostop_code
estop_name
normalmente contêm informações voltadas para o cavaleiro- A localização exata é fornecida usando coordenadas (
stop_lat
estop_lon
) - O sexto campo (
location_type
) é usado para diferenciar as paradas das estações - O primeiro registro corresponde a uma parada de ônibus, portanto
location_type=0
- O segundo registro corresponde à estação, portanto
location_type=1
- Uma lista completa de valores para o
location_type
pode ser encontrada aqui
Viagens¶
Após descrever as rotas da agência, agora é possível descrever as viagens que são servidas por cada rota.
Primeiro, a extensão do serviço precisa ser definida usando o calendar.txt
service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date
weekend_service,0,0,0,0,0,1,1,20220623,20220903
Aqui, um serviço que funciona apenas aos sábados e domingos está sendo descrito, portanto os campos para esses dias são preenchidos com 1, e os campos para os dias restantes são preenchidos com zero. Este serviço funciona de 23 de junho de 2022 até 3 de setembro de 2022, como mostrado sob os campos start_date
e end_date
.
Neste exemplo, o arquivo trips.txt descreve 3 viagens de fim de semana que são servidas pela rota MAX Orange que foi descrita acima.
route_id,service_id,trip_id,trip_headsign,direction_id,shape_id
303-20670,weekend_service,60270564,"MAX ORANGE SADDLETOWNE",0,3030026
303-20670,weekend_service,60270565,"MAX ORANGE BRENTWOOD",1,3030027
303-20670,weekend_service,60270566,"MAX ORANGE BRENTWOOD",1,3030027
- A
route_id
de routes.txt que corresponde a MAX Orange é listada - O
service_id
do calendar.txt que corresponde aos fins de semana é listado -
Cada registro contém uma id única para cada trip. É fornecido o text do sinal principal, que é o que normalmente é exibido nas placas dentro e fora do ônibus
-
O campo
direction_id
permite uma distinção entre viagens da mesma rota que vão em direções diferentes. Por exemplo, distinguindo entre viagens de ida e volta - ou viagens de ida e volta ao sul e viagens de ida e volta ao norte. - Neste caso, as viagens em direção a Saddletowne têm uma
direction_id=0
e as viagens em direção a Brentwood têm umadirection_id=1
. Os valores em direction_id não têm significado inerente, eles são usados apenas para atribuir uma direção de viagem em relação a outra - O
shape_id
de shapes.txt que corresponde à rota MAX Orange em direção a Saddletowne é listado para o primeiro registro e o da rota MAX Orange em direção a Brentwood é listado para o segundo e terceiro registros
A shape_id=3030026
corresponde ao MAX Orange towards Saddletowne. O arquivo abaixo inclui informações sobre os pontos que traçam o percurso, assim como a distância entre esses pontos. Com estas informações, é possível traçar a rota em um mapa para fins de planejamento ou análise da trip.
shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
3030026,51.086506,-114.132259,10001,0.000
3030026,51.086558,-114.132371,10002,0.010
3030026,51.086781,-114.132865,10003,0.052
3030026,51.086938,-114.133179,10004,0.080
3030026,51.086953,-114.133205,10005,0.083
3030026,51.086968,-114.133224,10006,0.085
3030026,51.086992,-114.133249,10007,0.088
3030026,51.087029,-114.133275,10008,0.093
3030026,51.087057,-114.133286,10009,0.096
3030026,51.087278,-114.133356,10010,0.121
3030026,51.087036,-114.132864,10011,0.165
3030026,51.086990,-114.132766,10012,0.173
3030026,51.086937,-114.132663,10013,0.183
Exceções de serviço¶
É possível definir exceções ao serviço como os dias de serviço adicionados (dias especiais) ou dias de serviço removidos (como nenhum serviço em feriados).
Por exemplo, se não houver um serviço agendados no domingo 17 de julho de 2022 - então essa data pode ser removida do weekend_service
no calendar.txt, quebrando o serviço em dois:
Serviço | Começar | Fim |
---|---|---|
weekend_service1 |
20220623 |
20220716 |
weekend_service2 |
20220718 |
20220903 |
No entanto, isto complica o arquivo, já que o service_id
é quebrado em dois e esta quebra irá em cascata para trips.txt Em vez disso, isto pode ser feito de forma mais fácil usando calendar_dates.txt, como mostrado abaixo:
service_id,date,exception_type
weekend_service,20220623,2
- O
service_id
weekend_service
é listado - A data do serviço removido ou ADDED é listada sob
date
(17 de julho de 2022) - O campo
exception_type
é definido como 2, o que significa que o serviço é removido para este dia