5 de enero de 2016

Cómo agregar radares correctamente en OpenStreetMap

Una de las opciones que nos gustan en los navegadores GPS es la del aviso de radares. Osmand, la aplicación GPS que comenté en otro artículo, tiene esta opción, pero en muchos casos no nos avisa de ellos. Aunque la mayoría de los radares sí están introducidos en OpenStreetMap, que es de la que saca los datos la aplicación, estos no están introducidos correctamente. Y no es extraño, porque la forma correcta de añadirlos no es nada intuitiva y está poco explicada.

Nodos y relaciones


En la edición de OpenStreetMap, la mayoría de elementos se componen a base de nodos. De forma que un sólo nodo puede servir para indicar correctamente cosas como una fuente, un buzón de correos, un árbol, un semáforo, y cosas así. Las calles y carreteras las forman series de nodos conectados en línea, y para edificios, jardines, aparcamientos y demás los nodos los dibujan en áreas cerradas.

Pues bien, a parte de los nodos, otro elemento básico al que posiblemente no le hayamos prestado mucha atención son las relaciones. Y éstas son totalmente imprescindibles para que los radares puedan asignarse al trozo de carretera concreta al que afectan.

Editando con Potlatch


La edición de OpenStreetMap tiene como atractivo, el que se pueda hacer directamente desde el navegador, aunque de esta forma podemos estar más limitados.

Seleccionando el editor de OpenStreetMap


Aún así, voy a explicar como se hace con Potlach, puesto que con el editor iD no se pueden agregar correctamente los radares, y considerando que la mayoría posiblemente no se va a instalar JOSM o Merkaartor para añadir un radar.

Os pongo en cualquier caso un vídeo explicativo de como se haría con JOSM:


Device (el aparato)


La primera parte es sencilla, tan sólo hay que ver dónde se encuentra el radar en cuestión y definirlo con un nodo. De hecho, por lo que he visto, la mayoría de los radares están ya añadidos en España.


Definiendo el nodo "device"

Como se ve en la imagen, para añadir fácilmente las claves, y luego la relación, en la columna de la izquierda, abajo elegiremos el modo Advanced.

En este primer nodo, hay que definir principalmente la clave higway con el valor speed_camera. Esto se hace en la parte superior de la mencionada columna pulsando en Add para añadir una clave nueva. Para editar basta pulsar en el contenido y directamente nos dejará hacer los cambios.

Opcionalmente en la clave nombre, darle un nombre tipo "Radar límite 90 km/h". Intentando cuidar la ortografía como lo acabo de poner, es decir, límite con su tilde y km/h todo en minúscula. En la imagen también se observa la clave nota, pero eso es porque ya anteriormente existía en el ejemplo que estoy usando, y tampoco es plan de ir borrando el trabajo de los demás. Eso sí, la clave maxspeed, de existir, la debemos borrar del nodo, porque debe pertenecer a la relación.

Relation (la relación)


Ahora, hay que crear la relación, porque aunque en la imagen anterior ya se ve creada y asignada al nodo con el rol correcto de device, suponemos que en principio no existe, y por tanto al conducir con OsmAnd, no los dice nada. Por tanto, para crearla le damos donde pone Add to, pero esta vez en la parte de Relation y no en la de Node.

Nos saldrá una nueva ventana en el centro, en la que se puede seleccionar una relación para asignarla, o se puede crear directamente pulsando el botón New Relation..., siendo esta última nuestra opción en esta ocasión.

La ventana central cambiará para permitirnos definir la relación, lo que se hace de forma muy semejante a como lo hacíamos al principio con el nodo. Primeramente elegiremos el modo Advanced, y seguidamente añadiremos las siguientes claves con sus valores:

Editando la relación


Key
Value
type enforcement
enforcement maxspeed
maxspeed 90

Evidentemente el valor de la clave maxspeed en este caso es de 90 km/h porque es el límite en esta zona, y es el único valor que se cambiará en cada caso, lo demás se debe de quedar igual.

Una vez establecidos los valores, se quedarán guardados automáticamente y podremos cerrar la ventana en su X. Volverá automáticamente al último nodo introducido, que ahora mismo sigue siendo el de la speed_camera. Observaremos que ahora ya existe la relación que acabamos de crear, pero no tiene asignado su rol (Role) por lo que se lo tenemos que añadir escribiendo device.

From - To (desde - hacia)


Ahora sólo nos falta asociar la relación a otros dos nodos más, dichos nodos tienen que ser de la carretera que tiene que cumplir la condición. No tienen que estar especialmente distanciados y los podemos crear para la ocasión o simplemente seleccionar entre los existentes, pero van a servir para indicar el sentido de la marcha que vigila el radar. Por lo que uno de ellos será el de entrada from, y el otro el de salida to.

Para establecerlos así, tan sólo hay que seleccionar uno de ellos, por ejemplo el de entrada. No hay que modificar ninguna clave, directamente y estando en modo Advanced, pulsaremos el Add to para asignarle la relación. Se volverá a abrir la ventana de selección, buscaremos la relación que acabamos de crear, de tipo enforcement maxspeed, y darle al botón de seleccionar. Quedando tan solo establecerle su Role como antes hicimos con el propio radar, pero esta vez escribiremos from.

En el nodo de salida se procedería exactamente igual, asignando la misma relación, y establecerle como Role la palabra to.

Para terminar podemos asegurarnos de que los tres nodos pertenecen a la misma relación en la opción de Select all members, que si lo hemos hecho todo bien tendrán un aspecto como el de la imagen final.

Todos los miembros de la relación seleccionados.