Base de datos espacial - PostGISPostGIS convierte al sistema de administración de bases de datos...

Preview:

Citation preview

Base de datos espacial - PostGIS

¿Qué es Base de datos espacial?

La base de datos espacial es un sistema colector/administrador de datos organizados de tal

manera que sirvan efectivamente para una o varias aplicaciones SIG. Esta base de datos

comprende la asociación entre sus dos principales componentes:

Atributos o datos No Espaciales - Datos Espaciales

¿Qué es PostGIS?

• POSTGIS es una extensión del sistema de base de

datos PostgreSQL, que permite el almacenamiento

y la manipulación de objetos geométricos

vectoriales en bases de datos; incluyendo además,

el Sistema de Referencia Espacial; lo que la

convierte en una base de datos espacial para su

utilización en Sistemas de Información Geográfica

(SIG). Está publicado bajo licencia GNU/GPL y

ha sido certificado, en 2006 por el Open

Geospatial Consortium (OGC), lo que garantiza la

interoperabilidad con otros sistemas.

¿Por qué utilizar PostGIS?

PostGIS convierte al sistema de administración de bases de datos PostgreSQL en una base de

datos espacial mediante la adición de tres características: tipos de datos espaciales, índices

espaciales y funciones que operan sobre ellos. Debido a que está construido sobre PostgreSQL,

PostGIS hereda automáticamente las características de las bases de datos empresariales, así

como los estándares abiertos que implementan un Sistema de Información Geográfica dentro

del motor de base de datos.

• Permite importar y exportar datos fácilmente a través de varias herramientas.

• Existe un gran número de clientes SIG de escritorio y servidores de mapas web que pueden

trabajar con PostGIS.

• Actualmente es la base de datos espacial de código abierto más utilizada.

Características de PostGIS

• Miles de funciones espaciales, comandos

que inician con el prefijo Spatial type

“ST_” en el PostgreSQL.

• Table-spaces, esquemas.

• Índice espacial R-Tree.

POSTGIS

Índices espacialesFunciones espacialesTipos de datos espaciales

Geometry GeometryGrupos de funciones

POINT

LINESTRING

POLYGON

COLECCTION

CONVERSION

GESTION

RECUPERACION

COMPARACION

GENERACION

R-TREE

BRIN

Geometrías

• Puntos

• Líneas

• Polígonos

Tipo de datos espaciales

• Un dato espacial es una variable asociada a

una localización del espacio. Una base de

datos común tiene cadenas, números y

fechas. Una base de datos espacial añade

tipos espaciales para representar las

características geográficas . En muchos

aspectos, los tipos de datos espaciales

pueden entenderse simplemente como

formas. Se pueden operar a través de una

interfaz grafica o aplicaciones (SIG).

Como comentábamos, los datos espaciales representan información sobre la ubicación física y

la forma de objetos geométricos. Estos objetos pueden ser ubicaciones de punto u objetos más

complejos como países, carreteras o lagos. PostGIS admite datos espaciales de tipo Geometry

y el tipo de datos Geography.

Geography Geometry• El tipo geometry representa los datos en un sistema de

coordenadas euclidiano (plano)

• El tipo geography representa los datos en un sistema de

coordenadas de tierra redonda.

Si los datos son geográficamente compactos (contenida dentro

de un estado, distrito o ciudad), utilice el tipo de geometría

cartesiana con una proyección que tenga sentido con sus datos.

Si es necesario medir la distancia con un conjunto de

datos que se dispersa geográficamente que cubre gran parte

del mundo (países, continentes), utilizar el tipo de geografía.

Índices Espaciales

• Recordemos que el índice espacial es una

de las tres características clave de una base

de datos espacial. Los índices son los que

hacen uso de una base de datos espacial

para grandes conjuntos de datos

posible. Sin indexación, cualquier

búsqueda de una característica requeriría

una "secuencia de exploración" de cada

registro de la base de datos.

Funciones espaciales

Una base de datos ordinaria proporciona funciones

para manipular los datos en una consulta. Estas

funciones incluyen la concatenación de cadenas,

operaciones matemáticas o la extracción de

información de las fechas. Una base de datos espacial

proporciona un completo juego de funciones para

poder realizar análisis con los objetos espaciales:

analizar la composición del objeto, determinar su

relación espacial con otros objetos, transformarlo, etc.

La mayor parte de las funciones espaciales pueden seragrupadas en una de las siguientes cinco categorías:

• Conversión: Funciones que convierten lasgeometrías a otros formatos externos

• Gestión: Tareas administrativas de PostGIS

• Recuperación: Obtienen propiedades y medidas delas geometrías.

• Comparación: Comparan dos geometrías yobtienen información sobre su relación espacial.

• Generación: Generan geometrías a partir de otrostipos de datos.

ST_TransformSELECT ST_AsText(ST_Transform(geom,4326)) FROM nyc_subway_stations WHERE name = 'Broad St';

CONVERSION

ST_Transform

(geometría)

Devuelve una nueva geometría con sus

coordenadas transformadas para el SRID

referencia el parámetro de número entero.

AddGeometryColumnSELECT AddGeometryColumn ('my_schema','my_spatial_table','geom',4326,'POINT',2);

GESTION

AddGeometryColumn

(varchar, número entero,

varchar entero)

Añade una columna de geometría a una tabla

existente de atributos.

postgis_version () Devuelve opciones de número de versión

PostGIS y en tiempo de compilación.

ST_AreaSELECT name,ST_Area(geom) FROM geometries WHERE name LIKE 'Polygon%';

RECUPERACION

ST_Perimeter (geometría) Devuelve la longitud de todos los anillos

ST_Length (cadena lineal) Devuelve la longitud de la cadena de líneas

ST_Area (geometría) Devuelve el área de los polígonos

ST_GeometryType

(geometría)

Devuelve el tipo de la geometría

ST_NRings (geometría Devuelve el número de anillos (por lo general

1, más si hay agujeros)

ST_GeometryType Devuelve el tipo de geometría del valor

ST_Geometry.

ST_IntersectsSelect a.gid, b.geom FROM table1 as a, table2 as b WHERE st_intersects(a.geom, b.geom);

COMPARACION

ST_Equals (geometría

A, B geometría)

Comprueba la igualdad espacial de dos

geometrías.

ST_Intersects

(geometría A, B

geometría)

Devuelve t (TRUE) si las dos formas tienen algún

espacio en común, es decir, si sus límites o

interiores forman intersección.

ST_Touches Comprueba si dos geometrías se tocan en sus

límites, pero no se cruzan en su interior

ST_Within (geometría

A, B geometría)

Devuelve TRUE si la primera geometría está

completamente dentro de la segunda

geometría. ST_Within pruebas para el resultado

opuesto exacto de ST_Contains.

ST_Distance (geometría

A, B geometría)

Calcula la menor distancia entre dos geometrías y

devuelve como un flotador. Esto es útil para

informar realmente la distancia entre los objetos.

ST_DWithin Devuelve verdadero si las geometrías son dentro

de la distancia especificada (radio) el uno del otro.

ST_Equals (geometría

A, B geometría)

Comprueba la igualdad espacial de dos

geometrías.

Dimensionally Extended 9-Intersection Model

Recommended