Cada vez más el almacenamiento y gestión de los datos espaciales se está desplazando desde el software de escritorio hacia las bases de datos. Las ventajas son muy claras: la posibilidad de tener un acceso remoto, permitir la interacción con numerosos usuarios al mismo tiempo, la robustez del sistema o la combinación con datos no espaciales son solo algunos de los ejemplos. Es por ello que con el paso del tiempo los programas de SIG se han ido adaptando hacia incorporar cada vez más estas tecnologías dentro de su entorno. Uno de los usos más extendidos es el de almacenar las capas en la base de datos y emplear el SIG de escritorio para crear, editar y visualizar los datos. Por ello, en esta entrada os vamos a enseñar cómo importar shapefiles a una base de datos desde QGIS, cargarlas en el proyecto y aplicarle estilo.

Actualmente hay varios Sistemas Gestores de Bases de Datos que permiten trabajar con información espacial, tales como Oracle Spatial o SpatialLite. Sin embargo, la opción más utilizada y con mejores prestaciones en el mundo Open Source es PostgreSQL y su extensión PostGIS. A todas las posibilidades que trae de por sí esta base de datos hay que sumarle la posibilidad de manejar datos espaciales que aporta PostGIS, así como las cientos de funciones de análisis y procesamiento. Además, hay módulos como pgRouting que nos permiten hacer análisis de redes con mucha eficacia.

Conexión con la base de datos

Primero vamos a definir desde QGIS la conexión con nuestra base de datos. Para ello bajaremos en el explorador de archivos hasta ver el logo de PostGIS. Hacemos click secundario en él y creamos una nueva conexión.

importar_shape_qgis3

importar_shape_qgis3.1

Se nos abrirá una ventana en la que tendremos que introducir el nombre que le daremos a la conexión y las credenciales de nuestra base de datos: dirección del servidor, nombre de la base de datos y el puerto de entrada. Si has definido una conexión estándar en tu propio ordenador, probablemente el servidor sea ‘localhost’ y el puerto ‘5432’. En nuestro caso, hemos llamado a la conexión ‘Urbanismo’.

Importar shapefile

A continuación, iremos a la pestaña Base de datos > Administrador de base de datos… y navegaremos hasta la conexión que acabamos de definir en PostGIS.

importar_shape_qgis3.2

Si intentamos acceder a la base de datos nos pedirá el usuario y la contraseña. A no ser que hayamos modificado algo, el usuario será ‘postgres’. Como podemos ver, nuestra base de datos todavía está vacía, por lo que vamos a cargar una capa a partir de un shapefile. Para ello, una vez añadido un shapefile en nuestro proyecto de QGIS, solo tenemos que clickar en el botón ‘Importar capa/archivo’ de la ventana del Administrador de BBDD. A continuación, rellenamos los campos que se nos muestra. Lo importante es definir el nombre de la tabla que vamos a crear, el nombre de las columnas de clave primaria y geometría, y el sistema de coordenadas. Hecho esto, le damos a aceptar.

importar_shape_qgis3.3  importar_shape_qgis3.4

NOTA: Hemos tenido que habilitar a la base de datos la extensión de PostGIS. De lo contrario nos dará error al importar la capa.

¡Listo! Ya hemos subido nuestro shapefile a PostGIS como una tabla. Ahora acudiremos al explorador de archivos donde hicimos nuestra primera conexión y veremos nuestra capa recién subida. La podemos cargar simplemente haciendo doble click. Ya podemos acceder siempre que queramos a nuestras capas de PostGIS, editar sus entidades y utilizarlas para funciones de geoproceso.

Aplicar estilo

Para mantener la simbología de una capa local definida con QGIS (shapefile o Geopackage) tenemos distintas opciones: guardar el proyecto como un archivo *.qgz, con todas las características, o guardar el estilo concreto de una capa (*.sld o *.qml) y cargarlo cada vez que abramos la capa. En el caso de las capas de PostGIS tenemos una opción incluso mejor, ya que podemos definir un estilo en QGIS de la misma forma que a cualquier otra capa local, pero guardarlo en la propia base de datos. De esta forma, cada vez que carguemos la capa (en QGIS o en otro SIG) se aplicará el estilo que tiene definido. ¡Vamos a verlo!

Hemos definido el siguiente estilo a la capa de municipios de Andalucía que previamente habíamos importado en PostGIS:

importar_shape_qgis3.5

Hecho esto, tenemos que ir a las propiedades de la capa y, en el desplegable llamado ‘Estilo’ que aparece en la parte inferior, pinchar en ‘Guardar estilo…’.

importar_shape_qgis3.6

Entonces se abrirá otra ventana para indicar de qué forma queremos guardar ese estilo. Es entonces cuando indicamos que se guarde en la base de datos de PostGIS.

importar_shape_qgis3.7

En este caso solo nos interesa la simbología, por lo que desmarcamos el resto de casillas. Finalmente se nos muestra una ventana en la que deberemos indicar el nombre del estilo de esta capa. No te olvides activar la casilla que dice ‘Usar como estilo predeterminado para esta capa’. Ya está todo listo. Ahora, cada vez que cargues la capa de PostGIS desde la conexión que hemos definido, se le aplicará automáticamente ese estilo.

¿Dónde se almacena el estilo?

Quizá te estés preguntando dónde se guarda realmente el estilo de la capa y cómo podríamos hacer para borrarlo cuando no lo queramos. Para responder estas preguntas debemos ir a las tablas contenidas en nuestra base de datos, bien a través del pgAdmin o incluso del propio QGIS (en este último caso debemos mostrar también las tablas que no tienen geometría). Se nos ha creado una tabla llamada ‘layer_styles’ en la que se almacenan los estilos de todas las capas de la base de datos.

Si accedemos a esta tabla, veremos un único registro, correspondiente al estilo de municipios recién creado. Podemos destacar las columnas ‘styleqml’ y ‘stylesld’, las cuales contienen el estilo en formato XML, tanto de tipo QML (formato propio de QGIS para los estilos) como en SLD (formato estándar Open Source de estilo que utilizan sistemas como GeoServer). De esta forma, podremos visualizar nuestra capa en diferentes entornos utilizando el formato de estilo más adecuado.

Ahora te toca a ti

Trabajar con bases de datos espaciales nos abre un mundo de posibilidades para extender las funcionalidades de los SIG. A partir de aquí puedes subir tus propias capas a PostGIS, establecer relaciones y restricciones entre tablas, utilizar las funciones automáticas que incorpora PostgreSQL y aplicar estilos creados en QGIS. Recuerda que TODAS las opciones de simbolización que incorpora QGIS son aplicables a las capas de PostGIS.

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)

Cargando…

Formación de calidad impartida por profesionales

Curso-Online-QGIS-Nivel-Avanzado-min    Curso Online opnegeo y qgis aplicaiocnes web