-
Notifications
You must be signed in to change notification settings - Fork 0
ES—Enrutamiento
Comencé con el archivo routing.xml utilizado por OsmAnd para todos sus perfiles predeterminados y lo propuse aquí
Solo conservé la parte del coche que adapté para 3 usos
- motocicleta pesada (neumáticos muy de carretera)
- motocicleta ligera "trail" (neumáticos 50/50)
- moto de enduro
para seguir las categorías de ruta definidas en el estilo de visualización.
entre los parámetros importantes, <attribute name="heuristicCoficient" value="7.0" />
juega mucho en la velocidad de cálculo de una ruta por un lado y en su "cumplimiento" con los criterios expresados entonces (¡por supuesto que es inversamente proporcional!
cuanto más alto es, menos "precisos" son los resultados en relación con un tiempo/distancia ideal entre 2 puntos).
es bastante teórico y en mis pruebas no he encontrado nada realmente "impactante" en lo que respecta a la elección de caminos (lo que me interesa en primer lugar)
aquí el valor 7.0 presenta un buen compromiso velocidad de cálculo/elección de caminos, puede experimentar con otros valores a voluntad.
está en este bloque que incluye todos los demás bloques que se describen a continuación.
<routingProfile name="gros_trail" baseProfile="car" restrictionsAware="true" minSpeed="1" defaultSpeed="30.0" maxSpeed="90.0" sharpTurn="" slightTurn="" roundaboutTurn="" followSpeedLimitations="false" onewayAware ="true">
.....
</routingProfile>
al comienzo de este bloque las opciones en el menú "guiado" del perfil al que se le asignará este enrutamiento, como aquí "sin caminos" del enrutamiento de senderos grandes
<parámetro id="evitar_pista" nombre="sin pistas" descripción="evitar pistas" tipo="booleano" predeterminado="falso"/>
que se traduce así en uso
y referencia al bloque "avoid_track" del bloque "priority" (ver más abajo)
<if param="avoid_track">
<select value="0" t="ford" v="yes"/>
<select value="0" t="surface" v="mud"/>
<select value="0" t="surface" v="grass"/>
<select value="0" t="surface" v="sand"/>
<select value="0" t="surface" v="dirt"/>
<select value="0" t="surface" v="earth"/>
<select value="0" t="surface" v="unpaved"/>
<select value="0" t="surface" v="ground"/>
<select value="0" t="tracktype" v="grade5"/>
<select value="0" t="tracktype" v="grade4"/>
<select value="0" t="surface" v="compacted"/>
<select value="0" t="surface" v="gravel"/>
<select value="0" t="surface" v="pebblestone"/>
<select value="0" t="surface" v="paved"/>
<select value="0" t="surface" v="paving_stones"/>
<select value="0" t="tracktype" v="grade3"/>
<select value="0.2" t="surface" v="fine_gravel"/>
<select value="1" t="surface" v="asphalt"/>
<select value="0.8" t="surface" v="concrete"/>
<select value="0" t="tracktype" v="grade2"/>
<select value="0.3" t="tracktype" v="grade1"/>
<select value="0" t="highway" v="track"/><!--paths without tags-->
</if>
donde cada valor="0" no permite el uso para el enrutamiento.
es bastante paradójico en una ruta dedicada a caminos que solo se quiera circular por carretera..
pero siguiendo el pedido de un usuario que viaja mucho y que encontró que mi enrutamiento lo hacía pasar por caminos muy pequeños y magníficos que ningún otro GPS nunca toma prestado, me pidió que hiciera esta opción para poder pasar por estos caminos sin tomar caminos. en caso de cansancio por su parte, lo más sorprendente es que funciona tomando a veces tramos de camino muy cortos, de lo contrario el cálculo fallará.
<way attribute="access">
<select value="-1" t="osmand_change" v="delete"/>
<select value="-1" t="build" v="yes"/>
<select value="-1" t="smoothness" v="impassable"/>
<select value="-1" t="highway" v="path"/>
definido por sí (1) o no (-1) acceso y no se tendrá en cuenta para orientación. (los ifs permiten una elección relativa a una opción definida al principio)
se toma del OsmAnd predeterminado, a menos que desee conducir en contra de la dirección, no es necesario modificarlo.
es de poca utilidad en uso off-road, dejo valores medios en base a mi experiencia (puedes modificarlos para ver)
es el más importante de todos para la elección de caminos con sus sub-bloques
primero la definición de las "rutas" con para cada elemento un número entre 0 y 1 y más allá de 1, si "1" el motor de cálculo de rutas no aplica penalización, si es 0 el motor evitará este elemento, si es mayor que 1 el Se preferirá el elemento (lo remito a la ayuda incluida en el archivo de enrutamiento OsmAnd)
aquí para "gran sendero"
<select value="0.1" t="highway" v="motorway"/>
<select value="0.1" t="highway" v="motorway_link"/>
<select value="0.15" t="highway" v="trunk"/>
<select value="0.15" t="highway" v="trunk_link"/>
<select value="0.15" t="highway" v="primary"/>
<select value="0.15" t="highway" v="primary_link"/>
<select value="0.2" t="highway" v="secondary"/>
<select value="0.2" t="highway" v="secondary_link"/>
<select value="0.25" t="highway" v="tertiary"/>
<select value="0.25" t="highway" v="tertiary_link"/>
<select value="0.3" t="highway" v="unclassified"/>
<select value="0.3" t="highway" v="road"/>
<select value="0.3" t="highway" v="service"/>
<select value="0.3" t="highway" v="residential"/>
<select value="0.1" t="highway" v="living_street"/>
<select value="0.1" t="ford" v="yes"/>
<select value="0.05" t="surface" v="mud"/>
<select value="0.05" t="surface" v="grass"/>
<select value="0.05" t="surface" v="sand"/>
<select value="0.1" t="surface" v="dirt"/>
<select value="0.1" t="surface" v="earth"/>
<select value="0.1" t="surface" v="unpaved"/>
<select value="0.1" t="surface" v="ground"/>
<select value="0.1" t="tracktype" v="grade5"/>
<select value="0.2" t="tracktype" v="grade4"/>
<select value="2.8" t="surface" v="compacted"/>
<select value="2.8" t="surface" v="gravel"/>
<select value="2.8" t="surface" v="pebblestone"/>
<select value="2.8" t="surface" v="paved"/>
<select value="2.8" t="surface" v="paving_stones"/>
<select value="2.8" t="tracktype" v="grade3"/>
<select value="3" t="surface" v="fine_gravel"/>
<select value="3" t="surface" v="asphalt"/>
<select value="3" t="surface" v="concrete"/>
<select value="3" t="tracktype" v="grade2"/>
<select value="3" t="tracktype" v="grade1"/>
<select value="0.1" t="highway" v="track"/><!--paths without tags-->
toda la jerarquía se define aquí el "grade1" tiene el número más alto cuando una carretera secundaria en "0.2"
se intercalan los "si" en relación a las opciones propuestas en las opciones de orientación del perfil (según lo que modifiquen, el orden es importante de lo contrario no se aplicarán los valores, se aplican unas veces en el el orden en que se elige la etiqueta (una ruta que es tanto mud como grade1, que es inconsistente pero que a menudo está presente en osm, se procesará solo una vez con la primera etiqueta llamada, aquí le aconsejo que coloque "mud" para mud primero ^^)
prohíbe o penaliza según los elementos presentes en osm y enumerados en el bloque
no es de interés para nuestro uso (ver documento en el archivo routing.xml de OsmAnd)
Some instructions on:
Quelques instructions sur :
Algunas instrucciones sobre:
- la renderizar
- la enrutamiento