LABORATORIO DE TELEDETECCION Y SISTEMAS DE INFORMACION GEOGRAFICA BASES DE DATOS ESPACIALES CON POSTGRES SQL - POSTGIS BASES DE DATOS ESPACIALES INSTITUTO INTERNACIONAL EN CONSERVACION DE VIDA SILVESTRE Para mayor información e inscripción: telesig@una.cr - telesig.una@gmail.com
Bases de datos espaciales I 1 Que es una base de datos espacial... 6 1.1.1 Tipos de datos espaciales... 6 1.1.2 Porque una base de datos espacial?... 7 1.2 SGBD Espaciales con capacidades Vectoriales... 8 1.2.1 a) Introducción... 8 1.2.2 b) Tipologías y productos de bases de datos espaciales más extendidos.... 9 1. b1) SGBD Relacionales u Objeto / Relacionales.... 10 1.2.2.1 b2) SGBD Embebidos.... 11 1.2.2.2 b3) SGBD NoSQL.... 12 1.2.2.3 b4) Frameworks de mapeo objeto/relacional.... 13 2 Base de datos espacial PostgreSQL... 14 2.1 Instalación de Postgres SQL... 15 2.2 Extensión de Postgres SQL Postgis... 22 2.2.1 Instalación del manejador de bases de datos espaciales Postgis... 25 Qué es GDAL?... 32 2.3 Configurar pgadmin III en Postgres SQL... 33 2.3.1 Ejecución del administrador de la base de datos pgadmin III.... 34 2.3.2 Como conectarse a una base de datos en Postgres SQL... 34 2.3.3 Tipos de objetos en Postgis... 35 2.4 Creación de una base de datos espacial en Postgis 2.0... 38 2.5 Explicación de componentes de la base de datos recién creada... 43 2.5.1.1 TABLA GEOMETRY_COLUMNS... 43 2.5.1.2 TABLA SPATIAL_REF_SYS... 44 2
2.5.1.3 La tabla FEATURES... 45 2.6 Generación de consulta SQL simple a base de datos creada... 45 2.7 Cargar datos (shapefiles.shp) a base de datos espaciales Postgis... 46 2.7.1 Uso de Postgis shapefile and DBF loader... 48 2.7.2 Creación de base de datos NYC... 52 2.7.3 Cargando datos espaciales a base de datos NYC... 55 2.7.4 Revisar parámetros de proyección usando SQL... 61 2.8 Diseño de consultas en base de datos POSTGIS... 69 2.9 Trabajando con Geometrías en Postgis... 79 2.10 Conocer el tipo de geometría, dimensión espacial y sistemas de coordenadas... 85 2.10.1 Conocer las ordenadas X y Y de sistemas de geometrías creadas... 86 2.10.1.1 Conocer la geometría de puntos en Postgis... 86 2.10.1.2 Conocer la geometría de líneas en Postgis... 87 2.10.1.3 Conocer la geometría de polígonos en Postgis... 90 2.10.1.4 Funciones espaciales que trabajan con formato de polígonos... 92 2.10.1.4.1 ST_Area(geometry)... 92 2.10.1.4.2 ST_NRings(geometry)... 92 2.10.1.4.3 ST_ExteriorRing(geometry)... 93 2.10.1.4.4 ST_InteriorRingN(geometry,n)... 93 2.10.1.4.5 ST_Perimeter(geometry)... 93 2.10.2 Tipo de colecciones geométricas en Postgis... 94 2.10.2.1 MultiPoint... 95 2.10.2.2 MultiLineString... 95 2.10.2.3 MultiPolygon... 95 2.10.2.4 GeometryCollection... 95 2.11 Ejercicios de aplicación de funciones de geometría... 97 3
2.11.1 Ejercicios de aplicación de funciones de geometría... 98 2.12 Detectando la valides de la geometría... 104 2.13 Detectando valides de geometrías... 105 2.14 Instalación del software OpemJump... 106 2.15 Comprobar valides de la geometría o topología en OpenJum... 111 2.15.1 Conectar la base de datos postgis en OpenJump para verificar topología... 111 2.15.2 Validación topológica de mapas contenidos en Postgis en OpenJump... 115 2.15.2.1 Herramienta control de calidad... 115 2.15.2.2 Extraer nodos en Openjump... 118 2.15.2.3 Extraer bordes entre los polígonos... 118 2.15.2.4 Extractor de segmentos... 119 2.15.2.5 Función de poligonizar... 119 2.15.2.6 Grafo a plano... 119 2.15.2.7 Crear líneas sobre intersección... 120 2.15.2.8 Función intercepción o corte... 120 2.15.2.9 Función interseccion de polígonos... 122 2.16 Crear base de datos de geoprocesamiento en Postgis... 123 2.16.1 Importa en Openjump los datos importados de geoprocesamiento... 123 2.16.1.1 Verificar errores topológicos de la capa de ríos desde base de datos postgis... 124 2.16.1.2 Realizar Buffer de los ríos desde base de datos postgis... 124 2.16.1.3 Generar intersecciones con capas de postgis... 126 2.17 Guardar datos desde OpenJump a base de datos Postgis... 127 2.17.1 Exportar tema de geoprocesamiento a Postgis desde Openjump... 128 2.17.2 Verificar exportacion de datos de geoprocesamiento en Postgis... 130 2.17.3 Analizar topologia en tema de cuencas y corregir huecos con editor... 134 3 Bibliografía... 135 4
Bases de datos espaciales El curso de Bases de Datos espaciales trata de desarrollar la temática centrada en la manipulación de información tanto vectorial como raster, usando como módulo de visualización el software de código abierto Quantum Gis y Openjump. Los Sistemas de Información Geográfica (SIG) son aplicaciones de ordenador o computadora que permiten trabajar (integrar, almacenar, modificar, editar, gestionar, analizar, procesar, publicar) con información geográficamente referenciada. Sus aplicaciones van desde modelar inundaciones en una región o el diseño de planes de conservación de especies amenazadas hasta gestionar el crecimiento urbano de una ciudad u optimizar el diseño de rutas comerciales. QUANTUM GIS (QGIS) es el SIG libre de escritorio más completo que existe. Entre sus cualidades está el proporcionar una interfaz gráfica fácil de usar para el SIG libre más potente, GRASS GIS (Venenux, s.f). Además se analizará el proceso metodológico de enlazar bases de datos espaciales con el software comercial ARCGIS, aunque este no es el objetivo primario del curso, se mostrará de igual manera para analizar la interoperabilidad y facilidad de almacenar datos espaciales en sistemas de gestión, como es el caso de Postgres SQL. 5
1 Que es una base de datos espacial Base de datos espacial (spatial database) es un sistema administrador de bases de datos que maneja datos existentes en un espacio o datos espaciales. El espacio establece un marco de referencia para definir la localización y relación entre objetos. El que normalmente se utiliza es el espacio físico que es un dominio manipulable, perceptible y que sirve de referencia. La construcción de una base de datos geográfica implica un proceso de abstracción para pasar de la complejidad del mundo real a una representación simplificada que pueda ser procesada por el lenguaje de las computadoras actuales. Este proceso de abstracción tiene diversos niveles y normalmente comienza con la concepción de la estructura de la base de datos, generalmente en capas; en esta fase, y dependiendo de la utilidad que se vaya a dar a la información a compilar, se seleccionan las capas temáticas a incluir ( Qué es una base de datos espacial?, s.f) 1.1.1 Tipos de datos espaciales Las bases de datos espaciales incluyen un conjunto de tipos de datos espaciales, como POINT, LINE y REGION, para modelar entidades geométricas en el espacio, y un conjunto de operaciones espaciales como INSIDE, INTERSECTION y DISTANCE, para definir las relaciones entre ellos. Los tipos y operaciones exactos dependen de la naturaleza de los datos (bidimensionales o tridimensionales) almacenados en la base de datos. Estos tipos y operaciones pueden formar parte de un lenguaje de consultas de bases de datos, como SQL, de manera que la información espacial puede ser consultada. Extender los sistemas de gestión de bases de datos existentes introduciendo tipos de datos espaciales y extender SQL de la manera adecuada fue el problema principal con las primeras bases de datos espaciales. Los tipos de datos espaciales aún no están completamente entendidos (Dunning, s.f). 6