Download Espacio-temporales

Document related concepts

Base de datos espacial wikipedia , lookup

Base de datos wikipedia , lookup

Sistema de información geográfica wikipedia , lookup

SQL wikipedia , lookup

Modelo de base de datos wikipedia , lookup

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