martes, 20 de febrero de 2018

Modelos en QGIS

Al igual que con ArcGIS se pueden generar modelos en ArcToolbox para automatizar tareas recurrentes a partir del catálogo de herramientas disponibles dentro de la aplicación, que nos permite además integrar scripts externos, por ejemplo de Python, QGIS cuenta con una entorno similar, para encadenar tareas y crear modelos que podrán ser utilizados posteriormente, con el consiguiente ahorro de tiempo que ello implica.



Para ello desarrollaremos una herramienta que nos permita unir varias tareas tanto de geoprocesamiento con capas vectoriales, cómo la utilización de tablas o BBDD.

Por último predefiniremos las opciones para ejecutar de manera automática el proceso (algoritmo preconfigurado) , sin necesidad de abrir el cuadro de diálogo.

La interfaz es muy sencilla y está dividida en dos espacios principales, a la derecha la zona donde crearemos el modelo a partir de los Algoritmos, y elementos de entrada del modelo, que serán seleccionados de la ventana situada a la izquierda.




Así pues lo primero es añadir los elementos de entras (Inputs) que pueden ser de diverso tipo, cómo por ejemplo capas vectorial, raster, tablas... 

Una vez definido las capas y elementos que van a interactuar en el modelo, es hora de definir los procesos y herramientas que van a actuar sobre estas, y los elementos de salida.

En el ejemplo utilizaremos como capa objetivo una capa de elementos puntuales, a la cual asignaremos un sistema de referencia adecuado, a partir del cual extraeremos las coordenadas. Posteriormente realizaremos una unión espacial con otra capa poligonal, para asignar el nombre del polígono que contiene o esta en contacto con cada elemento puntual. Además contaremos con un fichero .xls cuya información ha de ser añadida a la capa de entrada. 

Por último, a la capa de salida le asignaremos un estilo, previamente definido.




En caso de usar recurrentemente las mismas capas con los mismos nombres, podremos preconfigurar la herramienta, de tal manera que con un solo clic lanzaremos el modelo, sin necesidad de definir una y otra vez las capas y elementos de salida.





lunes, 12 de febrero de 2018

Unión Espacial & Unión por atributos

Una de las funcionalidades más utilizadas en análisis de datos geoespaciales es la unión de elementos, bien por su localización, bien por algún atributo asociado al mismo, que tiene en común con otros entidades físicas.

Cualquier GIS que se precie tiene en su catálogo éstas herramientas, con más o menos opciones, que nos permitirá definir las particularidades del geoprocesamiento a realizar.

En esta entrada emplearemos QGIS para ilustrar los ejemplos, que como muchos ya sabréis es un potente software GIS libre.

Unión Espacial (Spatial Join)

En ocasiones necesitamos conocer las relaciones espaciales entre elementos que comparten una misma ubicación, bien porque necesitamos conocer la proximidad de los elementos de distintas capas de información, o bien porque necesitamos combinar los atributos entre elementos próximos.

Una de las situaciones más comunes es intentar conocer el numero de elementos puntuales que se encuentran incluidos dentro de un elemento poligonal. Por ejemplo en ocasiones necesitamos conocer el número de viviendas situadas en un polígono que representa por ejemplo una división administrativa. De esta manera podremos tener un resumen estadístico de la relación entre una capa A con otra B.


Así pues el polígono 890393 contiene cinco viviendas en su interior. Si realizamos la operación con la herramienta ¨Unir atributos por localización¨


y seleccionamos en las opciones de la herramienta ¨Tomar resumen de objetos espaciales que intersectan¨ se añadirán a los campos iniciales de la capa objetivo (en una nueva capa) una serie de campos con un resumen estadístico de la distribución de los elementos puntuales sobre cada elemento poligonal. La ultima columna es la de recuento del numero de elementos contenidos en el polígono. 


Si por el contrario lo que queremos es asignar algún atributo de un elemento a otro de otra capa, en base a su relación espacial, tendríamos que seleccionar la opción "Tomar atributos del primer objeto espacial localizado". 

Por ejemplo si queremos asignar a las viviendas el número de polígono al que pertenecen, además de definir la opción antes mencionada, cambiaríamos el orden de las capas, ya que en este caso la capa objetivo, será la capa puntual. 





Unión por atributos 

Otro caso muy común con el que nos solemos encontrar es que la información proporcionada sea, no solo en formato vectorial, sino también en formato de tabla (Exel, txt, csv...), y de alguna manera esa información ha de ser plasmada y relacionada con las entidades físicas representadas en el mapa. 

Por ejemplo, puede ser que tengamos cierta información de las viviendas en formato vectorial, y otra parte de los datos en un archivo Excel. Evidentemente para poder relacionar ambas informaciones, hemos de tener un campo con registros únicos presente en ambas tablas.

Así pues imaginemos que hemos descargado los datos del censo de una ciudad resumidos por habitantes por vivienda, y queremos representar estos valores de manera espacial, para crear un mapa de calor de densidad de población, por ejemplo para estudiar el futuro emplazamiento de un determinado comercio. Cómo ya tenemos la capa de viviendas podremos crear una relación con el Excel en base el identificador único de cada vivienda.








miércoles, 22 de febrero de 2017

Edición de datos geográficos en OpenStreetMap

Probablemente muchos de vosotros ya conoceréis o habréis oído hablar de OpenStreetMap (OSM). Este proyecto arrancó en 2004 en Reino Unido de manos de Steve Coast y su motivación principal fue, y es la creación, edición y distribución de mapas libres.

Originalmente algunas agencias británicas cedieron parte de sus datos e infraestructuras para dar comienzo al proyecto, y a lo largo de los años numerosas organizaciones, gobiernos y entidades públicas y privadas de todo el mundo se han ido uniendo a la causa cediendo datos cartográficos de muy diversa índole.

El proyecto surgió como respuesta al déficit de información geográfica de acceso libre y gratuito, lo cual impedía o hacía muy costoso la creación de productos geoespaciales derivados, o su uso para cualquier otro fin, y que imposibilitaba la corrección de los datos existentes incorrectos o erróneos.

A parte de las aportaciones de organismos y entidades, cualquier persona puede contribuir al crecimiento y mantenimiento de la base de datos geográfica, añadiendo nuevas entidades o modificando las existentes, lo que marca una gran diferencia con los distribuidores de cartografía comerciales, que en la mayoría de los casos permiten su visualización, pero no hacer ningún tipo de edición sobre ellos.

Para formar parte de la comunidad de editores no es necesario ser un profesional de la cartografía, ni tan siquiera necesitaremos aportar nuestra información personal, simplemente es necesario darse de alta en la página de OSM aportando una dirección de correo electrónico.

Existen multitud de proyectos e iniciativas emprendidas en la comunidad OSM tanto a nivel individual como colectivo, que pretenden ampliar la base de datos geográfica con el fin de hacer más accesible la información geoespacial.

Los motivos que nos pueden llevar a editar y/o añadir información en OSM pueden ser muy diversos y van desde acciones humanitarias, como por ejemplo el proyecto "The Humanitarian OpenStreetMap" , hasta el simple inventariado urbano, suscitado, en la mayoría de los casos, por una actitud altruista de divulgación de información, en este caso geográfica.

Una vez logeados, ya estaremos en disposición de realizar nuestras aportaciones a la comunidad. Ahora solo necesitaremos elegir el modo de hacerlo. Existen, a grandes rasgos, dos opciones a la hora de editar información en OSM, la primera sería la toma de datos en campo, directamente con dispositivos GPS cargando un archivo GPX, y la segunda es la edición directamente desde un PC usando uno de los programas que ofrece la página de OpenStreetMap, o bien por medio de programas de terceros como ArcGIS o QGIS, por ejemplo.

En esta entrada nos centraremos en la edición con las propias herramientas desarrolladas para el proyecto, bien integradas en la propia página (iD y Potlach 2), o bien desarrolladas para instalar y ejecutar desde un ordenador (JOSM o Merkaartor).




Editor iD (web)


Editor Potlatch 2 (web)


Editor JOSM (escritorio)


Editor Merkaartor (escritorio)


Los dos primeros editores modifican la información en "tiempo real" sobre la BBDD de OSM. Las versiones de escritorio funcionan haciendo una copia de la información en el equipo, para una posterior subida de las modificaciones realizadas.

OSM tiene predefinidas por defecto una serie de entidades, con sus atributos asociados, aunque en este aspecto permite cierta flexibilidad a la hora de crear elementos fuera de las categorías predefinidas, con la incorporación de nuevos campos en la tabla de atributos.


Ejemplo de creación de un elemento puntual 


En definitiva la colaboración en OSM no deja de ser una decisión altruista para contribuir a una mayor difusión de la información geográfica, para poder ser utilizada, editada y distribuida de manera totalmente libre.

jueves, 16 de febrero de 2017

Generación de informes en ArcGIS

Como para cualquier otro profesional que se dedique al análisis de datos, una de las tareas más importantes y a la vez una de las más complicadas con la que nos encontramos los profesionales de los SIG, es difundir la información extraída de los mismos, de tal manera que resulte fácil de entender para los potenciales consumidores de los mismos, que probablemente no sean expertos en Sistemas de Información Geográfica, o bien no tienen tiempo para analizar complejos mapas e intrincadas gráficas y tablas de datos. Es por ello que en muchas ocasiones tenemos que encontrar el equilibrio entre lo que se quiere representar a partir de los datos disponibles, y lo que el cliente está dispuesto o capacitado a consumir.

En general la pérdida de información representada en un mapa es algo intrínseco a su definición y más aún cuando éste, está asociado a una base de datos geoespacial.

De cualquier manera, los que nos dedicamos a los GIS estamos de enhorabuena, ya que cada vez más, el uso de la componente geográfica está más extendido y valorado. No en vano una gran variedad de aplicaciones para dispositivos móviles, integran de una u otra manera la componente geoespacial, bien directamente, por ejemplo en cualquier aplicación que nos ayude a encontrar el restaurante más cercano, o bien los utilizan para conocer nuestros hábitos, para poder ofrecernos servicios más personalizados, adaptada a estos.

Por ello, el uso y comprensión de los mapas se está extendiendo de una manera vertiginosa, lo cual nos permite a los que nos dedicamos a generarlos, incrementar el grado de complejidad de los mismos. Aun así, en muchas ocasiones la información asociada a un dato geoespacial es tan basta, que se hace imposible la representación íntegra en los mimos.

Mucha de esta información que no puede ser representada en forma de mapa, corresponde a los datos tabulares almacenada en una base de datos. La forma más frecuente de tratar esta información es usando cualquier programa de hojas de cálculo, como puede ser Excel.

Es muy sencillo, si estamos utilizando ArcGIS, abrir (o en el peor de los casos, exportar) la información en formato GIS (geodatabase,  shapefile...) a un formato compatible con Excel, para realizar análisis complementarios, y representar los datos de una manera más visual (gráficos, dashboards...) El principal problema que nos encontramos al trabajar con programas externos es, como ya vimos en entradas anteriores, la "desconexión" con los datos originales, que dependiendo de la naturaleza y el uso que pretendamos darles, pueden hacer de este método una opción inviable o poco práctica.

Es por ello que la opción más óptima sería la utilización de ArcGIS para el análisis y representación integra de la información disponible, y aunque es cierto que en las versiones más recientes del Software de ESRI están haciendo especial hincapié en estos aspectos, las versiones anteriores adolecían de ciertas carencias a este respecto.

Aun así existe una funcionalidad en ArcGIS, no demasiado popular, que puede ser utilizada para la representación de datos tabulares, de una manera directa desde la fuente de datos.



La función "Report" o "Informes" nos permite, a partir de la información alfanumérica generar informes con un alto grado de personalización tanto en la información que queremos mostrar como en la apariencia del mismo, con la ventaja de poder ser creados para un conjunto de datos diferentes o que cambian en el tiempo, manteniendo el mismo formato.





Como comentábamos el informe generado puede ser modificado y personalizado fácilmente, para lograr el aspecto que deseemos.




Si necesitas más información acerca de los informes en ArcGIS, podrás encontrarla en la pagina de ayuda de ArcGIS


jueves, 19 de enero de 2017

Utilidad de la información geoespacial

Una de las funcionalidades que destacan en un GIS sobre otros Programas de visualización de datos espaciales, es su capacidad para realizar análisis complejos de los datos tanto geográficos (capas de diversa índole) como alfanuméricos (BBDD). Estos van desde simples relaciones espaciales y de vecindad, hasta complejos análisis de redes y topológicos.

A lo largo de la evolución de los SIG estas funcionalidades se han ido ampliando hasta alcanzar los niveles de complejidad que hoy en día tiene, por ejemplo, ArcGIS y todas sus extensiones (incluida la más evolucionada y reciente ArcGIS Pro).

Esta evolución no ha pasado desapercibida para las industrias y negocios de todo tipo, pero especialmente para aquellos en los que la componente geoespacial es crítico, como por ejemplo las “Utilities”, Transportes, defensa y gestión del territorio, los cuales necesitan en todo momento conocer tanto la localización de sus activos, como otra serie de atributos y características, ya sean estas estáticas (material, año de instalación...) como dinámicas (lecturas de sensores, grado de deterioro...)

A parte de estar presente en las industrias anteriormente mencionadas, los Sistemas de Información Geográfica en general, y la componente geoespacial de los activos físicos en particular, están presentes cada vez más como parte indisoluble de las nuevas tecnologías que se nutren y benefician de la importancia del "donde".

Por ejemplo, en el Internet de las Cosas o IoT, concepto utilizado para referirse a la conexión e interacción de los diferentes objetos cotidianos, generalmente vía internet, podemos encontrar multitud de ejemplos y situaciones en los que la componente espacial de los objetos interconectados será determinante. Un ejemplo sencillo sería la comunicación entre un smartphone y el sistema de climatización de una vivienda. Utilizando el sistema de localización del teléfono, la casa será "consciente" de que nos aproximamos, y podrá adaptar su temperatura y humedad sin necesidad de intervención humana, a los parámetros apropiados, previamente definidos o no.

Así mismo, y siguiendo con el ejemplo anterior, si nuestra vivienda se encuentra englobada en una Ciudad Inteligente o Smart City, está podrá comunicarse con los sensores situados en las proximidades de la misma para conocer los detalles de los diferentes parámetros recolectados (temperatura, humedad, contaminantes), para regular y optimizar los niveles de confort de la vivienda.

En ocasiones, que estemos próximos a la vivienda, no significa que necesitemos activar los sistemas de climatización, o por el contrario podemos estar a más de 10 km y tardar menos de 5 minutos en llegar a casa. Para solventar este tipo de situaciones los dispositivos pueden utilizar la información almacenada a lo largo de la actividad diaria, para analizar patrones de comportamiento que se repiten a lo largo del tiempo. Por ejemplo es probable que todos los miércoles hagamos la compra, y no vayamos a casa directamente. Es más, aunque no tengamos un día definido para ir al supermercado, la ruta al mismo, es la misma, y si al salir del trabajo, giramos a la derecha en un cruce determinado, el móvil podrá comunicarse con la vivienda y decirle que aún no vamos a casa.

De la misma manera otros datos pueden ser utilizados para determinar lo que tardaremos en llegar a casa, como la información del tráfico, o incluso la disponibilidad de aparcamiento en la proximidad de la vivienda.

Otra de las tecnologías que en los últimos años están marcando la tendencia en el análisis de la información, es el análisis de los datos masivos o Big Data. Desde el punto de vista de la información geoespacial, el análisis de una gran cantidad de información con este enfoque nos permitirá extraer información subyacente de los mismos, que de otra manera pasaría desapercibida. De esta manera analizando miles de datos procedentes de los GPS de los Smartphones por ejemplo, podríamos encontrar que las rutas seguidas por los conductores de una determinada ciudad, esconden ciertos patrones ocultos para un análisis clásico, y que pueden ser utilizados solos o combinados con otros datos, para, por ejemplo, definir el emplazamiento óptimo de un determinado comercio.

En definitiva los datos geoespaciales son, cada vez más, una fuente de información muy valiosa, que utilizada apropiadamente puede generar un valor añadido a nuestro negocio, sea cual sea éste, y que en conjunción con los nuevos enfoques y tecnologías van a contribuir de manera determinante a su generalización y uso extensivo en todos los ámbitos, no solo empresariales, sino también cotidianos, no en vano un gran número de aplicaciones para nuestro Smartphone utilizan la geolocalización del dispositivo, generalmente para mejorar la experiencia en el uso de la aplicación (en otros casos es para vender esa información a terceros).



viernes, 2 de diciembre de 2016

Análisis topológico con FME Desktop


Existen muchas alternativas para realizar un análisis topológico de nuestro conjunto de datos, sin duda el más completo, desde mi punto de vista es ArcGIS, ya que permite realizarlo desde un primer momento, hasta las últimas fases del mismo realizando una limpieza total de los datos de partida. Pero que sea el más completo no significa que sea el más eficiente, ni que todas las fases del análisis respondan al 100% a nuestras necesidades y expectativas. 

Actualmente encontramos en el mercado una gran variedad de herramientas y programas que pueden completar las “debilidades” del programa de la firma ESRI, e incluso mejorar muchas de las utilidades implementadas en el mismo, haciéndolo más eficiente. Para mi, sin duda, uno de los mejores es FME Desktop, que como ya comenté en una entrada anterior es una herramienta ETL mayormente centrada en la manipulación de información geoespacial. 

Evidentemente este programa no hace milagros, y sí como en el caso que veíamos en la entrada “Revisión de topologías en ArcGIS” (en la cual pretendíamos crear polígonos a partir de líneas), los datos iniciales presentan errores topológicos, como por ejemplo colgantes, el resultado no será todo lo completo que nos gustaría, quedándonos líneas sin su polígono correspondiente.

FME ofrece multitud de herramientas para realizar un análisis topológico previo, para detectar y depurar errores, pero sin duda lo más interesante es que podemos resolver los errores directamente, sin crear una topología previa, ya que el programa la genera en tiempo de ejecución.

Así pues en el ejemplo anterior, y para minimizar los errores, podemos añadir una serie de transformadores que hacen una depuración previa de los datos de partida. El modelo podría quedar de la siguiente manera:

Cada una de las partes del modelo presenta una serie de características y variables que podemos modificar según consideremos. Vamos a analizar uno a uno todos los elementos del modelo, pero hay que tener en cuenta que el programa contiene al rededor de 500 transformadores, y cada uno de ellos con sus propias variables. Evidentemente esto es solo una pequeña muestra del potencial de este programa, que intentaré desarrollar en futuras entradas.

  • Snapper: esta herramienta se utiliza para alargar líneas (o añadir vértices), hasta la línea más próxima. También nos permite utilizar un atributo en concreto para realizar esta acción. Por ejemplo si tenemos en un mismo shapefile distintos elementos lineales tales como alambradas, muros, tapias… puede ser que necesitemos realizar este proceso solo sobre un tipo de entidades. Para ello realizaremos esta acción especificando el campo concreto en el cual queremos realizar el proceso. Obligatoriamente tendremos que asignar una tolerancia al proceso (cuanto mayor sea esta más impredecible será el resultado). Otra serie de variables son el tipo de snapping, añadir vértice adicional, que modificaremos en función de nuestras necesidades.


  • Intersector: esta herramienta se utiliza para romper elementos que se cruzan ya sean poligonales o lineales. Por ejemplo si tenemos un archivo de líneas que van a conformar una red del tipo que sea, esta herramienta es útil porque nos generara vértices en las intersecciones de la red. En el caso de tener un shape poligonal, por ejemplo de cultivos de una zona, nos será útil para eliminar solapes entre parcelas, para no falsear la superficie total de trabajo. Las distintas opciones que nos brinda esta herramienta son por ejemplo tener en consideración la z del elemento, ya que en muchos casos los cruces entre líneas a distinta cota no necesitan un vértice adicional. También nos da la opción de partir líneas que se cruzan con sí mismas, y otra serie de opciones que vendrán definidas por las necesidades del tipo de trabajo a realizar.

  • Area builder: esta herramienta se utiliza para crear polígonos a partir de líneas. Si los procesos anteriores se han realizado de forma correcta, y han solucionado los errores topológicos, los polígonos serán generados correctamente.



jueves, 10 de noviembre de 2016

Aplicaciones de los MDT


En esta ocasión retomaré un tema tratado en entradas anteriores, los Modelos Digitales del Terreno (MDT), Si en los post anteriores nos centrábamos en el proceso de creación del modelo a partir de diferentes fuentes de datos, y utilizando diferentes técnicas y herramientas disponibles dentro de ArcGIS, ahora es momento de centrarnos en el resultado, y las posibles aplicaciones del mismo.

Lo primero que hay que considerar para poder aplicar un MDT, entre otros muchos factores, es la resolución del mismo, para saber si puede ser empleado en nuestro proyecto en particular. Así pues si se precisa un modelo en detalle de un área determinada, los datos de partida han de tener una resolución apropiada. Por ejemplo si necesitamos estudiar la localización de una laguna artificial de 1x1 km de superficie, un modelo de una resolución de 1 km2 lógicamente no nos será de utilidad, necesitaríamos un mayor grado de precisión.

Se podría pensar en este punto, qué a mayor resolución mejor calidad y precisión de nuestro modelo, y aunque esto es verdad, hay que considerar otros factores, ya que un modelo muy detallado ocupa mayor espacio de almacenamiento en disco, y mayor tiempo de procesamiento.

A continuación se muestran varios ejemplos de las posibles utilidades de los MDT. Por supuesto esto es una pequeña muestra de las muchas en las que pueden ser empleados. Algunas de estas son creadas de una manera inmediata en ArcGIS, por ejemplo los mapas de radiación solar, otros por el contrario necesitan la combinación de diferentes técnicas y herramientas para su correcta elaboración (creación de cuencas de drenaje, por ejemplo)

  • Mapas de Pendientes: Se usan para multitud de análisis, y suele ser el punto de partida para la elaboración de otros mapas como alguno de los detallados a continuación. Cada color representa una pendiente del terreno, lo cual nos permite separar de una manera rápida y visual las zonas con mayor pendiente, de las de  poca pendiente. Este suele ser un paso preliminar en estudios derivados como por ejemplo la vulnerabilidad o erodabilidad del suelo.
  • Mapas de erosión y erodabilidad, que están definidos además de por la pendiente del terreno, por otros factores intrínsecos, como por ejemplo la litología y otros extrínsecos como la presencia de agua u otros agentes erosivos.
  • Mapas de Vulnerabilidad: los mapas de vulnerabilidad pueden ser de muy diverso tipo y estar basados en diversos factores, entre ellos la elevación y la pendiente del terreno. El resultado de estos mapas suele enfatizar las zonas con mayor grado de vulnerabilidad (susceptibilidad de un sistema al impacto de un peligro)
  • Mapas de radiación. En ocasiones necesitaremos saber la exposición a la luz solar de una determinada zona, por ejemplo para determinar la cantidad de energía que puede ser producida por una planta solar, o para conocer la viabilidad de un cultivo de un tipo determinado. En este caso ArcGIS dispone de varias herramientas que nos permiten definir, clasificar y representar estas zonas

  • Mapas de visibilidad: otra interesante funcionalidad en ArcGIS es la de definir líneas o zonas de visibilidad a partir de una localización determinada, el cual nos dará como resultado el área accesible visualmente desde un punto determinado. Esta puede ser utilizada para ubicar el emplazamiento de torres de vigilancia forestal, por ejemplo.
  • Calculo de cuencas hídricas: los MDT son una herramienta fundamental para definir redes de drenaje, y delimitar la cuenca hidrográfica. También se pueden definir la acumulación de flujo y el aporte total en el punto de salida de la cuenca, así como otros parámetros relacionados con el ciclo hidrológico de la misma.


  • Mapas de riesgos de inundación: para crear un mapa de riesgos de inundaciones se necesitan multitud de datos de diversa índole, muchos de ellos aportados por los modelos de elevaciones y sus mapas derivados.
  • Calculo de volúmenes de tierras: por ejemplo nos permitirá saber el volumen de material a movilizar en desmontes y rellenos en el estudio del trazado de una carretera. Con ello podemos anticipar el coste de este concepto antes de ejecutar la obra.
NOTA: algunas de las imágenes mostradas en esta entrada han sido tomadas de la web de ayuda de ArcGIS.