Raster_PostGISA lo largo de las próximas semanas vamos a publicar en dos o tres entradas, un breve resumen de cómo iniciarse en el uso de la base de datos PostGIS con datos Raster y en cómo realizar análisis mixtos de Raster contra Vector y viceversa.

En esta primera entrada vamos a  ver:

1 – Cómo consultar información información del dato raster (metadatos)

2 – Cómo entrar en PostgreSQL y habilitar la extensión PostGIS

3 – Cómo cargar ficheros Raster en PostGIS

Os dejamos aquí todo lo necesario para poder seguir este “mini tutorial”. Cartografía, documentación y herramientas.

Archivos a utilizar: Para el desarrollo del módulo vamos a utilizar diferente tipo de cartografía, tanto ráster como vectorial. —Los datos vectoriales de origen están en formato shapefile y los datos ráster en Gtiff. Toda la cartografía se encuentra en el sistema de referencia EPSG: 26916. Enlace a los arcchivos

Presentación: Presentación

Herramientas: Contamos con el programa PostgreSQL y su extensión espacial PostGIS para el desarrollo del módulo, además de la biblioteca open source de tratamiento  digital de imágenes denominada GDAL

¿Quieres montar tu propio proyecto con nosotros? . El 20 de Noviembre empezamos nueva sesión del Master GIS con Python.

1 – Información del fichero Raster

Es útil saber que tipo y estructura tiene el ráster antes de importarlo a la base de datos. Para ello vamos a la consola de comandos de Windows y usamos GDAL para obtener información detallada sobre el ráster en cuestión.En este caso para el ráster denominado altura arbórea (altura_arborea_p).

El comando a usar es gdalinfo, que nos aporta información útil sobre el ráster como el EPSG, tamaño de pixel, estadísticas entre otros.

gdal_info_raster_postgis

2 – Crear la base de datos y habilitar PostGIS

Necesitamos crear una base de datos en Postgres y asignarle la extensión espacial. Para ello se siguen dos pasos.

  1. Se crea la base de datos mediante el PgAdmin o en la consola de comandos.

Creación de la base de datos en la consola con los valores por defecto (no hace falta especificarlos), es decir, encoding utf8 y plantilla template1.

  • Primero configuramos adecuadamente la consola con el comando> chcp 1252 chcp1252_info_raster_postgis

 

  • Escribimos la sentencia cuyas partes son:

-Createdb: creación de base de datos-U : usuario

-E: encoding

-T: base de datos plantilla

Raster: nombre de la base de datos

createdb_info_raster_postgis

  1. Despúes se procede a la creación de la extensión espacial.
  • Primero nos conectamos con postgres:

psql: conexión con el cliente psql

–U: usuario

–d: nombre de la base de datos

conectPostgres_raster_postgresstgis

  • Una vez conectados a la base de datos escribimos las sentencias. Finalmente salimos de la base de datos.

PostGis_Create Extension_raster_postgis

3 – Importación de los rásters

Utilizaremos el comando raster2pgsql. Para obtener ayuda sobre este comando se escribe raster2pgsql en la consola.Para ello se siguen dos pasos.

1. Se crea un fichero .sql donde se almacena toda la información de la imagen ráster con los parámetros especificados.

-s: especifica el sistema de referencia

-I: crea el índice espacial (imprescindible para las consultas espaciales).

-C: añade los 12 “constraints” en la columna “rast” del ráster. Esta columna almacena la geometría del ráster.

-M: ejecuta un vacuum analyze.

-t: ejecuta el teselado de la imagen.

-l: factor de overview

{Input}  {nombre de la imagen que se cargará en la base de datos} > {output}

raster2pgsql_raster_postgis

2. Ejecución del fichero en la base de datos raster.

-f: ejecución del fichero .sql Raster: nombre de la base de datos.

 

Listo! tras este proceso ya tenemos la tabla raster cargada en nuestra base de datos. En las próximas entradas veremos cómo usar funciones de análisis contra este tipo de ficheros.