Question
Vous souhaitez calculer un itinéraire avec plusieurs points de passage (par exemple, A → B → C) en utilisant le service xRoute dans PTV Developer ou PTV xServer, et vous souhaitez également obtenir des itinéraires alternatifs pour l’ensemble du trajet.
Réponse
Lors du calcul d’un itinéraire avec seulement deux points de passage (c’est-à-dire une origine et une destination uniques), le résultat est un segment unique et le calcul des itinéraires alternatifs est simple.
Cependant, lorsque vous utilisez plus de deux points de passage, l’itinéraire est divisé en plusieurs segments, et le calcul d’alternatives pour l’ensemble de l’itinéraire pose des difficultés :
Pourquoi les alternatives pour l’ensemble de l’itinéraire ne sont pas évolutives avec plusieurs points de passage :
Complexité combinatoire
Chaque segment peut offrir plusieurs alternatives. Leur combinaison entraîne une croissance exponentielle.
Exemple : 3 segments × 2 alternatives = 2³ = 8 combinaisonsImpact sur les performances
Cela augmente considérablement le temps de calcul et la charge du système.Risques de dépassement de délai
Des temps de réponse longs peuvent provoquer des dépassements de délai ou des réponses incomplètes.
Approche recommandée
Au lieu de calculer des alternatives pour l’ensemble de l’itinéraire avec plusieurs points de passage, divisez le trajet en segments individuels :
Étape 1 : Envoyez une requête d’itinéraire pour A → B, avec alternatives.
Étape 2 : Envoyez une requête d’itinéraire pour B → C, avec alternatives.
Répétez pour les segments supplémentaires.
Cette approche :
Simplifie la logique
Évite les dépassements de délai
Maintient des performances optimales
Conseils supplémentaires
Applicable à la fois à PTV Developer (Routing) et à PTV xServer (xRoute).
Vous pouvez assembler manuellement les réponses individuelles si nécessaire pour l’affichage ou la navigation.
Envisagez d’utiliser une logique de concaténation d’itinéraires côté client si le maintien d’un contexte global de l’itinéraire est important.