Importar raster a PostGIS con el plugin de QGIS PostGIS Raster Import

PostGIS Ráster es una extensión realizada sobre PostGIS que tiene como objetivo añadir a la base de datos soporte nativo para datos de tipo ráster. Con dicha extensión podemos almacenar, manipular y analizar datos ráster en la base de datos PostgreSQL/PostGIS.

Si aun no tienes muy claro qué es y porqué utilizar PostGIS, te recomendamos que leas este artículo.

En este tutorial vamos a mostrarte cómo importar ráster a PostGIS, utilizando un plugin de QGIS que hace que el proceso sea muy fácil y rápido, sin utilizar línea de comandos. Hace muchos años publicamos un artículo de cómo importar raster a PostGIS, en este tutorial utilizábamos el comando raster2pgsql, este comando lee un fichero raster en un determinado formato y crea un código SQL para su posterior carga en PostGIS.

Vamos a ver paso a paso cómo importar un raster a PostGIS utilizando el plugin de QGIS PostGIS Raster Import.

plugin de QGIS PostGIS Raster Import

Paso 1. Disponer de una base de datos PostGIS

Asumimos que ya tenemos instalado PostgreSQL, la extensión PostGIS y que tenemos una base de datos con la extensión espacial PostGIS habilitada. También será necesario instalar la extensión PostGIS Raster en la base de datos de destino.

Si la extensión no está instalada en la base de datos, desde pgAdmin 4 podemos hacerlo: nos situamos en la base de datos y hacemos clic derecho del ratón Create > Extension, buscamos el texto raster, seleccionamos la extensión y guardamos:

También será necesario disponer de una versión de QGIS 3.x.

Paso 2. Realizar la conexión QGIS – PostGIS

El siguiente paso es realizar la conexión desde QGIS. Es muy sencillo, basta con conocer el puerto (normalmente es 5432) y el nombre de la base de datos y el nombre de usuario y contraseña. En este tutorial te explicamos paso a paso cómo conectar QGIS con PostGIS.

Paso 3. Instalar el plugin

El complemento PostGIS Raster Import se ha diseñado para importar fácilmente rasters basados en archivos a una base de datos PostGIS. El autor es Dr. Horst Duester y en el repositorio de Github encontramos unas pequeñas instrucciones de uso.

Podemos instalar el plugin desde el Administrador de complementos de QGIS:

raster a PostGIS

Paso 4. Añadir el raster a QGIS

Para cargar un raster en una base de datos de PostGIS, primero se debe cargar el raster en un proyecto de QGIS. En la base de datos solo se pueden cargar datos raster.

Puedes descargar la imagen raster de Natural Earth desde aquí:

http://www.naturalearthdata.com/downloads/50m-raster-data/50m-natural-earth-1/

Añadimos el raster arrastrándolo al lienzo de QGIS o mediante el botón «Añadir capa raster…»

Paso 5. Importar el raster a PostGIS

Abrimos la herramienta desde el menú superior Base de datos > PostGIS Raster Import > PostGIS Raster Import.

Cuando se inicia el complemento PostGIS Raster Import:

  1. La capa raster (Raster layer) de la lista de selección se llena con las capas raster cargadas en el proyecto de QGIS.
  2. El siguiente paso es seleccionar la conexión a la base de datos (DB-connection). Lo hemos configurado en el primer paso.
  3. Seleccionamos el esquema (Schema) de la base de datos.
  4. En el campo nombre de la tabla (tablename), se debe ingresar el nombre de la tabla de destino en la base de datos seleccionada.

Además, está disponible la opción crear Pirámides.

Las capas raster de elevada resolución pueden ralentizar la navegación en QGIS. Se puede mejorar el rendimiento de forma considerable creando copias de menor resolución de los datos (pirámides), ya que QGIS selecciona la resolución más adecuada dependiendo del nivel de zoom.

Si esta opción está activada, se crean tablas de resumen además de la tabla raster con los siguientes niveles: 4, 8, 16, 32, 64, 128, 256.

Cuando estemos listos hacemos clic en Upload y el proceso comenzará.

Paso 6. Visualizar el raster que se ha almacenado en la base de datos

Si abrimos a pgAdmin 4, podremos ver la tabla en nuestro esquema. Además, en la vista raster_columns vemos los datos principales del raster que acabamos de importar:

Como podemos ver, el plugin detecta automáticamente el SRID del raster original y se lo asigna en PostGIS (con la herramienta de línea de comandos raster2pgsql, debíamos introducírselo nosotros manualmente).

También podemos utilizar el Administrador de bases de datos para verificar que se ha importado correctamente. Podemos previsualizar el raster y añadirlo a QGIS cuando queramos:

raster a QGIS finalizado

Si quieres aprender a trabajar con archivos raster en PostGIS puedes inscribirte en nuestro curso online de bases de datos espaciales PostGIS.