Madrid Pharmacies Import Workflow
Proceso de importación
Los pasos a seguir son los siguientes:
- 0. Antes de hacer nada, recomendamos encarecidamente que instales el plugin ToDo List de JOSM (si aun no lo has instalado en tu JOSM). Con este plugin podremos recorrer todos los nodos a importar y asegurarnos que no dejamos ninguno sin comprobar.
También puede ser aconsejable instalar el [plugin Mirrored_Download] para los casos en que el área de datos a descargar de OSM es demasiado grande o densa en datos para descargarlos del servidor oficial de OSM.
- 1. Crea una nueva cuenta específica de importación de datos diferente de la tuya habitual, si no dispones aún de ella. Para ello necesitarás usar una cuenta de correo diferente de la que usaste para tu cuenta habitual. Por ejemplo, si tu nombre de usuario es edvac, a la nueva puedes (se aconseja) llamarle edvac_import. Luego cambia el usuario en las preferencias de JOSM (F12) a esa cuenta específica:
- 2. Ve a esta wiki y descarga un archivo con 50 nodos de farmacias que aún no haya cogido nadie, escribe tu nombre de usuario y pon su Status en Work in progress. Abre el fichero descargado en JOSM:
Esa capa tiene de nombre farmaciasMadridOSM_17.osm, indicando 17 el subconjunto de 50 nodos que has elegido.
Seguidamente, descarga los datos de OSM para esa área, asegurándote de que al menos se extienda unos 100 metros hacia el N, S, E y O, para evitar que nos queden nodos antiguos de farmacias sin incorporar cuando hagamos la unión de los datos nuevos con los viejos:
En algunos casos, los datos a descargar pueden ser demasiado grandes y el servidor OSM no te lo permite hacer en una sola descarga. Si ése es el caso, es recomendable usar el plugin Mirrored Download, que permite descargar datos desde un servidor espejo, sin límite, usando la opción Descargar desde el servidor espejo OSM... en lugar de "Descargar desde OSM...", como se hace habitualmente. Ver captura siguiente:
Si tienes ambos conjuntos de datos en dos capas diferentes, combínalas en una sola con el botón de combinar capas:
Al combinar las dos capas, verás una advertencia como la que se muestra a continuación, y que debes ignorar clicando en el botón Continuar:
Aunque no estrictamente necesario, es de gran ayuda en la importación usar de fondo la capa del Catastro, para comprobar números de calle.
- 3. Seguidamente creamos y activamos los filtros amenity="pharmacy" y source="Ayuntamiento de Madrid":
Aunque, para evitar que nos queden también nodos ya previamente importados en los aledaños de los nodos a importar, podemos añadir el filtro new a esos dos filtros:
De esta forma podemos seleccionar los 50 nodos que descargamos y añadirlos a la ToDo List haciendo uso del plugin ToDo List de JOSM:
(Si no has usado nunca el Todo List, tienes una explicación al final de esta wiki).
Hecho esto, para ver de nuevo todas las farmacias, deshabilitamos el filtro source="Ayuntamiento de Madrid", manteniendo activo el filtro amenity="pharmacy". Este filtro podemos activarlo y desactivarlo según necesitemos.
- 4. Ahora es el momento de recorrer, uno a uno, los 50 nodos de la Todo List. Haz doble clic en el primero de ellos y el plugin te hará zoom hacia él.
a) Lo primero que debes hacer con cada nodo es comprobar que los datos en las etiquetas están correctos. Especialmente, comprueba que están bien los acentos, y que la posición, calle y número parecen OK.
b) Si el nodo está mal o sospechas que está mal, no lo importaremos. Lo que haremos con cada uno de esos nodos será eliminarlos y anotar lo ocurrido en los comentarios de la wiki de control de progreso de la importación, de tal manera que podrán ser comprobados por otros usuarios más adelante y tomar la mejor decisión al respecto.
c) Por último, si el nodo está cerca de otro nodo antiguo que es un duplicado del que queremos importar, debemos combinarlos en uno solo. Para ello haremos tres cosas por este orden:
c.1) Borramos las etiquetas que no son necesarias o que están mal en el viejo nodo.
c.2) Luego cambiamos o corregimos aquellas etiquetas que lo necesiten en el viejo nodo.
c.3) Finalmente seleccionamos primero el viejo nodo y después el nuevo nodo y los combinamos en uno solo con la herramienta Unir nodos (tecla M), de tal forma que el viejo nodo se mueve a la posición del nuevo nodo, manteniendo la id y el historial del viejo nodo, y añadiendo a él las etiquetas del nodo a importar. Ten en cuenta que esta combinación ha de seguir las reglas de Unión de datos, que se explican más abajo.
c.4) Una vez hemos acabado con un nodo, lo marcamos como hecho con el botón Mark en la Todo List. El plugin te llevará automáticamente al siguiente nodo.
- 5. Una vez hayamos acabado con todos los 50 nodos, procederemos a subirlos a OSM con nuestra cuenta OSM específica de importación, clicando en el botón de Subir datos. Al igual que ocurrió al combinar dos capas que explicamos en el apartado 2, verás la siguiente advertencia, que una vez más ignoraremos clicando en Continuar:
MUY IMPORTANTE: Antes de subir el conjunto de cambios, debemos etiquetarlo correctamente, de acuerdo con la wiki de importación. Para nuestro ejemplo:
comment=Madrid Pharmacies Import, subset 17
created_by=JOSM/version (Esta etiqueta la añade JOSM automáticamente)
url=https://wiki.openstreetmap.org/wiki/Madrid_Pharmacies_Import
En la siguiente imagen se puede ver como quedarían esas etiquetas del conjunto de cambios (changeset) antes de subir los datos:
- 6. Finalmente, vamos a la wiki de control de progreso de la importación y marcamos el conjunto de datos poniendo el Status como Done.
En caso de problemas
Si algo va muy mal con la importación, usaremos la herramienta reverter de JOSM.
Unión de datos
Actualmente, hay algo más de 500 farmacias para el área de importación ya en la base de datos de OSM. Algunas son independientes de las 1,701 farmacias que queremos importar, y que por tanto dejaremos en el mapa sin cambios (salvo que sepamos que alguna está mal, como ya explicamos antes).
Pero muchas otras son un duplicado de uno de los nodos a importar. En este caso, y salvo que haya una razón muy de peso para lo contrario, lo que haremos es aprovechar los datos que sean útiles del nodo antiguo (como por ejemplo opening_hours=*), manteniéndolos tal cual o corrigiéndolos, y borrando las etiquetas que no sean necesarias de ese viejo nodo.
Etiquetas de los nodos antiguos
Aquí mostramos qué hacer con las etiquetas de los nodos antiguos y con sus valores:
Etiqueta | Qué hacer | Observaciones |
---|---|---|
addr:city=* | La ignoramos | Duplicado |
addr:country=* | La ignoramos | No es necesaria |
addr:housename=* | La ignoramos. | Hay sólo 2 nodos con esta etiqueta, y están mal |
addr:housenumber=* | Debería coincidir con el del nodo a importar. Comprobar. | |
addr:postcode=* | Debería coincidir con el del nodo a importar. Comprobar. | |
addr:state=* | La ignoramos | No es necesaria |
addr:street=* | Debería coincidir con el del nodo a importar. Comprobar. | |
alt_name=* | Hay sólo un nodo con esta etiqueta. Ver name=* más abajo | |
amenity=pharmacy | La ignoramos | Duplicada |
contact:phone=* | Debería coincidir con el del nodo a importar. Comprobar. | |
date_off=* | La ignoramos | Esta etiqueta está obsoleta y, además, era para usar con la etiqueta access=* |
date_on=* | La ignoramos | Esta etiqueta está obsoleta y, además, era para usar con la etiqueta access=* |
description=* | Solamente un nodo tiene esta etiqueta. Dice "Abierto 24 horas", por lo que borraremos esa etiqueta y crearemos esta otra: opening_hours=24/7 | |
dispensing=* | Sólo mantendremos los que tengan dispensing=yes ó dispensing=no, e ignoraremos en el resto de los casos. | |
email=* | Cambiaremos la etiqueta a contact:email=*. | Sólo hay 2 casos con esta etiqueta. |
is_in:city=* | La ignoraremos | Obsoleta y duplicada |
level=* | La mantendremos tal cual | |
name=* | Algunos nodos tienen name=Farmacia, por lo que ignoraremos estos casos. Otros tienen un nombre que duplica al del nodo ya importado, por lo que en esos casos también la ignoraremos. En caso de que el nombre sea un posible nombre alternativo para la farmacia, cambiaremos la etiqueta name=* del viejo nodo a alt_name=*. | Hay más de 150 viejas farmacias con esta etiqueta, por lo que te encontrarás nodos en esta situación con bastante frecuencia durante el proceso. |
old_name=* | Lo mantendremos tal cual. | Sólo hay un nodo con esta etiqueta. |
opening_hours=* | Lo mantendremos tal cual. Corrige posibles errores en la cadena. | Hay sólo 12 nodos con esta etiqueta. |
operator=* | La ignoraremos | Hay sólo un nodo con esta etiqueta, y está mal. Su valor es operator=Lda. Consolacion Pinto Oca, por lo que debería ir, probablemente, a la etiqueta alt_name=* |
phone=* | Debería coincidir con el valor de la etiqueta contact:phone=* del nodo a importar. Comprobar. | |
shop=* | La ignoraremos | No tiene ningún sentido aquí. En todo caso, sólo hay un nodo con este valor. |
source:date=* | La ignoraremos | Duplica |
source:name=* | Puedes añadir el valor al de la etiqueta source=* del nodo a importar. | |
source=* | Puedes añadir el valor al de la etiqueta source=* del nodo a importar. | |
time_off=* | La ignoraremos | No tiene ningún sentido en este contexto |
time_on=* | La ignoraremos | No tiene ningún sentido en este contexto |
website=* | Podemos comprobar la URL, y substituirla por el valor que hay en contact:website=* del nodo a importar | Sólo 2 nodos tienen esta etiqueta |
wheelchair:description=* | La mantendremos tal cual | |
wheelchair=* | La mantendremos tal cual |
Como ya explicamos antes, en caso de duda con un nodo, lo dejaremos tal cual y escribiremos el problema en el campo Comments de la tabla de la wiki de control de progreso de la importación.
Uso del Todo List
Si no has usado el plugin Todo List nunca, es muy sencillo. Partiendo de que lo hayas descargado ya, sigue estos pasos:
a) Haz clic en el icono del plugin en el panel lateral:
b) Primero asegúrate de que el ToDo List está vacío. Para ello, pon el cursor del ratón en el cuerpo de la ventana del ToDo List, botón derecho y haz clic en Clear the todo list:
c) Ahora selecciona los elementos sobre los que tienes que trabajar. En nuestro caso, selecciona todos los nodos (50) que has filtrado usando los dos filtros ya comentados. Luego haz clic en el botón Añadir de la ventana Todo List, y verás que se incorporan esos 50 elementos a la lista:
d) Para trabajar con un nodo, haz doble clic sobre él (alternativamente, puedes seleccionarlo y hacer clic en Zoom). Esto hará un zoom sobre ese nodo, y podrás trabajar con él: comprobar ortografía, posición, combinar con nodo duplicado en OSM, etc., pasos que se explicaron en el apartado correspondiente del workflow más arriba.
e) Una vez hayas acabado con un nodo, márcalo como hecho haciendo clic en el botón Mark. Esto te llevará automáticamente al siguiente nodo.
f) No olvides, cada vez que uses el Todo List, de comprobar que está limpio, como hiciste en el apartado b). El hecho de que aparezca vacío no quiere decir que hayan desaparecido los elementos (pueden ser recuperados con Unmark all).