Percorso con tappe
Quando calcoli un percorso EV con la Route API di Chargetrip, puoi aggiungere tappe intermedie tra l’origine e la destinazione usando via.
Le tappe ti permettono di personalizzare il calcolo del percorso per scenari di viaggio reali, ad esempio ricaricare in una stazione di ricarica preferita, far salire dei passeggeri o fermarsi a un ristorante.
Tipi di tappe
Chargetrip supporta due tipi di tappe intermedie:
| Tappa | Ricarica | Campo di input | Scopo |
|---|---|---|---|
| Località | No | via.geometry | Tappa geografica (ritiro, consegna, deviazione panoramica, pausa caffè). |
| Stazione | Sì | via.properties.station.station_id | Stazione di ricarica selezionata esplicitamente. |
Durata della tappa
Puoi configurare la durata di ogni tappa. A seconda del tipo di tappa (con o senza ricarica), stop_duration viene configurato in posizioni diverse e ha comportamenti diversi:
1. Nelle tappe senza ricarica
La durata della tappa viene configurata in input.via.properties.location.stop_duration. Questa durata rappresenta la durata esatta della tappa e viene aggiunta direttamente alla durata totale del viaggio senza influire sul tempo di ricarica o di guida del veicolo.
2. Nelle tappe con ricarica
La durata della tappa viene configurata in input.via.properties.station.stop_duration. Questo valore rappresenta la durata minima della tappa. Il veicolo rimane alla stazione almeno per questo tempo, ma il pianificatore del percorso può prolungare la sosta in base al charge_mode configurato:
-
ALWAYS_TO_MAX_CHARGE: Prolunga il tempo di ricarica, se necessario, per raggiungere lo SoC massimo configurato. Se ilstop_durationrichiesto supera il tempo necessario per raggiungere lo SoC massimo, il tempo rimanente viene registrato come sosta inattiva. -
OPTIMIZE_TRAVEL_TIME: Prolunga la sosta oltrestop_durationsolo se questo riduce il tempo complessivo del viaggio (ad esempio eliminando una successiva tappa di ricarica). In caso contrario, ricarica per l’esatta durata richiesta. Se ilstop_durationrichiesto supera il tempo necessario per raggiungere lo SoC massimo, il tempo rimanente viene registrato come sosta inattiva.
Se non viene fornito alcun valore, il pianificatore ottimizza la durata della ricarica basandosi esclusivamente sul charge_mode del percorso.
Aggiungere una stazione a un percorso esistente
Uno scenario comune: un utente sceglie una stazione di ricarica per un percorso che ha già delle tappe, ad esempio una stazione alternativa mostrata nella tua UI. La soluzione no-code usa questo approccio per aggiungere automaticamente una stazione come tappa via, senza logica di riordino, in modo che il percorso si aggiorni senza interruzioni.
L’ordine dell’array via è l’ordine in cui le tappe vengono raggiunte. Una stazione aggiunta in fondo viene raggiunta per ultima, anche se si trova vicino all’inizio del percorso. Per inserirla nella posizione giusta, confronta la posizione della stazione con i punti di passaggio già presenti sul percorso:
- Raccogli i punti di passaggio in ordine.
Prendi
origin, ogni tappaviaesistente edestinationdalrequest_inputdel percorso che vuoi modificare. Ogni punto di passaggio nelrequest_inputha la suageometrydisponibile, comprese le tappe create solo con unastation_id. - Traccia una linea che attraversa i punti di passaggio.
Collega i punti di passaggio in ordine per formare una linea. Ogni parte di questa linea tra due punti di passaggio è un segmento.
- Trova il segmento più vicino alla stazione.
Usa una libreria geospaziale per trovare il punto della linea più vicino alle coordinate della stazione. turf.js offre ad esempio
nearestPointOnLine, che restituisce anche l’indice del segmento che contiene questo punto. Quell’indice è l’indice del punto di passaggio da cui inizia il segmento. - Inserisci la stazione dopo quel punto di passaggio.
L’elenco dei punti di passaggio inizia con
origin, quindi l’indice di un punto di passaggio in questo elenco corrisponde alla posizione in cui inserire un nuovo elemento inviaper ritrovarlo subito dopo. Un indice0significa che la stazione viene inserita come prima tappa. - Non inserire mai dopo la destinazione.
Quando il punto più vicino si trova sull’ultimo segmento, l’indice può puntare a
destination. Inserirla lì collocherebbe la stazione dopo la fine del percorso. Usa invece il punto di passaggio precedente, così la stazione viene inserita come ultima tappa prima didestination.
Da tenere a mente
- La linea collega i punti di passaggio con segmenti rettilinei e non segue le strade del percorso. Le stazioni alternative si trovano sempre in un corridoio di 5-10 km attorno al percorso, quindi non se ne discostano mai di molto e il segmento più vicino è per lo più accurato. Per le stazioni fuori da questo corridoio potrebbero essere più adatte altre soluzioni.
- Il
request_inputdel percorso è la fonte di riferimento. Costruisci la nuova richiesta a partire da esso e lascia invariati tutti gli altri campi, comevehiclee le impostazionicharging.
Esempi
Calcola un percorso con una tappa senza ricarica di 30 minuti.
In questa tappa è stato aggiunto un stop_duration di 1800 secondi (30 minuti). Questa sarà la durata della tappa, poiché non può esserci alcun ulteriore vantaggio.
Calcola un percorso con una tappa di ricarica di almeno 30 minuti.
In questa tappa è stato aggiunto un stop_duration di 1800 secondi (30 minuti). Questa sarà la durata minima della tappa. Se ricaricare più a lungo è vantaggioso per l’itinerario, la durata aumenterà.
Calcola un percorso con una tappa di ricarica senza durata minima.
In questa tappa stop_duration è omesso: il pianificatore calcola il tempo di ricarica ottimale in base alla modalità di ricarica.
Questo contenuto ti è stato utile?