Ciencia de datos en QGIS, potencial inexplorado

2023-01-12 15:47:06 By : Mr. Henghai TOMKING

Dos temas que son tendencia, el análisis de los datos y la tecnología geoespacial, estrechamente relacionados; después de todo, los mapas son una forma de representación y al mismo tiempo, un tipo de dato.

¿Este es otro artículo comparando la mejor opción tecnológica para el análisis de datos, R, Python, Julia, SPSS….? No, el lenguaje o software, es simplemente la herramienta o combinación de ellas, para la resolución de un problema. Cualquiera de las herramientas anteriormente mencionadas, con sus ventajas y desventajas, permiten la resolución de cualquier desafío en el procesamiento de datos. Sin embargo, si nos enfocamos en el punto de vista de un profesional de las ciencias geográficas que desea realizar sus tareas con eficiencia, probablemente preferiría:

La opción que cumple todas condiciones es indudablemente Python, dado que es el lenguaje de scripting preinstalado en la mayoría de software SIG libres o comerciales (ArcGis, QGis, GvSig).

No es lo deseable, cada campo conlleva un alto grado de especialización. Asumiendo al científico de datos como un estadístico con conocimientos en programación. Esto nos lleva a la muy conocida premisa, la resolución de problemas complejos requiere equipos multidisciplinarios.

Sin embargo, la separación entre ambas disciplinas es cada vez más tenue; esto es impulsado por un campo laboral, que demanda un manejo de datos espaciales y no espaciales. No se trata de que el profesional de las ciencias geográficas vaya a invadir el campo del otro, sino, que inevitablemente, en su desempeño profesional se topara con donde la georeferenciación no sea relevante o directamente no exista. También podría enfrentar problemas cuya solución requiere un análisis estadístico tradicional, o un simple gráfico.

Por lo cual, es recomendable que el profesional de las ciencias geográficas cuente con los conocimientos estadísticos para un manejo básico de los datos alfanuméricos, los cuales, en su mayoría son cubiertos por los pensúm de estudios de sus respectivas carreras. 

Es fundamental que sea capaz de diferenciar los tipos de datos y variables, identificar la variable dependiente, evaluar la confiabilidad de los datos prestando especial atención a como fueron recolectados y realizar análisis exploratorios. Conocimientos, que en el mejor de los casos le permitirán obtener una solución aceptable o definir las interrogantes que serán consultadas al especialista.

Las avanzadas técnicas de ciencia de datos, incluso, de aprendizaje de maquina no son ajenas al profesional de las ciencias geográficas, todo lo contrario, una gran variedad de ellas en conjunto con las técnicas geoestadisticas, son de uso común en el procesamiento de imágenes, análisis de criminalidad, geomarketing, agricultura de precisión, entre otros.

Por ejemplo, en el flujo de trabajo para el procesamiento de imágenes de satélite es común la aplicación de técnicas de reducción de la dimensionalidad, como el análisis de componentes principales (ACP) cuyo objetivo puede ser optimizar una clasificación de imágenes, el producto es de fácil comprensión y uso, los primeros componentes constituyen nuevas imágenes que encapsulan la mayor cantidad de información y proveen un mejor contraste.

Para la generación de mapas de usos de la tierra se han aplicado los más diversos métodos de clasificación supervisados y no supervisados. El desempeño de dichos modelos es evaluado mediante las métricas de error e índices como Kappa.

En el análisis de eventos, como los delitos, es de uso general la aplicación de test geoestadisticos para evaluar la autocorrelación (variograma, vecinos más cercanos), así como zonas de alta y baja concentración (indicadores LISA).

Sin embargo, en muchas ocasiones, debido al avance del software en Sistemas de Información Geográfica SIG y el incremento de la capacidad de procesamiento, al permitir que se realicen estos procesos con pocos clics en unos instantes, conlleva a que se apliquen complejos procedimientos espaciales y geoestadisticos, descuidando fundamentos y prescindiendo del análisis estadístico tradicional.

¿Datos espaciales y no espaciales, por qué separarlos?

El análisis de datos sin considerar su contexto espacial, es lo más común, a partir de ellos se desarrolló la estadística, con el supuesto de la aleatoriedad e independencia de las observaciones.

Por el contrario, en las ciencias geográficas la base fundamental es la no independencia, específicamente la existencia de una relación entre las observaciones que disminuye al incrementarse la distancia entre ellas (autocorrelación espacial).

La estadística espacial (geoestadistica) es una rama de la estadística que surge, para aprovechar y manejar la autocorrelación espacial, además de otros fenómenos propios de este campo.

Sin embargo, en la actualidad los SIG constituyen herramientas integrales que nos permiten el manejo de datos espaciales y no espaciales. Un momento, ¿datos no espaciales en un SIG? ¡Una herejía!!.

La vinculación entre la tecnología SIG y las ciencias de datos es cada vez más fuerte, el aporte de los SIG es fundamental, algoritmos especializados para el manejo de datos espaciales, visualización en dos, tres y cuatro dimensiones, vinculación a extensas bases de datos, personalización. Específicamente el SIG web aporta la ubicuidad, el despliegue en cualquier dispositivo, control de acceso, actualización en tiempo real, interfaz intuitiva, atractiva y a la medida de las necesidades.

Según Joel Lawhead (2015) el Sistema de Información Geográfica de código abierto, QGIS, ahora rivaliza incluso con el software comercial SIG más costoso tanto en funcionalidad como en usabilidad. QGIS es una muestra de la mejor tecnología geoespacial de código abierto disponible. No es sólo un proyecto, sino la unión de docenas de proyectos de código abierto en una única y limpia interfaz.

QGIS como software libre se concentra en el manejo de información espacial vectorial, la elaboración de mapas con acabado profesional, pero debido a su carácter modular, escalable amplía sus capacidades mediante complementos que son creados por una amplia comunidad de desarrolladores.

QGIS utiliza a Python como lenguaje de scripting, por lo tanto, si deseas programar para crear un script o incluso un complemento, lo realizas implementando Python. La combinación de Python con el API de QGIS se denomina PyQGis.

Los complementos son vitales para la evolución de QGIS, al impulsar su crecimiento ya que algunos de ellos son incorporados como parte integral del programa. Aunado a ello, amplían notablemente la capacidad del programa, sus funciones varían desde automatizar tareas comunes hasta constituir módulos altamente especializados, por citar un ejemplo, el complemento de Clasificación Semi automática desarrollado por Luca Congedo, con cientos de lineas de código y una completa interfaz de usuario.

Como es de esperar, QGIS cuenta con ciertas herramientas para el tratamiento y visualización de datos alfanuméricos. Destaca el panel de estadísticas, las expresiones, las opciones de la caja de herramientas de procesos.

Las expresiones son especialmente poderosas, son funciones Python accesibles a través de casi todo QGIS, desde la simbología, composición de mapas hasta la tabla de atributos, sin embargo, su manejo requiere estudio y practica. Específicamente para la creación de gráficos tiende utilizarse complementos como Data Ploty.

Para una mayor funcionalidad se prefiere utilizar hojas de calculo, programas como SPSS (por citar alguno) o lenguajes especializados como R.

Sin embargo, Python es uno de los lenguajes de mayor uso en la ciencia de datos, al contar con bibliotecas especializadas para ello, las mismas se encuentran preinstaladas y fácilmente accesibles en QGIS. Esto quiere decir, que puedes realizar análisis y visualización de datos alfanuméricos directamente en QGIS, en su consola, sin ninguna configuración o instalación adicional.

¿Que bibliotecas científicas de Python están instaladas en QGIS? Las bibliotecas de ciencia de datos de Python instaladas en QGIS son numpy, scipy y matplotlib.

Numpy (numerical Python) nos brinda una versátil estructura de datos como es el arreglo numpy (matriz multidimensional) y los métodos para manipularlas. Presenta un gran desempeño (el núcleo de Numpy es implementado en lenguaje C).

Numpy es importante porque es el paquete fundamental para la computación científica con Python. Permite almacenar y gestionar datos alfanumericos, con estructuras similares a tablas de datos además se puede integrar con una amplia variedad de bases datos.

Múltiples datos geoespaciales presentan estructuras de matrices multidimensionales, tales como: imágenes de satélite, de drones, modelos digitales de elevación.

Las otras bibliotecas científicas de mayor uso, son construidas sobre Numpy o son compatibles, tales como scipy, matplotlib, pandas y sklearn entre otras.

SciPy (Entorno de Computación Científica para Python) es una colección de bibliotecas para la computación científica de alto nivel, más o menos independientes entre sí.Construida sobre numpy proporciona un cálculo de alto nivel para cada temática como rutinas de estadística, álgebra lineal, optimización, interpolación, integración, clustering, procesamiento de señales e imágenes y algunas técnicas de análisis espacial.

Matplotlib es la biblioteca Python para visualización de datos más popular, la mayoría de los módulos Python con fines científicos la implementan. Permite la generación de gráficos en 2D y 3D, con calidad de publicación, multiplataforma y soporte para variados formatos de salida.

La visualización es una herramienta universal para investigar y comunicar los resultados de los estudios computacionales, y no es una exageración decir que el producto final de casi todos los cálculos - ya sea numérico o simbólico - es un gráfico de algún tipo (Robert Johansson 2019).

Aún hay más!! ademas de las bibliotecas de ciencias de datos contamos con todas las capacidades del API de QGIS y otros módulos preinstalados como: shapely, pyproj, Gdal/ogr, re, networkx, describirlas seria muy extenso y escapa del objetivo del presente articulo.

Si esto no nos parece suficiente o tenemos un requerimiento especifico, es posible instalar otras bibliotecas especializadas mediante el shell de osgeo, algunas que he instalado en pocos segundos con tres lineas de código son Scikit Learn (aprendizaje de maquina) y Pysal (geoestadística).

Lo que nos lleva de vuelta al titulo del articulo, llevar a cabo el análisis de datos espaciales y no espaciales es posible en QGIS y combinar todas las capacidades que nos ofrece como software y plataforma de desarrollo, tiene un enorme potencial que crece continuamente a medida que evoluciona QGIS y el resto de tecnologías Open Source que lo acompañan.

Luis Eduardo Perez Graterol es ingeniero de recursos naturales y autor de diversos cursos sobre QGIS y Python

Este obra está bajo una Licencia Creative Commons Atribución 3.0 Unported