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_id
neltrips.txt
file 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_id
intrips.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 serveRouteBTrip1
per il percorso B. - I passeggeri sulla linea
RouteATrip1
che vogliono proseguire fino a una fermata sulla lineaRouteBTrip1
possono 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_times
deve 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
stop1
astop5
deve imbarcarsi astop1
alle 08:00 il giornoroute1
. L'utente rimane sul veicolo quando raggiungestop3
dopo la fine diroute1_trip1
. Questo perché gli stessi servizi per veicoliroute2_trip1
perroute2
. - I passeggeri sulla linea
route1_trip1
che vogliono proseguire fino a una fermata sulla linearoute2_trip1
possono 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_time
eend_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.