Revisión de los datos de OSM

Revisado 2017-04-24

Esta sección cubre los procesos de verificación de la calidad de los datos, especialmente en el contexto de un proyecto de mapeo de OSM dirigido, como los que lleva a cabo el Equipo Humanitario de OpenStreetMap en distintos países y los proyectos de Open Cities en Bangladés, Sri Lanka y Nepal. Los métodos demostrados también pueden ser útiles en otros contextos, en los que la revisión de la calidad de los datos es una tarea habitual.

Cuando intentamos mapear un conjunto completo de elementos y atributos en un área específica, necesitamos contar con formas de verificar los errores y de evaluar la precisión del trabajo. En este tutorial, trabajaremos con varios métodos de verificación de datos, explicando los pasos del método y la justificación de cada uno. Un proyecto de mapeo bien gestionado incluye cada uno de estos tres procesos, tanto para evaluar y corregir datos como para la creación de informes.

  • Verificaciones diarias
  • Repetición de la encuesta
  • Consultas SQL

Estos métodos de revisión cobran más importancia a medida que crece el modelo de datos y aumenta el número de elementos recopilados. Por ejemplo, no se necesitaría mucho tiempo ni esfuerzo para evaluar un modelo de datos que solo involucre puntos de interés (PDI):

Data Model POIs

En este caso, las preguntas que deberían hacerse serían:

  • ¿Se han mapeado los PDI en todas las ubicaciones?
  • ¿Hay algún PDI al que le falte el atributo de nombre?
  • ¿Hay algún PDI al que le falte el atributo de tipo?
  • ¿Hay algún PDI al que le falte el atributo de número de teléfono?
  • ¿El valor en el campo del nombre utiliza las mayúsculas correctamente?
  • ¿El número de teléfono tiene sentido?

Sin embargo, un modelo de datos suele ser mucho más complejo, como en el caso del mapeo de edificios. Considera un modelo de datos que incluya esto:

Data Model Buildings

Ahora puedes estar mapeando miles de edificios que tienen muchos atributos y el análisis se vuelve más crítico. En este tutorial, utilizaremos los edificios como ejemplo, aunque los mismos métodos se pueden aplicar para revisar otros tipos de elementos también.

Verificaciones diarias

La forma más inmediata de verificar los datos es revisarlos y validarlos periódicamente. Esto podría ser a diario o, como máximo, semanalmente. Para el supervisor de un equipo de mapeadores, esta es una tarea importante, porque detectar errores y malas prácticas de edición pronto significa que se pueden corregir y los editores pueden aprender a hacer las cosas correctamente.

Aquí veremos algunos métodos para verificar datos simplemente usando JOSM. Algunas de las preguntas que nos hacemos sobre nuestros datos son:

  • ¿Hay errores de topología (como edificios superpuestos o relaciones incorrectas)?
  • ¿Hay errores de etiquetado (etiquetas con errores ortográficos, combinaciones de clave-valor mal utilizadas)?
  • ¿Los datos están completos de acuerdo con el modelo de datos?

Examinemos cómo podemos encontrar respuestas a estas preguntas en JOSM. Asumiremos que estamos examinando el trabajo de otros, pero los mismos procesos funcionarán bien (y deberían ser más fáciles) al analizar tu propio trabajo.

Utilizaremos un archivo de datos de ejemplo del proyecto de mapeo Open Cities en Daca. Para seguirlo, descarga el siguiente archivo: dhaka_validation_example.osm.

NO intentes guardar tus cambios en OpenStreetMap. Estos ejercicios son solo para fines de demostración.

Dhaka Example in JOSM

Validación de datos

El primer paso para verificar los datos es ejecutar la herramienta de validación en JOSM, que verificará automáticamente los datos que tengas abiertos para detectar posibles errores. Esta herramienta es especialmente útil para encontrar errores de topología, pero puede no ser tan útil para encontrar etiquetas incorrectas.

  • Activa la herramienta haciendo clic en el botón “Herramienta de validación” en el lado izquierdo de JOSM. (Esto no es necesario si el panel de validación ya está abierto).

Validation Tool

  • A continuación, asegúrate de que no haya nada seleccionado haciendo clic en un punto en blanco en tu mapa. Si tienes elementos seleccionados cuando ejecutas la herramienta de validación, solo se verificarán esos elementos seleccionados. (A veces, es posible que solo quieras verificar ciertos elementos, pero por ahora revisaremos todo el archivo).
  • Haz clic en el botón “Validación” del panel.

Validate Button

  • Verás aparecer una lista de advertencias:

Validation Results

  • También aparece una nueva capa que muestra dónde están los errores. Puede que te resulte conveniente ocultar esta capa por ahora.

Validation Layer

Veamos algunas de las advertencias. Puedes ver que hay cuatro advertencias de “Cruce de edificios”. Esta advertencia significa que los edificios se superponen en alguna parte. Selecciona el primer elemento de esta lista, haz clic con el botón derecho y haz clic en “Acercar al problema”.

Validation Zoom to Problem

Además, haz clic en el botón “Seleccionar” en la parte inferior de la ventana de validación para seleccionar las vías en cuestión. Esto muestra que estas dos vías tienen un problema:

Validation Selected Ways

  • Este es un error que nunca habríamos detectado sin la herramienta de validación. Si te acercas mucho, puedes ver que hay una pequeña superposición entre los edificios, lo cual es un error topológico, porque los edificios normalmente no se superponen entre sí. Para solucionar esto, el nodo central debe moverse. Si los edificios realmente se tocan, lo que probablemente ocurra, el nodo central se puede unir a la vía.
  • Una vez que se corrige esto, podemos volver a ejecutar la herramienta de validación y esta advertencia habrá desaparecido de la lista.

Este método de verificar automáticamente los datos es una forma efectiva de corregir errores de topología, especialmente aquellos que serían difíciles de notar por una persona. En la lista de advertencias de validación, puedes ver que otras advertencias, como “Edificio dentro de edificio”, son el resultado de un error similar.

Sin embargo, otras advertencias, como “Cruce de vía fluvial/autopista”, no son necesariamente errores. Esto muestra que la herramienta de validación es buena para encontrar posibles errores, pero requiere que alguien vaya y vea si el error es importante o no.

Validation Crossing Ways

Veamos la advertencia en “Vías con nombres similares” para ver un error que no es topológico. Haz clic en “Seleccionar” para seleccionar las dos formas en cuestión.

Validation Select Crossing Ways

¿Puedes decir cuál es el error? Aquí tenemos dos segmentos de carretera diferentes, que en realidad son la misma carretera, pero que se han nombrado de forma ligeramente diferente: “carretera” está en mayúscula en una de las vías, pero no en la otra. Tiene sentido que tengan el mismo nombre y, en este caso, la palabra “carretera” debería estar en mayúscula.

Uso de la búsqueda de JOSM

Buscar en JOSM es una forma potente de revisar datos. Te permite proporcionar términos de búsqueda, también conocidos como consultas, para seleccionar solo los elementos que deseas.

  • Para acceder a la búsqueda, ve a “Editar” -> “Buscar” o presiona CTRL+F en tu teclado.

JOSM Menu Search

  • Hay muchos tipos de consultas que puedes buscar aquí y puedes ver detalles y ejemplos en el propio cuadro de búsqueda y haciendo clic en el botón “Ayuda”.
  • Por ahora, intentemos seleccionar todos los edificios. Casi todos los edificios tendrán la etiqueta building=yes y algunos tendrán building=construction. Esto significa que podemos construir una consulta que diga:

    building = yes OR building=construction

  • Esto debería seleccionar todos los edificios, pero en caso de que alguien aplique la etiqueta incorrecta a un edificio, podemos usar un carácter comodín, que seleccionará todos los elementos que tengan la clave building.

JOSM Search String

  • Se seleccionarán todos los edificios.

Esto es genial, pero ¿cómo nos ayuda a revisar los datos? Bueno, ahora que se han seleccionado todos los elementos de un solo tipo, podemos buscar etiquetas incorrectas.

  • Mira en la ventana “Propiedades”: lo que vemos son todas las etiquetas de cada objeto seleccionado. Todos comparten las mismas claves, pero debido a que cada elemento tiene valores diferentes, están marcados como <diferentes>.

JOSM Search Properties

  • Haz clic en la etiqueta building:use y luego haz clic en “Editar”.

JOSM Search Properties Edit

  • ¡CUIDADO AQUÍ! No quieres editar el valor y hacer clic en “Aceptar”, porque eso cambiaría esta etiqueta para cada elemento de construcción. Esto sería muy malo.
  • En su lugar, haz clic en el cuadro desplegable junto a “Valor”.

JOSM Search Properties Edit 2

  • Observa que todos los elementos en negrita tienen un número junto a ellos entre paréntesis. Este es el número de elementos seleccionados que tienen este valor de etiqueta.

Podemos comparar esto con las etiquetas de OpenStreetMap que se han mapeado en nuestro modelo de datos y buscar errores. Por ejemplo, esta etiqueta representa el uso del edificio. Al principio del proyecto Open Cities Dhaka (de donde proceden estos datos), había incertidumbre sobre si un edificio de uso mixto debería etiquetarse como building:use=multipurpose o building:use=mixed. Debido a que la etiqueta anterior se había utilizado anteriormente en otros países, se seleccionó. Sin embargo, aquí vemos que uno de los edificios ha sido etiquetado como mixed. Necesitamos corregir esto. (Otro error obvio son los tres términos diferentes para garage, pero no lo corregiremos aquí).

  • No podemos cambiar el elemento que tiene la etiqueta building:use=mixed aquí, porque tenemos cientos de elementos seleccionados. Así que, para corregir el error, primero debemos encontrarlo. ¿Cómo? Lo has adivinado, con la herramienta de búsqueda.
  • Haz clic en “Cancelar” para salir de este cuadro de diálogo. Recuerda que hacer clic en “Aceptar” puede ser peligroso.
  • Abre de nuevo la búsqueda e introduce la siguiente consulta: “building:use”=mixed
  • Ten en cuenta que las comillas son necesarias porque los dos puntos (:) también tienen un significado de búsqueda. Esto debería hacer que se seleccione el único edificio que tiene esta etiqueta. Ahora se puede corregir al valor multipurpose.

Recuerda que, si sigues este tutorial, NO intentes guardar tus cambios en OpenStreetMap. Estos ejercicios son solo para fines de demostración.

Repetición de la encuesta

Al gestionar un proyecto como una encuesta detallada de edificios, debería haber un método adicional de control de calidad, tanto para mejorar el trabajo como para informar sobre la precisión al final de un proyecto.

Si hay muchos equipos de cartografía que colaboran para examinar un área, es habitual que uno o más de los equipos no hagan un trabajo satisfactorio. Incluso aquellos equipos que realizan un trabajo eficiente y preciso cometerán errores. Imagina equipos que mapean cada uno 100 edificios al día; no es improbable que un pequeño porcentaje de los atributos que recopilan sea incorrecto.

Por lo tanto, un buen proyecto incluirá un proceso de volver a verificar parte del trabajo realizado, corregir errores, determinar qué equipos de mapeo están realizando satisfactoriamente y aproximar el porcentaje de errores para un informe final.

Por supuesto, no tiene sentido volver a inspeccionar cada edificio de un área objetivo, pero se debe revisar entre el 5 y el 10 % de los edificios. Las áreas de revisión deben elegirse de diferentes áreas para comparar entre los equipos de encuesta. Los equipos de encuesta pueden volver a inspeccionar el trabajo de los demás o, si es posible, los gerentes más experimentados pueden realizar las revisiones. Es una práctica habitual que un día a la semana los gerentes pasen reevaluando partes del área objetivo.

Corregir errores

¿Qué se debe hacer cuando se encuentran errores?

Si hay una pequeña cantidad de errores (menos del 5 % de los edificios), los problemas deben presentarse al equipo de mapeo original para que estén al tanto y no vuelvan a cometer los mismos errores. Los datos deben corregirse en OpenStreetMap y los resultados de la nueva encuesta deben registrarse.

Si hay muchos errores, es posible que se deban tomar medidas más importantes. El equipo de la encuesta tendrá que ser abordado de forma adecuada y las áreas que han mapeado pueden incluso necesitar una encuesta completa, dependiendo de la inexactitud de los datos. Más del 10 % de inexactitud es muy probable que sea una tasa inaceptable.

Informar sobre la precisión

El segundo objetivo de la repetición de la encuesta es para que puedas informar sobre la precisión de los datos cuando se cierre el proyecto. Los usuarios de los datos querrán conocer tus métricas y metodologías para evaluar la calidad de los datos.

Al incluir este proceso como parte de tu metodología de revisión, podrás explicar claramente cómo evaluaste la calidad de los datos y proporcionar cifras concretas que muestren el porcentaje probable de error contenido en los datos de tu encuesta.

Por ejemplo, imaginemos que estamos gestionando un proyecto que mapea 1000 edificios. Entonces decidimos mapear el 10 % de ellos, o 100 edificios, seleccionados al azar del área objetivo. Salimos y encontramos que, de los 100 edificios que volvimos a estudiar, seis de ellos tienen un alto nivel de inexactitud. Supongamos que definimos la inexactitud al tener más de un atributo incorrecto. Por lo tanto, el 6 % de la encuesta es incorrecta: podemos corregir estos errores, pero aún debemos extrapolar que alrededor del 6 % de los 1000 edificios probablemente sean inexactos. Esto debe informarse como el error probable al cierre del proyecto.

La repetición de la encuesta debe hacerse durante todo el proyecto. ¡Imagina que esperamos en este ejemplo hasta el final y que 40 de cada 100 edificios estuvieran equivocados! Podría arruinar todo el proyecto. Es mejor detectar los errores a gran escala pronto para poder corregirlos.

Consultas SQL

Probablemente, la mejor herramienta de análisis será ejecutar consultas SQL en un sistema SIG, como Quantum GIS. Esto es similar a la búsqueda de datos en JOSM, pero ofrece un análisis más potente, aunque puede tardar un poco más en configurarse. Usar JOSM es una forma rápida y habitual de verificar errores básicos, mientras que las consultas en QGIS son más adecuadas para encontrar datos que faltan o atributos incorrectos.

Aquí asumiremos que estás familiarizado con los SIG y nos centraremos en crear consultas que puedan ayudarte a revisar los datos de OpenStreetMap. Para los ejercicios a continuación, volveremos a utilizar datos del proyecto Open Cities Dhaka, que puedes descargar en dhaka_sql.zip. Los datos de OpenStreetMap se exportaron utilizando la herramienta de exportación HOT (export.hotosm.org) y el límite del área objetivo se definió al comienzo del proyecto.

Preparar los datos

Descomprime los archivos y carga los dos archivos shape en QGIS. Empezaremos recortando solo los edificios dentro del área del proyecto para simplificar nuestras consultas más adelante.

  • Primero, seleccionemos solo los polígonos que están dentro del área objetivo. Para hacerlo, utilizaremos el complemento de consulta espacial. Si aún no lo tienes instalado, ve a “Complementos” -> “Administrar e instalar complementos” para encontrarlo e instalarlo.
  • Ve a “Vector” -> “Consulta espacial” -> “Consulta espacial”.
  • Debes rellenar la configuración para seleccionar elementos de planet_osm_polygon que estén dentro de target_area.

QGIS Spatial Query

  • Haz clic en “Aplicar”. Solo se seleccionarán los polígonos dentro del área objetivo.

QGIS Map Image

  • Haz clic con el botón derecho en la capa y guarda la selección como un nuevo archivo shape. Añádelo al proyecto.

QGIS Save Selection As

  • A continuación, filtremos solo los polígonos que son edificios y que se recopilaron como parte de este proyecto.
  • Haz clic con el botón derecho en planet_osm_polygon y haz clic en “Filtrar…”.
  • Introduce la siguiente consulta:

  • “building” != NULL AND “source” = ‘Open Cities Dhaka Survey’ *

  • Haz clic en “Aceptar”. Filtrar los datos con esta consulta solo mostrará los polígonos que tengan algo en la columna de construcción. También elimina los edificios que no tienen la etiqueta de origen asociada con este proyecto.
  • Guarda estos datos como un nuevo shapefile. Utilizaremos este archivo para nuestras consultas SQL.

QGIS Map Image 2

Consultas SQL

Ahora podemos ejecutar consultas en la capa de edificios para encontrar posibles errores. Pensemos en algunas cosas que podríamos querer consultar. El modelo de datos de este proyecto indica los atributos que se deben recopilar para cada edificio: son:

  • name
  • building
  • building:levels
  • building:use
  • building:vertical_irregularity
  • building:soft_storey
  • building:material
  • building:structure
  • start_date
  • building:condition

Ten en cuenta que, en el archivo shapefile, estos nombres de atributos están truncados, ya que las columnas con nombre están limitadas a 10 caracteres.

Entonces, ¿qué tipo de preguntas queremos hacer? ¿Cuáles son los posibles errores? Un error habitual es que se ha mapeado un edificio, pero no se han recopilado todos los atributos. Por lo tanto, querremos llevar a cabo una consulta que muestre todos los edificios que no tienen un conjunto completo de atributos. Por supuesto, para algunos atributos, como el nombre y la fecha de inicio (año de construcción), es perfectamente correcto que estén vacíos, porque no todos los edificios tienen un nombre y, a veces, se desconoce el año de construcción. Pero los demás atributos siempre deben recopilarse.

Intentemos desarrollar una consulta para esto:

  • Haz clic con el botón derecho en la capa de edificios (la capa que creamos en la sección anterior) y haz clic en “Filtrar…”. Esto abrirá el generador de consultas. Aquí podremos redactar consultas complejas para obtener solo los datos que queremos.
  • Puedes crear tu propia consulta haciendo doble clic en los campos, operadores y valores o puedes copiar la consulta que hemos creado aquí:

“building_c” = NULL OR “building_s” = NULL OR “building_l” = NULL OR “building_m” = NULL OR “vertical_i” = NULL OR “soft_store” = NULL OR “building_u” = NULL

  • Haz clic en “Probar” y verás que esta consulta devuelve 125 elementos. Esto significa que, de los aproximadamente 3500 edificios que han sido mapeados, a 125 de ellos les falta uno o más de estos atributos.

QGIS Query Result

  • Haz clic en “Aceptar” para mostrar solo aquellos edificios que cumplan las condiciones de la consulta.

QGIS Map Image 3

  • Estos edificios se pueden examinar más de cerca para identificar qué atributos faltan y si es necesario volver a inspeccionarlos. Entonces es posible utilizar QGIS para crear un mapa que un equipo de encuesta podría tomar para corregir los atributos de construcción que faltan.

¿Cuáles son algunas otras consultas que podrían ser útiles? Bueno, es posible que también quieras verificar los atributos que no están contenidos en tu esquema de datos. Lo hicimos en la sección de búsqueda de JOSM. Puedes usar una consulta para encontrar todos los edificios cuyos atributos no se ajustan a tu modelo de datos.

También puedes utilizar esto para buscar anomalías, que probablemente sean errores, pero no necesariamente. Por ejemplo, si abrimos el generador de consultas, seleccionamos building_l y hacemos clic en “Todos” para cargar todos los valores de atributo posibles, vemos que la mayoría de los edificios tienen un número entre uno y 20 (este atributo es building:levels, el número de pisos del edificio). Pero también hay un 51 ahí. Parece poco probable que haya un edificio de 51 pisos que se eleve por encima de todo en esta área, por lo que podemos ubicarlo y hacer una nota para verificar esto con los mapeadores.

Las consultas pueden ser una forma efectiva de buscar posibles errores en el conjunto de datos. Combinadas con otras funciones de QGIS, se pueden utilizar para generar mapas que pueden usarse para revisar los datos de un área.

Resumen

En este tutorial, hemos revisado varios métodos efectivos para mantener la calidad de los datos durante un proyecto y hemos realizado algunos ejercicios prácticos para practicar la revisión de los datos de OSM. Al organizar un proyecto de mapeo o incluso al evaluar los datos de un área para uso personal, estos métodos pueden ser útiles.