Domanda
Vuoi calcolare un percorso con più punti intermedi (ad esempio, A → B → C) utilizzando il servizio xRoute in PTV Developer o PTV xServer, e vuoi anche ottenere rotte alternative per l'intero viaggio.
Risposta
Quando si calcola un percorso con solo due punti intermedi (cioè un singolo punto di partenza e destinazione), il risultato è una singola tratta e il calcolo delle rotte alternative è semplice.
Tuttavia, quando si utilizzano più di due punti intermedi, il percorso viene suddiviso in più tratte, e il calcolo delle alternative per l'intero percorso presenta delle sfide:
Perché le alternative per l'intero percorso non sono scalabili con più punti intermedi:
Complessità Combinatoria
Ogni tratta può offrire più alternative. Combinarle porta a una crescita esponenziale.
Esempio: 3 tratte × 2 alternative = 2³ = 8 combinazioniImpatto sulle Prestazioni
Questo aumenta drasticamente i tempi di calcolo e il carico sul sistema.Rischi di Timeout
I tempi di risposta lunghi possono causare timeout o risposte incomplete.
Approccio Consigliato
Invece di calcolare alternative per l'intero percorso con più punti intermedi, suddividi il viaggio in singole tratte:
Passo 1: Invia una richiesta di percorso per A → B, con alternative.
Passo 2: Invia una richiesta di percorso per B → C, con alternative.
Ripeti per ulteriori segmenti.
Questo approccio:
Semplifica la logica
Evita timeout
Mantiene le prestazioni ottimali
Suggerimenti aggiuntivi
Applicabile sia a PTV Developer (Routing) sia a PTV xServer (xRoute).
Puoi unire manualmente le singole risposte se necessario per scopi di visualizzazione o navigazione.
Considera l'uso di una logica di concatenazione del percorso lato client se è importante mantenere un contesto globale del percorso.