Il cambio a blocchi, detto anche cambio da seduti, è disponibile quando un insieme di corse soddisfa le seguenti condizioni:
- Le corse sono consecutive.
- Lo stesso veicolo effettua entrambe le corse.
- Per le corse viene eseguito il provisioning con lo stesso valore
block_idneltrips.txtfile del feed per i trasporti pubblici.
Prerequisiti
Affinché Google Maps riconosca che i trasferimenti tra blocchi di viaggio sono possibili, devono essere soddisfatti i seguenti prerequisiti:
- I viaggi devono utilizzare lo stesso valore
block_idintrips.txt. Ciò indica che le corse utilizzano lo stesso veicolo. - Le corse devono essere effettuate negli stessi giorni o in giorni consecutivi se una corsa supera la mezzanotte.
- I viaggi devono essere consecutivi e non sovrapporsi.
- L'ultima fermata della corsa in arrivo e la prima fermata della corsa in partenza devono essere uguali (opzione consigliata) o vicine.
Usa block_id per attivare i trasferimenti a blocchi
I cambi a blocchi possono essere effettuati tra corse consecutive su percorsi diversi o sullo stesso percorso se si tratta di una linea circolare. Utilizza il campo block_id per specificare
le corse che si trovano in un blocco e dove sono disponibili i trasferimenti in-seat.
Esempio 1: blocchi dei trasferimenti per le corse programmate
In questo esempio, considera i seguenti valori in ogni file:
trips.txt
route_id |
trip_id |
block_id |
|---|---|---|
RouteA |
RouteATrip1 |
Block1 |
RouteB |
RouteBTrip1 |
Block1 |
stop_times.txt
trip_id |
arrival_time |
departure_time |
stop_id |
stop_sequence |
|---|---|---|---|---|
RouteATrip1 |
12:00:00 |
12:01:00 |
A |
1 |
RouteATrip1 |
12:05:00 |
12:06:00 |
B |
2 |
RouteATrip1 |
12:15:00 |
C |
3 |
|
RouteBTrip1 |
12:18:00 |
C |
1 |
|
RouteBTrip1 |
12:22:00 |
12:23:00 |
D |
2 |
RouteBTrip1 |
12:30:00 |
E |
3 |
In questo esempio:
- Un utente che cerca un percorso dalla fermata A alla fermata E viene indirizzato alla fermata A alle 12:00 sulla linea A e deve rimanere sul veicolo quando raggiunge la fermata C dopo la fine di
RouteATrip1. Questo perché lo stesso veicolo serveRouteBTrip1per il percorso B. - I passeggeri sulla linea
RouteATrip1che vogliono proseguire fino a una fermata sulla lineaRouteBTrip1possono rimanere a bordo del veicolo per questo trasferimento. - I passeggeri di altre corse su altri veicoli lungo questi stessi percorsi non hanno questa opzione perché utilizzano veicoli diversi per ogni corsa.
Esempio 2: bloccare i trasferimenti per le corse basate sulla frequenza con orari esatti
I trasferimenti a blocchi sono supportati solo per le corse basate sulla frequenza che soddisfano una delle seguenti condizioni, oltre ai requisiti elencati nella sezione Prerequisiti:
- Se la corsa è un percorso circolare, deve iniziare e terminare alla stessa fermata.
- In
frequencies.txt, il valore del campoexact_timesdeve essere1.
L'esempio seguente descrive come impostare i valori per la seconda condizione:
trips.txt
route_id |
trip_id |
block_id |
|---|---|---|
route1 |
route1_trip1 |
block_2 |
route2 |
route2_trip1 |
block_2 |
stop_times.txt
trip_id |
arrival_time |
departure_time |
stop_id |
stop_sequence |
|---|---|---|---|---|
route1_trip1 |
08:00:00 |
08:04:00 |
stop1 |
1 |
route1_trip1 |
08:10:00 |
08:14:00 |
stop2 |
2 |
route1_trip1 |
08:20:00 |
stop3 |
3 |
|
route2_trip1 |
08:24:00 |
stop3 |
1 |
|
route2_trip1 |
08:30:00 |
08:34:00 |
stop4 |
2 |
route2_trip1 |
08:40:00 |
08:44:00 |
stop5 |
3 |
frequencies.txt
trip_id |
start_time |
end_time |
headway_secs |
exact_times |
|---|---|---|---|---|
route1_trip1 |
08:00:00 |
08:20:00 |
600 |
1 |
route2_trip1 |
08:24:00 |
08:44:00 |
600 |
1 |
In questo esempio:
- Un utente che cerca un percorso da
stop1astop5deve imbarcarsi astop1alle 08:00 il giornoroute1. L'utente rimane sul veicolo quando raggiungestop3dopo la fine diroute1_trip1. Questo perché gli stessi servizi per veicoliroute2_trip1perroute2. - I passeggeri sulla linea
route1_trip1che vogliono proseguire fino a una fermata sulla linearoute2_trip1possono rimanere a bordo del veicolo per questo trasferimento. - I passeggeri di altre corse su altri veicoli lungo questi stessi percorsi non hanno questa opzione perché utilizzano veicoli diversi per ogni corsa.
- Prendiamo ad esempio
route1_trip1. Il valore diheadway_secsè la metà dell'intervallo trastart_timeeend_time. In questo caso, significa che esistono due corse. Per scoprire di più sull'utilizzo diheadway_secs, consulta il riferimento alla programmazione GTFS su gtfs.org.
Bloccare il trasferimento in una riga di loop
In una linea circolare, la prima fermata e l'ultima fermata di un viaggio sono le stesse e hanno lo stesso stop_id. Questo è obbligatorio sia per le corse programmate sia per quelle basate sulla frequenza.
A condizione che le corse circolari consecutive abbiano lo stesso block_id, è attivato il cambio a blocchi o da seduti, che consente ai passeggeri della prima corsa di rimanere sul veicolo quando continua nel loop successivo.
Blocchi validi nei feed GTFS
Affinché il trasferimento dei blocchi sia possibile, devi definire correttamente uno o più blocchi nel feed. Per superare la convalida, le corse che appartengono allo stesso blocco non possono sovrapporsi e devono avere lo stesso route_type (metropolitana, treno, autobus e così via).
Le corse possono appartenere allo stesso blocco anche se si svolgono in giorni diversi. Se in un feed statico sono definiti dei blocchi, questi vengono visualizzati nel report di convalida, nella scheda Panoramica.