Upload
others
View
13
Download
0
Embed Size (px)
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