Subsecciones

2 Modelización cartográfica en formato raster

El uso del álgebra de mapas supone la superación de la fase inicial de presentación y consulta de datos en un SIG e iniciar un uso más avanzado (análisis, modelización de procesos, toma de decisiones, etc.) que nos permita la resolución de problemas espaciales concretos. Para ello, es necesario no quedarse en una concepción del álgebra de mapas como un conjunto de operadores que se utilizan de forma separada, y entender el álgebra de mapas como un lenguaje con el que es posible expresar modelos más o menos complejos que permiten resolver problemas.

2.1 El álgebra de mapas como lenguaje

Los diferentes programas de SIG han adoptado diferentes estrategias para la implemetación del álgebra de mapas. Los primeros programas de SIG incorporaban módulos para los operadores más comunes (pendiente, orientación, aritmética). Con el tiempo se fueron desarrollando módulos de propósito general que permitían establecer operadores locales simples, operaciones matemáticas entre mapas o con un sólo mapa; mientras que los operadores de vecindad o área más comunes seguían realizándose en módulos aparte debido a su dificultad.

Las últimas versiones de los SIG más avanzados como GRASS disponen de un módulo que actúa como intérprete de un lenguaje de programación que permite realizar operaciones locales, de vecindad, de vecindad extendida o de área. Los operadores de vecindad extendida más complejos (cuencas de drenaje o cuencas visuales) siguen realizándose en módulos aparte ya que son difíciles de programar y siguen unos esquemas muy poco flexibles que siempre se van a ejecutar del mismo modo.

En el Departamento de Geografía de la Universidad e Utrech se ha desarrollado PCRaster (pcraster.geo.uu.nl). Se trata de un SIG relativamente barato que es exclusivamente un interprete de un lenguaje de álgebra de mapas muy potente que incluye operadores de vecindad extendida muy potentes y fáciles de programar. Se utiliza fundamentalmente en estudios de tipo hidrológico y geomorfológico.

En general pueden distinguirse dos posibles estrategias no exclusivas:

El conjunto de un módulo junto con las capas de entrada y salida y los parámetros requeridos constituye una orden dada al sistema. La resolución de un problema espacial mediante modelización cartográfica exigirá la ejecución ordenada de una serie de órdenes, en definitiva la implementación de un determinado algoritmo para resolver el problema. De este modo el álgebra de mapas se convierte en un lenguaje de programación

Por ejemplo, en el capítulo de álgebra de mapas del tutorial de GRASS aparece un conjunto de órdenes que permiten emular un operador de bloque (que no existe en GRASS), se trata en definitiva de un pequeño programa que constituye un operador de bloque.

2.2 El álgebra de mapas como sistema

Siguiendo un enfoque sistémico de lo que es un SIG, el álgebra de mapas es un conjunto de operadores, y cada operador constituye un componente del sistema de información que transforma una serie de entradas de información en una serie de salidas. Las entradas y salidas no son sólo capas espaciales sino que también pueden ser tablas o visualizaciones en pantalla o impresora (figura 43).

Figura 43: Ejemplos del concepto de operador
Image algebrab1

Este tipo de gráficos se denominan diagramas de flujo y son de uso común tanto en dinámica de sistemas como en programación de ordenadores. Se han propuesto diversos métodos de elaboración de estos diagramas, una buena opción es representar los mapas mediante rectángulos y los módulos mediante óvalos. Las relaciones entre unos elementos y otros se representa mendiante flechas.

Pusto que los operadores de álgebra de mapas toman una o varias capas de entrada y producen una capa de salida, el análisis SIG puede concebirse como una especie de mecano lógico mediante el cual diferentes piezas (operadores) se ensamblan formando análisis complejos que, en definitiva, consituyen nuevos macrooperadores. Podemos pensar también en el conjunto de operadores como en componentes electrónicos o piezas de un mecano que pueden enlazarse para configurar el sistema de acuerdo a nuestras necesidades, es decir con el objeto de resolver un problema.

En la parte inferior de la figura 45 puede verse como estos módulos se combinan para solucionar un problema de álgebra de mapas planteado, se parte de 3 mapas y el resultado es un mapa y una tabla. La resolución de problemas no va a involucrar sólo a operadores-módulos de SIG, sino también a otros programas presentes en el sisema operativo e incluso herramientas desarrolladas por el usuario. En algunos casos estas herramientas se desarrollan a partir de la combinación de algunos operadores que da lugar a un nuevo macro-operador (figura 44).

Figura 44: Desarrollo de nuevos operadores con algebra de mapas
Image algebra




2.3 Conceptualización y formulación de un problema espacial mediante modelización cartográfica

La aplicación de estas ideas a la resolución de problemas en un entorno SIG requiere, en primer lugar, la descomposición del problema planteado en una serie de subproblemas y estos a su vez en otros, hasta que queden convertidos en una serie de operadores, interconectados en un diagrama de flujo, que se transfieren y transforman información espacial.

El primer paso para desarrollar un modelo que permita resolver un problema espacial es determinar como debe actuar el modelo, para ello hay que empezar teniendo claro cual es el resultado final que se quiere obtener (generalmente uno o varios mapas y algunos informes) y aplicar el siguiente procedimiento recursivo:

  1. Determinar que operador/es produciría el mapa o los mapas resultado
  2. Determinar los mapas de entrada a dichos operadores
  3. Disponemos de esos mapas?

En la figura 45 puede verse un ejemplo de aplicación de esta metodología, el problema estaba planteado así:

Se requiere la selección de áreas con una elevación inferior a 200 m y pendiente inferior a 5%. Estas áreas deben a su vez estar a menos de 100 m de un curso fluvial y no estar en cultivo. Para resolverlo se dispone de una capa vectorial con la red de drenaje (rios_vect), una capa raster de usos del suelo (usos) y una capa raster de elevaciones (elevaciones).

Para resolverlo30 el primer paso sería determinar con que operación podemos conseguir el mapa resultado y cuales son los mapas de entrada a dicha operación. En este caso necesitamos un mapa de elevaciones (que ya tenemos), un mapa de pendientes (que podemos obtener a partir del de elevaciones) y un mapa de distancia a la red de drenaje. El módulo que evaluará en que celdillas se cumplen las condiciones impuestas es r.mapcalc; y el módulo que obtiene las pendientes a partir de las elevaciones será r.slope.aspect.

Para obtener un mapa de distancias a la red de drenaje tendremos que rasterizar esta (módulo v.to.rast) y utilizar el módulo r.buffer para establecer las distancias.

Figura 45: Esquema de resolución de problemas con algebra de mapas.1
Image algebra_grass

El desarrollo de un proyecto SIG consistiría de esta manera en la división sucesiva de un problema en subtareas cada vez más simples hasta el momento en que cada una de estas subtareas pudiera expresarse como un operador de álgebra de mapas (figura 43 parte baja); este es el concepto fundamental del trabajo con un SIG.

Una vez conceptualizado el modelo es necesario formularlo, es decir convertir el esquema en un conjunto de órdenes cuya ejecución sucesiva resolverá el problema, es decir en un programa. Por tanto el álgebra de mapas se convierte en un lenguaje de programación y el trabajo con un SIG en el desarrollo de algoritmos. Existen programas de SIG que permiten convertir estos esquemas directamente en programas.

Una vez que se ha explicitado un determinado trabajo en SIG como una serie de ordenes escritas en el lenguaje formal del álgebra de mapas lo que tenemos es un programa con todas las de la ley. Por tanto podemos escribirlo en un fichero y utilizarlo con otra base de datos diferente. Evidentemente para hacer esto necesitamos un SIG basado en comandos, es decir basado en un lenguaje.

Sin embargo un conjunto de órdenes no constituye un programa, es necesario en muchos casos disponer de otros elementos como estructuras condicionales o iterativas que evalúen condicones. Por tanto es necesario incluir las ordenes del SIG en un lenguaje formal de suficiente potencia. Generalmente se utilizan los denominados lenguajes de scripts.

Finalmente cabe destacar cuatro ideas básicas sobre el álgebra de mapas:


alonso 2006-02-13