Pregunta
Desea calcular una ruta con múltiples puntos intermedios (por ejemplo, A → B → C) utilizando el servicio xRoute en PTV Developer o PTV xServer, y también desea obtener rutas alternativas para todo el trayecto.
Respuesta
Al calcular una ruta con solo dos puntos intermedios (es decir, un origen y un destino), el resultado es una única etapa y calcular rutas alternativas es sencillo.
Sin embargo, cuando usa más de dos puntos intermedios, la ruta se divide en múltiples etapas, y calcular alternativas para toda la ruta presenta desafíos:
Por qué las alternativas para toda la ruta no escalan con múltiples puntos intermedios:
Complejidad combinatoria
Cada etapa puede ofrecer múltiples alternativas. Combinarlas conduce a un crecimiento exponencial.
Ejemplo: 3 etapas × 2 alternativas = 2³ = 8 combinacionesImpacto en el rendimiento
Esto incrementa drásticamente el tiempo de cálculo y la carga del sistema.Riesgos de tiempo de espera
Los tiempos de respuesta largos pueden provocar tiempos de espera agotados o respuestas incompletas.
Enfoque recomendado
En lugar de calcular alternativas para toda la ruta con múltiples puntos intermedios, divida el trayecto en etapas individuales:
Paso 1: Envíe una solicitud de ruta para A → B, con alternativas.
Paso 2: Envíe una solicitud de ruta para B → C, con alternativas.
Repita para segmentos adicionales.
Este enfoque:
Simplifica la lógica
Evita tiempos de espera agotados
Mantiene un rendimiento óptimo
Consejos adicionales
Aplicable tanto a PTV Developer (Routing) como a PTV xServer (xRoute).
Puede ensamblar manualmente las respuestas individuales si es necesario para propósitos de visualización o navegación.
Considere usar una lógica de concatenación de rutas en el lado del cliente si mantener un contexto global de la ruta es importante.