Geoprocesamiento Vectorial y Bases de Datos en Sistemas de Información Geográfica (SIG)
El geoprocesamiento vectorial comprende un conjunto de herramientas para analizar y generar nuevas capas de información en formato vectorial. Estas capas están constituidas por objetos (puntos, líneas o polígonos) definidos por su posición en el espacio (información geométrica) y una tabla asociada que contiene variables descriptivas (información temática). Esta información temática se gestiona mediante un Sistema de Gestión de Bases de Datos (SGBD).
Sistemas de Gestión de Bases de Datos (SGBD)
Un SGBD es un conjunto de programas diseñados para acceder y administrar una base de datos. Están optimizados para manejar grandes volúmenes de datos, típicamente utilizados por organizaciones. Inicialmente, se emplearon para almacenar la información temática asociada a entidades en formato vectorial, en lo que se conoce como modelo geo-relacional. Actualmente, almacenan toda la información de manera conjunta, en lo que se denomina Geodatabases.
Características de un SGBD
Un SGBD permite manipular y consultar datos almacenados en uno o más ficheros. Se diferencia de una hoja de cálculo en varios aspectos:
- El método de almacenamiento y el programa que gestiona los datos (servidor) son independientes del programa que realiza las consultas (cliente).
- Su objetivo principal es resolver consultas complejas expresadas mediante un lenguaje formal (SQL).
- El almacenamiento de datos se realiza de forma eficiente, pero permanece oculto para el usuario.
- Permite el acceso concurrente de múltiples usuarios, garantizando la seguridad e integridad de los datos.
- Incluye herramientas propias de copia de seguridad y recuperación de datos.
Bases de Datos Relacionales
Una base de datos relacional es un conjunto de tablas compuestas por filas (registros, que representan los elementos descritos) y columnas (campos, que representan los atributos de los registros). Se distinguen de las hojas de cálculo en los siguientes puntos:
- Cada tabla almacena entidades de una sola clase.
- El número de columnas es el mismo para todos los registros de la tabla. Si no existe un dato, se utiliza un valor nulo (por ejemplo, -9999).
- Cada columna tiene un tipo de dato específico (número entero, número real, cadena de caracteres de longitud variable, fechas).
- Los tipos simples (tipos atómicos) mejoran la eficiencia en el manejo de la base de datos, aunque reducen la flexibilidad para manejar elementos complejos del mundo real.
- Una clave primaria es un campo o conjunto de campos que identifican de forma única cada fila de una tabla.
- Una clave foránea es una columna o conjunto de columnas en una tabla cuyos valores coinciden con la clave primaria de otra tabla.
- Las claves primaria y foránea establecen relaciones entre tablas.
- Se pueden introducir índices sobre columnas para acelerar la búsqueda de registros.
SIG y Bases de Datos Relacionales: El Modelo Geo-relacional
El modelo geo-relacional conecta la información temática almacenada en un SGBD con la información geométrica y topológica almacenada en un SIG. Este modelo permite:
- Mostrar solo los objetos de una capa que cumplan una condición específica.
- Visualizar diversos objetos de una capa utilizando una paleta de colores relacionada con los valores de una variable concreta.
- Seleccionar un objeto en la pantalla y resaltar su registro correspondiente en la tabla.
- Seleccionar un registro de la tabla y resaltar el objeto correspondiente en la visualización de la capa.
Herramientas de Geoprocesamiento
- Selección temática: Permite seleccionar objetos de una capa vectorial y crear una nueva capa con ellos.
- Selección espacial: Selecciona objetos de un mapa vectorial a partir de los presentes en otro.
- Reclasificación: Crea una nueva capa vectorial basada en la reclasificación de otra.
Funciones que Crean Nuevas Capas
Estas funciones generan, a partir de capas de entrada, una capa con entidades diferentes.
Funciones que Usan una Única Capa de Entrada
- Buffer (área de influencia): Permite establecer áreas de un tamaño determinado alrededor de objetos.
- Conjunto convexo: Crea un polígono que contiene todos los puntos a partir de los cuales se forma un objeto.
- Triangulación de Delaunay: Genera una red irregular de triángulos a partir de una capa de puntos.
- Polígonos de Thiessen: Se utilizan como un método rudimentario de interpolación.
Funciones Aplicadas a Dos Capas de Entrada
Generan una capa de salida a partir de dos capas de entrada en combinación (una de ellas suele ser de polígonos) mediante operaciones de superposición (overlay). Las cuatro operaciones principales son:
- Unión: Los objetos resultantes provienen de la integración de ambas capas.
- Intersección: Los objetos resultantes son aquellos que se encuentran en ambas capas de entrada.
- Diferencia: Los objetos resultantes son aquellos presentes en la primera capa pero no en la segunda.
- Diferencia simétrica: Los objetos resultantes son aquellos presentes en solo una de las capas de entrada.
Geodatabases
Una geodatabase es una base de datos objeto-relacional. Mantiene el esquema de tablas con relaciones, pero permite tanto atributos atómicos como Tipos Abstractos de Datos (ADT), que admiten objetos geométricos. El SGBD debe modificarse para incorporar estas nuevas capacidades:
- Definir nuevos tipos de datos que almacenen geometría.
- Adaptar funciones y operadores existentes para manejar datos espaciales.
- Extender el lenguaje SQL para manipular información geométrica.
- Realizar cambios profundos en el modelo digital.
Ventajas de la Geodatabase
- Almacenamiento conjunto de geometría, topología y atributos.
- Uso de índices espaciales más potentes para acelerar las búsquedas en tablas grandes.
- Posibilidad de utilizar una versión ampliada de SQL para consultas espaciales, incluyendo propiedades geométricas y topológicas de los objetos.
- Mayor integración de funciones en una sola herramienta.
Las nuevas funciones de SQL para crear nuevas capas son las mismas que se vieron en el modelo geo-relacional.
Funciones Topológicas
Estas funciones devuelven valores booleanos (verdadero o falso), permitiendo identificar qué objetos cumplen una condición:
- Disjunto: Devuelve verdadero si no hay intersección entre las geometrías.
- Dentro de: Devuelve verdadero si la geometría A está completamente dentro de la geometría B.
- Contiene: Devuelve verdadero si ningún punto de B está en el exterior de A y al menos un punto interior de B está en el interior de A.
- Cubre: Devuelve verdadero si ningún punto de B está en el exterior de A.
- Toca: Devuelve verdadero si las geometrías se tocan.
- Atraviesa: Devuelve verdadero si la geometría A cruza la geometría B.
- Se superpone: Devuelve verdadero si hay solapamiento entre las geometrías.
- Igual a: Devuelve verdadero si las geometrías son idénticas.
Diferencia entre Geodatabase y Modelo Geo-relacional
Las geodatabases son un tipo de base de datos objeto-relacional. Este modelo mantiene el esquema de tablas con relaciones, pero admite tanto tipos de datos atómicos como ADT. El modelo geo-relacional, por su parte, es el encargado de unir la información temática almacenada en un SGBD con la información geométrica y topológica almacenada en un SIG.
Lenguaje SQL
El lenguaje estructurado de consultas (SQL) es un lenguaje normalizado, utilizado por los SGBD relacionales y objeto-relacionales. Es un lenguaje declarativo: las órdenes especifican el resultado deseado, no el procedimiento para obtenerlo.
Ejemplo:
SELECT nombre FROM municipios WHERE poblacion > 4000 ORDER BY poblacion
Significado: Devuelve el nombre de los municipios con una población superior a 4000 habitantes, ordenados por población.
Operaciones Comunes en SQL
- Ordenar registros: Se utiliza
ORDER BY
, especificando la lista de campos a usar. Se puede especificar el orden: ascendente (ASC
) o descendente (DESC
). - Limitar registros devueltos: Se utiliza
DISTINCT
. - Alias: Se asigna un nuevo nombre a una variable calculada utilizando
AS
. - Filtrar con WHERE: Permite utilizar diversas opciones de filtrado.
- Operadores lógicos:
AND
,OR
yNOT
. En operaciones lógicas,AND
se asimila al producto yOR
a la suma.NOT
invierte el resultado de la operación. - BETWEEN: Recupera registros dentro de un intervalo de valores de un campo.
- LIKE: Compara una cadena de texto con un patrón.
- IN: Devuelve registros cuyo campo coincide con alguno de los valores de una lista.
- Agrupamiento de registros: Obtiene estadísticos calculados a partir de variables. Se utiliza
GROUP BY
. - Limitar el número de registros: Se utiliza
LIMIT
después deSELECT
. - Consultas a varias tablas (JOIN): Combina varias tablas en una consulta. Se debe especificar la tabla de cada columna con la sintaxis
tabla.columna
. - Crear una nueva tabla: Se puede crear una nueva tabla con los resultados de una consulta.