Sintomo
Quando si calcola un percorso utilizzando xRoute con un profilo camion (ad esempio altezza = 5,00 m) e restrizioni di altezza abilitate (CFL_Hauteur):
- Il percorso iniziale contiene diversi ROUTE_VIOLATION_EVENT relativi a vincoli di altezza.
- Quando viene aggiunto un punto intermedio sulla geometria originale del percorso:
- Il percorso cambia in modo inatteso.
- Le violazioni di altezza precedentemente segnalate scompaiono.
Questo comportamento può apparire incoerente dal punto di vista aziendale, specialmente in scenari di trasporto regolamentato.
Causa
Questo comportamento è legato alla configurazione dello spazio di ricerca dell'algoritmo di routing, non necessariamente a dati errati o a un difetto.
Per impostazione predefinita:
- L'algoritmo di routing (basato su Dijkstra) dà priorità alle classi di rete più alte (strade principali come autostrade e strade primarie — NC0 a NC2), specialmente quando si è lontani dai punti intermedi.
- In aree con molte restrizioni (ad esempio vincoli di altezza da CFL_Hauteur), l'algoritmo può:
- Rimanere su strade di classe superiore
- Accettare violazioni dei vincoli se non viene trovata un'alternativa nello spazio di ricerca esplorato
Quando viene aggiunto un punto intermedio:
- Il problema di routing viene ricalcolato in più segmenti
- Lo spazio di ricerca viene modificato
- L'algoritmo può esplorare strade aggiuntive
- Questo può portare a:
- Un percorso diverso
- Evitare violazioni precedentemente rilevate
Inoltre, se il CFL contiene attributi avanzati (ad esempio segmenti preferiti o altre influenze sul routing), questi possono influenzare ulteriormente il calcolo del percorso.
Risoluzione
Per garantire che il motore di routing esplori più alternative ed eviti violazioni non necessarie, configurare esplicitamente lo spazio di ricerca nella richiesta di routing.
Passo 1: Aggiornare la richiesta di routing
sostituire:
"searchSpace": null
con:
"searchSpace": {
"excludeByNetworkClass": {
"minimumDistancesFromWaypoint": [
"UNBOUNDED",
"UNBOUNDED",
"UNBOUNDED",
"UNBOUNDED",
50,
20,
10,
10
]
}
}
Passo 2: Effetto della configurazione
Questa configurazione:
- Espande l'esplorazione delle classi di rete inferiori (strade secondarie)
- Permette all'algoritmo di trovare deviazioni
- Riduce la dipendenza esclusiva dalle strade principali
- Aiuta a evitare violazioni di altezza invece di accettarle
Passo 3: Validare i risultati
Dopo aver applicato la configurazione:
- Ricalcolare il percorso senza punto intermedio
- Ricalcolare con punto intermedio
- Confrontare:
- La geometria del percorso
- La presenza di violazioni
Dovresti osservare:
- Un comportamento di routing più coerente
- Violazioni ridotte o eliminate dove esistono alternative
Articoli correlati
PTV xServer: Content Update Service (CUS) - Porta 1099 già in uso
Commenti
0 commenti
Questo articolo è chiuso ai commenti.