Síntoma
Al calcular una ruta usando xRoute con un perfil de camión (por ejemplo, altura = 5.00 m) y restricciones de altura habilitadas (CFL_Hauteur):
- La ruta inicial contiene varios EVENTOS_DE_INFRACCIÓN_DE_RUTA (ROUTE_VIOLATION_EVENTs) relacionados con restricciones de altura.
- Cuando se agrega un punto intermedio en la geometría original de la ruta:
- La ruta cambia inesperadamente.
- Las infracciones de altura reportadas anteriormente desaparecen.
Este comportamiento puede parecer inconsistente desde una perspectiva comercial, especialmente en escenarios de transporte regulado.
Causa
Este comportamiento está relacionado con la configuración del espacio de búsqueda del algoritmo de enrutamiento, no necesariamente con datos incorrectos o un defecto.
Por defecto:
- El algoritmo de enrutamiento (basado en Dijkstra) prioriza las clases de red más altas (carreteras principales como autopistas y vías primarias — NC0 a NC2), especialmente cuando está lejos de los puntos intermedios.
- En áreas con muchas restricciones (por ejemplo, restricciones de altura del CFL_Hauteur), el algoritmo puede:
- Permanecer en carreteras de clase superior
- Aceptar violaciones de restricciones si no se encuentra una alternativa en el espacio de búsqueda explorado
Cuando se agrega un punto intermedio:
- El problema de enrutamiento se recalcula en múltiples segmentos
- El espacio de búsqueda se altera
- El algoritmo puede explorar carreteras adicionales
- Esto puede provocar:
- Una ruta diferente
- Evitación de violaciones detectadas previamente
Además, si el CFL contiene atributos avanzados (por ejemplo, segmentos preferidos u otras influencias en el enrutamiento), estos pueden afectar aún más el cálculo de la ruta.
Resolución
Para asegurar que el motor de enrutamiento explore más alternativas y evite violaciones innecesarias, configure explícitamente el espacio de búsqueda en la solicitud de enrutamiento.
Paso 1: Actualizar la solicitud de enrutamiento
reemplazar:
"searchSpace": null
por:
"searchSpace": {
"excludeByNetworkClass": {
"minimumDistancesFromWaypoint": [
"UNBOUNDED",
"UNBOUNDED",
"UNBOUNDED",
"UNBOUNDED",
50,
20,
10,
10
]
}
}
Paso 2: Efecto de la configuración
Esta configuración:
- Amplía la exploración de clases de red inferiores (carreteras secundarias)
- Permite que el algoritmo encuentre desvíos
- Reduce la dependencia únicamente de carreteras principales
- Ayuda a evitar violaciones de altura en lugar de aceptarlas
Paso 3: Validar resultados
Después de aplicar la configuración:
- Recalcule la ruta sin punto intermedio
- Recalcule con punto intermedio
- Compare:
- La geometría de la ruta
- La presencia de infracciones
Debería observar:
- Un comportamiento de enrutamiento más consistente
- Violaciones reducidas o eliminadas cuando existen alternativas
Artículos relacionados
PTV xServer 2: RouteNotFoundFault al usar perfiles de camión con PTV_TruckAttributes habilitado
PTV xServer: Servicio de Actualización de Contenido (CUS) - Puerto 1099 ya en uso
Comentarios
0 comentarios
El artículo está cerrado para comentarios.