Vai al contenuto principale
Guide

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:

TappaRicaricaCampo di inputScopo
LocalitàNovia.geometryTappa geografica (ritiro, consegna, deviazione panoramica, pausa caffè).
StazioneSìvia.properties.station.station_idStazione 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 il stop_duration richiesto supera il tempo necessario per raggiungere lo SoC massimo, il tempo rimanente viene registrato come sosta inattiva.

  • OPTIMIZE_TRAVEL_TIME: Prolunga la sosta oltre stop_duration solo 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 il stop_duration richiesto 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:

  1. Raccogli i punti di passaggio in ordine.

    Prendi origin, ogni tappa via esistente e destination dal request_input del percorso che vuoi modificare. Ogni punto di passaggio nel request_input ha la sua geometry disponibile, comprese le tappe create solo con una station_id.

  2. 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.

  3. 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.

  4. 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 in via per ritrovarlo subito dopo. Un indice 0 significa che la stazione viene inserita come prima tappa.

  5. 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 di destination.

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_input del percorso è la fonte di riferimento. Costruisci la nuova richiesta a partire da esso e lascia invariati tutti gli altri campi, come vehicle e le impostazioni charging.

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.

Esempio di richiesta
graphql
mutation CreateRouteWithWaypoint {  createRoute(    input: {      vehicle: {        id: "60b8d5a2f1c8e9001b9e2831"        charging: { mode: OPTIMIZE_TRAVEL_TIME }      }      origin: {        type: Point        coordinates: [4.9041, 52.3676]      }      destination: {        type: Point        coordinates: [6.9583, 50.9375]      }      via: [        {          geometry: {            type: Point            coordinates: [5.1214, 52.0907] # Utrecht          }          properties: {            location: {              name: "Utrecht Central"              stop_duration: 1800 # 30 minutes in seconds            }          }        }      ]    }  ) {    id    status  }}

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à.

Esempio di richiesta
graphql
mutation CreateRouteWithChargingVia {  createRoute(    input: {      vehicle: {        id: "60b8d5a2f1c8e9001b9e2831"        charging: { mode: OPTIMIZE_TRAVEL_TIME }      }      origin: {        type: Point        coordinates: [4.9041, 52.3676]      }      destination: {        type: Point        coordinates: [6.9583, 50.9375]      }      via: [        {          properties: {            station: {              station_id: "5e849ea2837bc43df65d19a2"              stop_duration: 1800            }          }        }      ]    }  ) {    id    status  }}

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.

Esempio di richiesta
graphql
mutation CreateRouteWithChargingVia {  createRoute(    input: {      vehicle: {        id: "60b8d5a2f1c8e9001b9e2831"        charging: { mode: OPTIMIZE_TRAVEL_TIME }      }      origin: {        type: Point        coordinates: [4.9041, 52.3676]      }      destination: {        type: Point        coordinates: [6.9583, 50.9375]      }      via: [        {          properties: {            station: {              station_id: "5e849ea2837bc43df65d19a2"            }          }        }      ]    }  ) {    id    status  }}

Questo contenuto ti è stato utile?

Sviluppatori

Chargetrip ©

Gestisci i cookie

In vigore dal: 20 marzo 2024 · Aggiornato il: 25 gennaio 2023

Utilizziamo i cookie per migliorare la tua esperienza su developers.chargetrip.com. Questa politica sui cookie fa parte dell’informativa sulla privacy e riguarda l’uso dei cookie tra il tuo dispositivo e il nostro sito. Forniamo inoltre informazioni di base sui servizi di terze parti che potremmo utilizzare, i quali possono a loro volta usare cookie come parte del loro servizio, anche se non sono coperti dalla nostra politica.

Se non desideri accettare alcun cookie da parte nostra, devi impostare il tuo browser in modo da rifiutare i cookie provenienti da developers.chargetrip.com, tenendo presente che potremmo non essere in grado di offrirti alcuni dei contenuti e dei servizi desiderati.

Un cookie è un piccolo frammento di dati che un sito web memorizza sul tuo dispositivo quando lo visiti. In genere contiene informazioni sul sito stesso, un identificatore univoco che consente al sito di riconoscere il tuo browser quando torni, dati aggiuntivi che servono allo scopo del cookie e la durata del cookie stesso.

I cookie vengono utilizzati per abilitare determinate funzioni (ad es. l’accesso), per monitorare l’utilizzo del sito (ad es. analisi), per memorizzare le tue impostazioni utente (ad es. fuso orario, preferenze di notifica) e per personalizzare i tuoi contenuti (ad es. pubblicità, lingua).

I cookie impostati dal sito web che stai visitando sono normalmente chiamati “cookie di prima parte” e in genere tracciano solo la tua attività su quel particolare sito. I cookie impostati da altri siti e aziende (ovvero terze parti) possono essere utilizzati per tracciarti su altri siti web che utilizzano lo stesso servizio di terze parti.

I cookie impostati dal sito web che stai visitando sono normalmente chiamati “cookie di prima parte” e in genere tracciano solo la tua attività su quel particolare sito. I cookie impostati da altri siti e aziende (ovvero terze parti) possono essere utilizzati per tracciarti su altri siti web che utilizzano lo stesso servizio di terze parti.

I cookie di targeting / pubblicitari vengono utilizzati per determinare quali contenuti promozionali sono più rilevanti e appropriati per te e i tuoi interessi. I siti web possono usarli per mostrare pubblicità mirata o per limitare il numero di volte in cui visualizzi un annuncio. Questo aiuta le aziende a migliorare l’efficacia delle loro campagne e la qualità dei contenuti che ti vengono presentati. Questi cookie possono essere impostati dal sito web che stai visitando (prima parte) o da servizi di terze parti. I cookie di targeting/pubblicitari impostati da terze parti possono essere utilizzati per tracciarti su altri siti web che utilizzano lo stesso servizio di terze parti. Utilizziamo cookie di targeting/pubblicitari sul nostro sito.

I cookie di targeting / pubblicitari vengono utilizzati per determinare quali contenuti promozionali sono più rilevanti e appropriati per te e i tuoi interessi. I siti web possono usarli per mostrare pubblicità mirata o per limitare il numero di volte in cui visualizzi un annuncio. Questo aiuta le aziende a migliorare l’efficacia delle loro campagne e la qualità dei contenuti che ti vengono presentati. Questi cookie possono essere impostati dal sito web che stai visitando (prima parte) o da servizi di terze parti. I cookie di targeting/pubblicitari impostati da terze parti possono essere utilizzati per tracciarti su altri siti web che utilizzano lo stesso servizio di terze parti. Utilizziamo cookie di targeting/pubblicitari sul nostro sito.

Impegno verso le terze parti

Esaminiamo le informative sulla privacy di tutti i nostri fornitori terzi prima di avvalerci dei loro servizi, per assicurarci che le loro pratiche siano in linea con le nostre. Non includeremo mai consapevolmente servizi di terze parti che compromettano o violino la privacy dei nostri utenti.

Cookie
google-cookie-consent
Descrizione
Memorizza le tue preferenze sui cookie, ovvero quali categorie hai accettato o rifiutato, in modo da rispettare la tua scelta a ogni visita e caricare solo gli strumenti di analisi o di marketing che hai autorizzato.
Durata
2 anni

Se non desideri accettare i cookie da parte nostra, puoi impostare il tuo browser in modo da rifiutare i cookie del nostro sito web. La maggior parte dei browser è configurata per accettare i cookie per impostazione predefinita, ma puoi modificare queste impostazioni per rifiutare del tutto i cookie oppure per ricevere una notifica quando un sito web tenta di impostarne uno.

Se navighi su siti web da più dispositivi, potresti dover aggiornare le impostazioni su ciascun dispositivo.

Anche se alcuni cookie possono essere bloccati con un impatto minimo sull’esperienza di un sito web, bloccare tutti i cookie potrebbe impedirti di accedere ad alcune funzioni e contenuti dei siti che visiti.

Potremmo aggiornare questa Politica sui cookie di tanto in tanto, ad esempio per riflettere modifiche ai cookie che utilizziamo o per altri motivi operativi, legali o normativi. Ti invitiamo a rivisitare questa Politica sui cookie per rimanere informato sul nostro uso dei cookie e delle tecnologie correlate. La data in alto in questa Politica sui cookie indica quando è stata aggiornata l’ultima volta.