Sunteți pe pagina 1din 18

05/10/2010

Datos espaciales y bases de datos espaciales


Miguel ngel Manso ETSI en Topografa, Geodesia y Cartografa - UPM

ndice
Clasificacin de los datos espaciales Aproximaciones de las BBDD relacionales para soportar datos espaciales Conceptos y tcnicas utilizados por los SGBD espaciales Enfoque prctico de lo presentado

05/10/2010

Clasificacin de los datos espaciales


Datos geogrficos (Geospatial data spatial data)
Se pueden visualizar, manipular y analizar Atributo espacial (location), definido por coordenadas Dos caractersticas:
distintos CRS, pero es posible integrarles distintas escalas, propsitos, simbolizacin

Datos referenciados geogrficamente (Geographically


referenced data pseudo-spatial data)

Otros datos que no se pueden utilizar directamente: direcciones postales, datos alfanumricos, mapas escaneados o imgenes (necesitan pre procesamiento)

Clasificacin de los datos (2)

05/10/2010

Perspectiva funcional (clasificacin)


Capas bsicas (topogrficas):
MDT, topografa, ortofotografa, hidrologa, catastro, vas de comunicacin..

Capas de soporte a las aplicaciones (framework)


Parcelas, direcciones, infraestructuras (facilities: elctricas, gas, comunicaciones,..)

Capas para la aplicacin (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

Estructura de los datos espaciales


Conceptos:
Geometra (representacin espacial) Topologa (relaciones espaciales)

Geometry
Campo de la matemtica, relaciones y propiedades de los elementos en distintas dimensiones OGC, define como una estructura jerrquica de tipos de datos para almacenar objetos con una propiedad geomtrica en una base de datos Simple feature specification (OGC) for SQL (1999)

SF (OGC) tipos de datos

05/10/2010

Jerarqua (aclaracin)

Topologa
Relaciones entre las geometras (2D) Trminos:
Nodos, Arcos(edges, arcs, chains or segments), Polgonos (polygons, topological rings, face or area) Nodo: espacio dimensin 0 en el que interceptan/conectan dos elementos de tipo edges Arco: espacio dimensin 1 en el que se secuencian segmentos de lnea sin interseccin entre nodos origen y destino Polgono: un conjunto de arcos conectados y dirigidos que cierran en un espacio de dimensin 2

Topologa Arco-Nodo: exige que existan nodos en los extremos e intersecciones de los arcos.

05/10/2010

Ejemplo topologa

Estructuras NO topolgicas
En muchas ocasiones no es necesaria una relacin topolgica 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 topologa: ESRI Shapefile

05/10/2010

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 geometras se clasifican por su tipo (puntos, lneas, polgonos) 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

Modelo GeoDatabase
Con la aparicin de las bases de datos objetorelacional 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 geomtrica y topolgica

Ejemplo esquema GeoDatabase

05/10/2010

Bases de datos espaciales


Qu son las BBDDEE? Gting (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

Caractersticas 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

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 voronoi index

10

05/10/2010

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

11

05/10/2010

Tipos de datos Ms SQL Server


Tipos de datos:
POINT MULTIPOINT LINESTRING MULTILINESTRING POLYGON MULTIPOLYGON GEOMETRYCOLLECTION

ndices: B-Tree (grid jerrquico)

ndices espaciales y mtodos de acceso


Los ndices espaciales son ms complejos, trabajan en dos dimensiones y el objetivo fundamental es identificar elementos prximos El mtodo mas extendido es R-Tree (rbol de regiones basado en el BBOX de las geometras) . El segundo son los quadtree o grid multinivel

12

05/10/2010

Ejemplo R-Tree

Restricciones e integridad de los datos espaciales


Adems de las restricciones de dominio, referencial y semntico del captulo anterior, Cockcroft (1997) identific otras restricciones en el contexto espacial:
Topolgicas: aspectos geomtricos (adyacente, contenido ..) Semnticas: restricciones geomtricas sobre valores de
atributos (no parcelas en lmina de agua) Definidas por el usuario: similar a la anterior, con condicionantes geomtricos (no a menos de 200m)

Posteriormente (1998) matiz: esttico/transicin

13

05/10/2010

Gestin 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 versin de los datos

Procesamiento de los datos espaciales


Clasificacin de las operaciones espaciales Filtrado de datos espaciales, como paso previo al tratamiento Operaciones topolgicas Uniones espaciales SQL espacial

14

05/10/2010

Clasificacin de las operaciones espaciales


Unarias / binarias: atributos de una entidad o de varias ( superficie, permetro vs distancia, adyacencia) Topolgicas, proyectivas y mtricas (proy.:
concavidad/convexidad y otras relaciones)

Clasificacin de OGC para operadores espaciales: bsicos, topolgicos y de anlisis espacial Clasificacin de PostGIS: gestin, crear, acceder, editar, exportar, relaciones espaciales y medidas, procesamiento de geometras y linear referencing

Operaciones espaciales y filtrado


Ante grandes volmenes de datos espaciales, primero hay que tratar de filtrar con ndices (el planificador aplica este tipo de estrategias)

15

05/10/2010

Operaciones topolgicas
Egenhofer y Herring (1990), definieron 16 relaciones de las cuales 8 no son vlidas y 2 son simtricas:
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

Topologa implementada (usualmente)

16

05/10/2010

Uniones espaciales
Equivalente al Join, incluyendo operaciones espaciales topolgicas o no Son pesadas computacionalmente, por lo que hay que analizar y disear adecuadamente las consultas Se espera que las bases de datos espaciales permitan realizar este tipo de operaciones

SQL espacial
Importante contribucin 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 presentacin
Consulta por rea de inters Seleccin de escala y simbologa Mostrar leyenda y colocar etiquetas automticamente Combinacin grfica de varias consultas y del contexto

17

05/10/2010

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 geometra (DB2)


CREATE TABLE parcel (parcel.ID char(20), geometry ST_polygon);

Aadir una columna espacial a una tabla existente (PostGIS)


SELECT AddGeometryColumn (public, parcel, the_geom,4326,POLYGON',2);

Ms 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 ymin FROM Parcela WHERE **** SELECT ST_Line_Interpolate_Point(the_geom, 0.8) FROM Tramo WHERE *** SELECT ST_Buffer(geom,100) FROM POI WHERE **

18

S-ar putea să vă placă și