Personalizar el motor de enrutamiento
En algunos casos, es posible que desee ampliar o ajustar la experiencia de enrutamiento de OsmAnd, de modo que pueda a帽adir par谩metros adicionales, a帽adir barreras adicionales o cambiar algunas penalizaciones. Consulte routing.xml. El enrutamiento de OsmAnd utiliza un algoritmo A* bidireccional basado en el tiempo m谩s r谩pido (= distancia/(velocidad*prioridad) + penalizaciones). Es un formato bastante sencillo. Se divide en 7 secciones (grupos de evaluaci贸n):
- acceso (1 permitir, -1 no permitir)
- velocidad (n煤mero que representa la velocidad en km/h)
- prioridad (n煤mero entre 0 y 1) - un multiplicador de la velocidad que sigue limitado a la velocidad m谩xima, por lo que se utilizar谩 el m铆nimo (velocidad * multiplicador, velocidad m谩xima) para A*
- sentido 煤nico (1, -1 o 0) - se utiliza para aclarar el acceso en funci贸n de la direcci贸n del movimiento
- penalty_transition (penalizaci贸n en segundos) - se utiliza para definir la penalizaci贸n cuando el usuario pasa de una carretera de clase alta a una carretera de clase baja. Por ejemplo, autopista - 10, carretera principal - 15, si el usuario pasa de autopista a carretera principal la penalizaci贸n ser谩 de 5 segundos (=10 - 15). Esta penalizaci贸n ser谩 utilizada por el algoritmo A*. No hay penalizaci贸n si el usuario pasa de autopista a carretera principal y no hay penalizaci贸n si la ruta contin煤a de autopista a autopista.
- obstacle (penalizaci贸n en segundos) - define la penalizaci贸n que se a帽ade al tiempo de enrutamiento
- obstacle_time (penalizaci贸n en segundos) - define la penalizaci贸n que se muestra al usuario pero que no es considerada por el motor de enrutamiento, es decir, obstacle_time - 2 horas, obstacle - 1 minuto, en la ruta m谩s corta el motor encontrar谩 una ruta utilizando el obst谩culo de 1 minuto pero el usuario ver谩 que el tiempo de la ruta es de 2 horas.
Para probar routing.xml, puede utilizar OsmAndMapCreator. Para probar routing.xml en el dispositivo, simplemente puede reemplazar el routing.xml predeterminado en la carpeta ra铆z de OsmAnd con la tarjeta SD.