PostGIS es la extensión de la base de datos PostgreSQL a la que aporta una función espacial, de manera que no sólo se pueden incluir datos geográficos con los que se puede trabajar en un SIG, como los datos vectoriales (tipo puntos, líneas y polígonos), sino que también aporta la opción de incluir datos tipo ráster.

elefante

En esta entrada se van a marcar los pasos para incluir un ráster en nuestra base de datos, el cual se puede incluir, al igual que los datos vectoriales en un solo registro, o descomponerlo en sus diferentes celdas en diferentes registros en una misma columna.

Esto se puede ejecutar de varias maneras, hay que tener en cuenta que si se está usando PostGIS por debajo de la versión 2.0, se puede usar la herramienta WKT Raster. Si utiliza una versión superior, PostGIS ya incluye el soporte ráster que veremos a continuación. Vamos a comprobar que versión tenemos de PostGIS, es así, la 2.1:

versionpostgis

Ya en dichas versiones superiores aparece la herramienta raster2pgsql.py que puede cargar cualquier tipo de formato ráster soportado por GDAL (Geospatial Data Abstraction Library).

GDAL

Así, para llevar a cabo dicha carga del ráster en PostGIS, escribiremos un comando dónde:

  • – s<SRID>: especifica el sistema de coordenadas de referencia (CRS).
  • – I: crea un índice espacial (GiST).
  • – C: aplica restricciones en el ráster para asegurar que el ráster se registra adecuadamente en la vista raster_columns
  • – M: permite que el comando VACUUM se ejecute.
    <PATH\TO\RASTER FILE>: ruta a la fuente de los datos.
  • -F: añade una columna con el nombre del archivo.
  • <SCHEMA>. <DBTABLE>: Esquema objetivo donde la nueva table del ráster será creada. Nueva tabla creada en la database (generalmente con el mismo nombre que el archivo del ráster fuente).

cmdokok

Ejecutamos dicho comando en nuestra ventana y se creará un nuevo archivo .sql (mapa.sql) que será el que importaremos en PostGIS con el siguiente código y el comando psql:

  • -U: apunta al nombre del usuario (username).
  • -d: señala la base de datos donde la tabla será creada (database).
  • -f COLUMN: especifica el nombre de destino de la columna ráster, por defecto es ‘rast’.

cmd3ok

Y ya se nos habrá incluido nuestro ráster en nuestra base de datos PostGIS:

postgismapa

Entonces, si queremos visualizar dicho ráster en un SIG, debemos conectarlo a nuestra base de datos. En este caso lo hacemos en QGIS. Pero no puede realizarse desde la carga normal, como se muestra en la siguiente imagen no carga el archivo ráster:

qgis

Sino que debe realizarse desde el Administrador de Base de Datos (DB Manager) desde donde se puede incluir dicho archivo:

qgis2

Y ya tenemos conectada nuestra base datos con datos tanto de tipo vectorial como ráster y podremos trabajar con ellos en QGIS.

Formación de calidad impartida por profesionales

WEB-GIS-online

Fuente:

Loading raster data into PostGIS from the Command Line