Download Espacio-temporales
Document related concepts
Transcript
Sistemas de Información Geográfica BD Espaciales y BD Espacio-temporales Laboratorio de Bases de Datos Universidade da Coruña Contenidos Introducción Representación de información geográfica Modelo conceptual Modelo lógico Modelo físico Procesamiento de información geográfica Visualización de información geográfica Arquitecturas y estándares Bases de datos espaciales y espacio-temporales 2/29 BD Espaciales y Espacio-Temporales Introducción En las secciones anteriores hemos definido una gran cantidad de conceptos relacionados con los sistemas de información geográfica. — Representación de la información — Procesado de la información — Visualización de la información — Arquitecturas y estándares Gran cantidad de los conceptos se pueden generalizar y definirlos para sistemas de información espacial. En esta sección enumeraremos las diferencias y particularidades de estos sistemas. 3/29 BD Espaciales y Espacio-Temporales Introducción Además, es importante considerar la influencia del tiempo en los sistemas de información geográfica. — Tiempo de validez: tiempo en el que el valor de un objeto es válido. — Tiempo de transacción: tiempo en el que el valor de un objeto se almacena en la base de datos. — Evolución de los objetos: el tiempo y el cambio es algo más que un atributo temporal en la base de datos. En esta sección describiremos también las peculiaridades que el tiempo fuerza a introducir en los sistemas gestores de bases de datos. 4/29 BD Espaciales y Espacio-Temporales Bases de Datos Espaciales Analizaremos las diferencias entre los sistemas de información geográfica y las bases de datos espaciales. — Generalidad — Definición del espacio de referencia — Pueden ser necesarios otros tipos de datos — La precisión es fundamental — La tercera dimensión puede ser importante — La precisión aritmética es fundamental — La funcionalidad varía en función de la aplicación — Herramientas de dibujo de precisión 5/29 BD Espaciales y Espacio-Temporales Bases de Datos Espaciales Generalidad — Una BD espacial debe estar diseñada de forma general en lugar de estar diseñada para una aplicación concreta. — Esto implica dar soporte a: Objetos espaciales (puntos, líneas, polígonos, etc…) Atributos del espacio (coberturas) Otra información de tipo espacial (redes, etc…) — Toda la arquitectura del sistema debe ser revisada y generalizada. 6/29 BD Espaciales y Espacio-Temporales Bases de Datos Espaciales Definición del espacio de referencia — El sistema debe permitir utilizar diferentes espacios de referencia, no sólo el espacio geográfico. — Cada aplicación tiene diferentes requerimientos para el espacio: Extensión Precisión Una aplicación de arquitectura sólo necesita el espacio que ocupa el edificio o la urbanización, mientras que el espacio de un GIS puede ser la Tierra entera. Una aplicación de ingeniería necesita precisión milimétrica que una aplicación GIS no necesita. Propiedades El espacio puede ser plano (arquitectura) o curvo (geografía), etc. 7/29 BD Espaciales y Espacio-Temporales Bases de Datos Espaciales Pueden ser necesarios otros tipos de datos — Los tipos de datos descritos anteriormente están enfocados a información geográfica. — En función de la aplicación, los tipos de datos pueden variar. La tercera dimensión puede ser importante — En un GIS, lo más normal es utilizar 2 dimensiones y media (espacio y altura). — En una aplicación de arquitectura, es necesario utilizar la tercera dimensión. — Esto implica la necesidad de nuevos tipos de datos y operaciones. 8/29 BD Espaciales y Espacio-Temporales Bases de Datos Espaciales La precisión aritmética es un requisito fundamental — En una aplicación GIS se puede sobrevivir con problemas aritméticos utilizando tolerancias. — En una aplicación de ingeniería esto es inaceptable. — La solución más común es utilizar aritmética de precisión fija (aritmética en punto fijo) Sabemos que los cálculos siempre son correctos hasta una determinada precisión. La funcionalidad varía en función de la aplicación — Las operaciones proporcionadas por el SGBD espacial deben ser suficientemente genéricas. — El SGBD debe ser extensible para añadir nueva funcionalidad. 9/29 BD Espaciales y Espacio-Temporales Bases de Datos Espaciales Herramientas de dibujo de precisión — Para ciertas aplicaciones se necesitan nuevas herramientas en la interfaz de usuario. Dibujar perpendiculares Dibujar paralelas Etc. — La funcionalidad de la interfaz de usuario depende de la aplicación. Ej: para arquitectura se necesita visualización 3D, aplicación de texturas, etc. 10/29 BD Espaciales y Espacio-Temporales Bases de Datos Espaciales Existen muchas aplicaciones que se pueden formular como problemas espaciales. La estrategia se basa en identificar dimensiones, definir una función que calcule distancias, y aplicar algoritmos espaciales. Es un campo de investigación novedoso. Ejemplos: — Reconocimiento de patrones. — Búsqueda simultánea en varios campos. — Biología. — Bases de datos documentales. — Y muchos más. 11/29 BD Espaciales y Espacio-Temporales Bases de Datos Espacio-Temporales Analicemos ahora los requerimientos causados por almacenar la evolución de los objetos en la BD. El concepto de base de SGBD temporal existe desde hace mucho tiempo. Una base de datos temporal añade a los tipos de datos tradicional la gestión del tiempo. Habitualmente se consideran dos dimensiones temporales: — Tiempo de validez — Tiempo de transaccion 12/29 BD Espaciales y Espacio-Temporales Bases de Datos Espacio-Temporales El tiempo de validez representa el intervalo de tiempo en el cual el hecho almacenado en la BD es cierto. En SGBD relacionales esto se consigue añadiendo dos columnas a la relación que indican el inicio y el final del periodo de tiempo. Por ejemplo, un cambio de límite municipal puede representarse así: CONCELLOS Nombre Geometria Inicio Fin 31-12-1911 A Coruña G1 01-01-1880 A Coruña G2 01-01-1912 Oza G3 01-01-1880 31-12-1911 13/29 BD Espaciales y Espacio-Temporales Bases de Datos Espacio-Temporales El tiempo de transacción representa el intervalo de tiempo en el cual el hecho se encuentra almacenado en la BD. Registra cuando se creó el objeto y cuando se eliminó. En SGBD relacionales esto se consigue añadiendo dos columnas a la relación que indican el inicio y el final del periodo de tiempo. El tiempo de transacción es independiente del tiempo de validez. Son dos dimensiones ortogonales. Los SGBD que proporcionan funcionalidad para ambas dimensiones se denominan SGBD bitemporales. 14/29 BD Espaciales y Espacio-Temporales Bases de Datos Espacio-Temporales Un SGBD temporal debería gestionar esta información de forma transparente. Sin interacción del usuario, todos los objetos deberían estar marcados con el intervalo de tiempo. Si no se hace uso del tiempo, el sistema debería comportarse como un SGBD tradicional. Solo si se hace uso del tiempo, el sistema debería tenerlo en cuenta. 15/29 BD Espaciales y Espacio-Temporales Bases de Datos Espacio-Temporales La técnica obvia para construir SGBD espaciotemporales consiste en utilizar tipos de datos espaciales en un SGBD espacio-temporal. Cada vez que cambian las propiedades espaciales de un objeto se crea una nueva versión del mismo con su tiempo de validez cambiado. Un ejemplo claro es el de los límites municipales. Almacenamos la evolución en el tiempo del atributo espacial. CONCELLOS Nombre Geometria Inicio Fin 31-12-1911 A Coruña G1 01-01-1880 A Coruña G2 01-01-1912 Oza G3 01-01-1880 31-12-1911 16/29 BD Espaciales y Espacio-Temporales Bases de Datos Espacio-Temporales El resultado es que en el SGBD se almacenan distintas versiones del objeto espacial. Cada vez que cambia una propiedad del objeto, se crea una nueva versión. El cambio de los objetos sólo puede ser discreto. Un cambio continuo implicaría una gran cantidad de versiones, lo que causaría: — Redundancia: los atributos no espaciales del objeto se repiten en la BD en cada cambio. — Ineficiencia: las consultas implican la recuperación de gran cantidad de tuplas. — Inexistencia de operaciones: es complicado definir operaciones espacio-temporales. 17/29 BD Espaciales y Espacio-Temporales Bases de Datos Espacio-Temporales La aproximación correcta es definir tipos de datos y operaciones para representar información espaciotemporal. Existen muchas alternativas a la hora de definir tipos de datos y operaciones. — Moving Object databases — Constraint databases — Bases de datos relacionales Utilizaremos una de las alternativas definidas por el proyecto ChoroChronos de la Unión Europea. El proceso vuelve a requerir definir un modelo conceptual, un modelo lógico y un modelo físico. 18/29 BD Espaciales y Espacio-Temporales Bases de Datos Espacio-Temporales Para el modelo conceptual necesitamos: — Definimos — — — — un conjunto de tipos de datos básicos (tradicionales y espaciales). Definimos operaciones para esos tipos de datos. Definimos un constructor de tipos para valores que cambian con el tiempo. Extendemos las operaciones existentes para que funciones con los nuevos tipos de datos. Definimos nuevas operaciones para los nuevos tipos de datos. 19/29 BD Espaciales y Espacio-Temporales Bases de Datos Espacio-Temporales Para el modelo lógico necesitamos: — Definir estructuras de datos para los nuevos tipos de datos. — Definir algoritmos para las operaciones. Para el modelo físico se requiere: — Implementaciones de las estructuras de datos y operaciones. — Índices para datos espacio-temporales. 20/29 BD Espaciales y Espacio-Temporales BD ET: Modelo Conceptual Definimos un conjunto de tipos de datos tradicionales, espaciales y temporales. Por ejemplo: — Tradicionales: integer, float, string, boolean, … — Espaciales: point, line, region, … — Temporales: instant, period Definimos operaciones para los tipos de datos: — Tradicionales: +, -, … — Espaciales: touches, overlaps, distance, … — Temporales: before, after, during, … 21/29 BD Espaciales y Espacio-Temporales BD ET: Modelo Conceptual Definimos un constructor de tipos temporales. El concepto es similar al de los tipos colección. Definimos un constructor cuyo resultado es un nuevo tipo. Por ejemplo: — El tipo lista o el tipo pila se definen habitualmente de forma genérica. — Dado un tipo t, el tipo de datos lista(t) representa una lista de objetos del tipo t. De la misma manera, se define el constructor moving de forma que para un tipo t, el tipo moving(t) representa la evolución de un valor de tipo t en el tiempo. El tipo moving(t) almacena un valor del tipo t para cada instante del tiempo. 22/29 BD Espaciales y Espacio-Temporales BD ET: Modelo Conceptual Por ejemplo, dado el tipo point, el tipo moving(point) almacena al evolución de un punto en el tiempo. 23/29 BD Espaciales y Espacio-Temporales BD ET: Modelo Conceptual A continuación, extendemos las operaciones para que funcionen con los nuevos tipos de datos. Por ejemplo: — Partimos de la operación float distance(point a, point b) — Sobrecargamos la operación con: moving(float) distance(moving(point) a, b) moving(float) distance(a, moving(point) b) moving(float) distance(moving(point) a, moving(point) b) — La operación devuelve la distancia como un valor en punto flotante que cambia como el tiempo. 24/29 BD Espaciales y Espacio-Temporales BD ET: Modelo Conceptual Aplicando este proceso a todas las operaciones, obtenemos un conjunto exhaustivo de operaciones para los tipos de datos temporales. Además, definimos operaciones especificas para los tipos de datos temporales. Por ejemplo: — atinstant: devuelve el valor de un tipo temporal en un determinado instante. De esta manera hemos conseguido definir fácilmente tipos de datos y operaciones para representar información espacio temporal. 25/29 BD Espaciales y Espacio-Temporales BD ET: Modelo Lógico Una vez definidos tipos de datos y operaciones, es necesario definir estructuras de datos y algoritmos para los tipos de datos y las operaciones. Para las tipos de datos, realmente no se pude almacenar un valor para cada instante del tiempo. Por ello, se definen funciones. Por ejemplo: aproximaciones utilizando — El tipo moving(point) se puede representar utilizando funciones lineales. — El tipo moving(region) se puede representar con funciones lineales para cada vértice. 26/29 BD Espaciales y Espacio-Temporales BD ET: Modelo Lógico Para las operaciones, se definen algoritmos que calculen los resultados en función de las estructuras de datos. Los algoritmos de geometría computacional se complican al añadir una nueva dimensión (el tiempo). Además la precisión aritmética también se hace más importante al añadir una tercera dimensión. 27/29 BD Espaciales y Espacio-Temporales BD ET: Modelo Físico Finalmente, es necesario definir las estrategias de implementación para el modelo lógico. En particular, se necesitan nuevos índices espaciales que permitan el acceso eficiente a la información. La aproximación básica consiste en la modificación de índices espaciales clásicos (R-Tree, …). Cada vez se definen nuevas estructuras específicas. 28/29 BD Espaciales y Espacio-Temporales Resumen Hemos visto las diferencias y particularidades que las bases de datos espaciales presentan con respecto a las aplicaciones GIS. También hemos visto las peculiaridades de los bases de datos espacio-temporales: — Una base de datos espacio-temporal no es una base de datos temporal con tipos espaciales. — Para crear una base de datos espacio-temporal hay que definir tipos de datos y operaciones que permitan representar la evolución de los objetos en el tiempo. 29/29