Esempio di trasferimento a blocchi

Il cambio a blocchi, detto anche cambio da seduti, è disponibile quando un insieme di corse soddisfa le seguenti condizioni:

  1. Le corse sono consecutive.
  2. Lo stesso veicolo effettua entrambe le corse.
  3. Per le corse viene eseguito il provisioning con lo stesso valore block_id nel trips.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:

  1. I viaggi devono utilizzare lo stesso valore block_id in trips.txt. Ciò indica che le corse utilizzano lo stesso veicolo.
  2. Le corse devono essere effettuate negli stessi giorni o in giorni consecutivi se una corsa supera la mezzanotte.
  3. I viaggi devono essere consecutivi e non sovrapporsi.
  4. 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 serve RouteBTrip1 per il percorso B.
  • I passeggeri sulla linea RouteATrip1 che vogliono proseguire fino a una fermata sulla linea RouteBTrip1 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 campo exact_times deve essere 1.

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 a stop5 deve imbarcarsi a stop1 alle 08:00 il giorno route1. L'utente rimane sul veicolo quando raggiunge stop3 dopo la fine di route1_trip1. Questo perché gli stessi servizi per veicoli route2_trip1 per route2.
  • I passeggeri sulla linea route1_trip1 che vogliono proseguire fino a una fermata sulla linea route2_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 di headway_secs è la metà dell'intervallo tra start_time e end_time. In questo caso, significa che esistono due corse. Per scoprire di più sull'utilizzo di headway_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.