Bases de datos espaciales Tema 0:...

18
05/10/2010 1 Datos espaciales y bases de datos espaciales Miguel Ángel Manso ETSI en Topografía, Geodesia y Cartografía - UPM Índice Clasificación de los datos espaciales Aproximaciones de las BBDD relacionales para soportar datos espaciales Conceptos y técnicas utilizados por los SGBD espaciales Enfoque práctico de lo presentado

Transcript of Bases de datos espaciales Tema 0:...

05/10/2010

1

Datos espaciales y bases de datos espaciales

Miguel Ángel Manso

ETSI en Topografía, Geodesia y Cartografía - UPM

Índice

• Clasificación de los datos espaciales

• Aproximaciones de las BBDD relacionales para soportar datos espaciales

• Conceptos y técnicas utilizados por los SGBD espaciales

• Enfoque práctico de lo presentado

05/10/2010

2

Clasificación de los datos espaciales

• Datos geográficos (Geospatial data – spatial data)

– Se pueden visualizar, manipular y analizar

– Atributo espacial (location), definido por coordenadas

– Dos características:• distintos CRS, pero es posible integrarles

• distintas escalas, propósitos, simbolización

• Datos referenciados geográficamente (Geographicallyreferenced data – pseudo-spatial data)

– Otros datos que no se pueden utilizar directamente: direcciones postales, datos alfanuméricos, mapas escaneados o imágenes (necesitan pre procesamiento)

Clasificación de los datos (2)

05/10/2010

3

Perspectiva funcional (clasificación)

• Capas básicas (topográficas):– MDT, topografía, ortofotografía, hidrología, catastro,

vías de comunicación..

• Capas de soporte a las aplicaciones (framework)– Parcelas, direcciones, infraestructuras (facilities:

eléctricas, gas, comunicaciones,..)

• Capas para la aplicación (application data layers)– Creadas para dar soporte a las aplicaciones

• Capas de negocio (Business solutions layers)– Soportan las operaciones y tomas de decisiones

Perspectiva funcional (2)

05/10/2010

4

Estructura de los datos espaciales

• Conceptos:– Geometría (representación espacial)

– Topología (relaciones espaciales)

• Geometry– Campo de la matemática, relaciones y propiedades de

los elementos en distintas dimensiones

– OGC, define como una estructura jerárquica de tipos de datos para almacenar objetos con una propiedad geométrica en una base de datos

– Simple feature specification (OGC) for SQL (1999)

SF (OGC) tipos de datos

05/10/2010

5

Jerarquía (aclaración)

Topología

• Relaciones entre las geometrías (2D)• Términos:

– Nodos, Arcos(edges, arcs, chains or segments), Polígonos (polygons, topological rings, face or area)

– Nodo: espacio dimensión 0 en el que interceptan/conectan dos elementos de tipo edges

– Arco: espacio dimensión 1 en el que se secuencian segmentos de línea sin intersección entre nodos origen y destino

– Polígono: un conjunto de arcos conectados y dirigidos que cierran en un espacio de dimensión 2

• Topología Arco-Nodo: exige que existan nodos en los extremos e intersecciones de los arcos.

05/10/2010

6

Ejemplo topología

Estructuras NO topológicas

• En muchas ocasiones no es necesaria una relación topológica entre los elementos que conforman un modelo de datos

• Se pueden establecer consultas a posteriori para obtener las relaciones entre elementos

• Ejemplo de formato sin topología: ESRI Shapefile

05/10/2010

7

Modelo Geo-Relacional

• Los datos espaciales se modelan (abstraen) en capas (layers)

• Cada capa contiene un tipo de elementos (features)

• Si existen distintos tipos de geometrías se clasifican por su tipo (puntos, líneas, polígonos)

• Los atributos se almacenan en una base de datos relacional

• Las relaciones entre objetos se establecen mediante identificadores (FID: FeatureIDentifier)

Ejemplo de modelo Geo-Relacional

05/10/2010

8

Modelo GeoDatabase

• Con la aparición de las bases de datos objeto-relacional y la capacidad para definir tipos de datos abstractos, aparecen las GeoDatabases

• La idea es integrar dentro de la propia base de datos la componente geométrica y topológica

Ejemplo esquema GeoDatabase

05/10/2010

9

Bases de datos espaciales

• ¿Qué son las BBDDEE? Güting (1994)

– BBDD

– Ofrece soporte para datos espaciales en los modelos de datos y en las consultas

– Ofrece índices espaciales y algoritmos eficientes para uniones espaciales

Características de las BBDDEE

• Tipos de datos espaciales (SDT:SpatialDataType)

– Oracle SDO (SDO_GEOMETRY)

– BD2 Spatial extender (ST_Geometry + primitivas)

– PostGreSQL + PostGIS (geometry & geography)

– MySQL (geometry)

– Microsoft SQL Server (geometry & geography)

05/10/2010

10

Tipos de datos Oracle (GDO_TYPE)

• Tipos de datos– POINT

– LINE o CURVE

– POLYGON

– COLLECTION

– MULTIPOINT

– MULTILINE or MULTICURVE

– MULTIPOLYGON

• Índices: R-Tree o QuadTree (sdp_level)

Tipos de datos DB2 (SE)

• Tipos de datos:– ST_Point

– ST_Linestring

– ST_Polygon

– ST_MultiPoint

– ST_MultiLineString

– ST_MultiPolygon

• Índices: spatial grid index & geodetic voronoiindex

05/10/2010

11

Tipos de datos PostGIS

• Tipos de datos:– POINT– MULTIPOINT– LINESTRING– MULTILINESTRING– POLYGON– MULTIPOLYGON– GEOMETRYCOLLECTION– CIRCULARSTRING– COMPOUNDCURVE– CURVEPOLYGON– MULTICURVE– MULTISURFACE

• Índices: Generalized Search Tree (GiST)

Tipos de datos MySQL

• Tipos de datos:– POINT

– MULTIPOINT

– LINESTRING

– MULTILINESTRING

– POLYGON

– MULTIPOLYGON

– GEOMETRYCOLLECTION

• Índices: R-Tree

05/10/2010

12

Tipos de datos Ms SQL Server

• Tipos de datos:– POINT

– MULTIPOINT

– LINESTRING

– MULTILINESTRING

– POLYGON

– MULTIPOLYGON

– GEOMETRYCOLLECTION

• Índices: B-Tree (grid jerárquico)

Índices espaciales y métodos de acceso

• Los índices espaciales son más complejos, trabajan en dos dimensiones y el objetivo fundamental es identificar elementos próximos

• El método mas extendido es R-Tree (árbol de regiones basado en el BBOX de las geometrías) . El segundo son los quadtree o grid multinivel

05/10/2010

13

Ejemplo R-Tree

Restricciones e integridad de los datos espaciales• Además de las restricciones de dominio,

referencial y semántico del capítulo anterior, Cockcroft (1997) identificó otras restricciones en el contexto espacial:– Topológicas: aspectos geométricos (adyacente, contenido ..)

– Semánticas: restricciones geométricas sobre valores de atributos (no parcelas en lámina de agua)

– Definidas por el usuario: similar a la anterior, con condicionantes geométricos (no a menos de 200m)

• Posteriormente (1998) matizó: estático/transición

05/10/2010

14

Gestión de transacciones largas

• En el sentido de poder retroceder a un estado anterior en los datos

• Es equivalente al “versionado”

• Oracle por ejemplo lo maneja con workspaces, habilitando un campo para la versión de los datos

Procesamiento de los datos espaciales

• Clasificación de las operaciones espaciales

• Filtrado de datos espaciales, como paso previo al tratamiento

• Operaciones topológicas

• Uniones espaciales

• SQL espacial

05/10/2010

15

Clasificación de las operaciones espaciales

• Unarias / binarias: atributos de una entidad o de varias ( superficie, perímetro vs distancia, adyacencia)

• Topológicas, proyectivas y métricas (proy.:

concavidad/convexidad y otras relaciones)

• Clasificación de OGC para operadores espaciales: básicos, topológicos y de análisis espacial

• Clasificación de PostGIS: gestión, crear, acceder, editar, exportar, relaciones espaciales y medidas, procesamiento de geometrías y linear referencing

Operaciones espaciales y filtrado

• Ante grandes volúmenes de datos espaciales, primero hay que tratar de filtrar con índices (el planificador aplica este tipo de estrategias)

05/10/2010

16

Operaciones topológicas

• Egenhofer y Herring (1990), definieron 16 relaciones de las cuales 8 no son válidas y 2 son simétricas:

– disjoin, in, touch, equal, cover y overlap

• Clementini y otros (1993) propusieron el modelo de 9 relaciones (DE-9IM)

• Las bases de datos no implementan todas

Topología implementada (usualmente)

05/10/2010

17

Uniones espaciales

• Equivalente al Join, incluyendo operaciones espaciales topológicas o no

• Son pesadas computacionalmente, por lo que hay que analizar y diseñar adecuadamente las consultas

• Se espera que las bases de datos espaciales permitan realizar este tipo de operaciones

SQL espacial

• Importante contribución de Egenhofer (1994) proponiendo dos partes:– Lenguaje de consulta

• Preservando los conceptos SQL (SELECT FROM WHERE)

• Tratamiento a alto nivel de los datos espaciales

• Incorporar operaciones y relaciones espaciales a SQL

– Lenguaje de presentación• Consulta por área de interés

• Selección de escala y simbología

• Mostrar leyenda y colocar etiquetas automáticamente

• Combinación gráfica de varias consultas y del contexto

05/10/2010

18

Ejemplos de consultas SQL espaciales

• Select con operadores espaciales– SELECT parcel.name FROM parcel, subdivision WHERE

within (parcel.loc, subdivision.loc) AND subdivision.name=”cranebrook”

• Crear tabla con geometría (DB2)– CREATE TABLE parcel (parcel.ID char(20), geometry

ST_polygon);

• Añadir una columna espacial a una tabla existente (PostGIS)– SELECT AddGeometryColumn (‘public‘, ‘parcel’,

‘the_geom’,4326,’POLYGON',2);

Más ejemplos

• SELECT ST_XMax(ST_Envelope(The_geom)) as xmax,

ST_XMin(ST_Envelope(The_geom)) as xmin,

ST_YMax(ST_Envelope(The_geom)) as ymax,

ST_YMin(ST_Envelope(The_geom)) as yminFROM Parcela WHERE ****

• SELECT ST_Line_Interpolate_Point(the_geom, 0.8) FROM Tramo WHERE ***

• SELECT ST_Buffer(geom,100) FROM POI WHERE **