En este segundo apartado del manual el usuario encontrará todos los pasos necesarios que hay que dar antes de empezar a trabajar en el entorno Giswater, desde los requisitos previos a la instalación hasta la configuración del programario, pasando por la creación de nuevos proyectos, ya sean reales o de ejemplo, para probar el funcionamiento de Giswater.
Para empezar a trabajar con Giswater se debe contar, como mínimo, con 2 programas:
PostgreSQL: el proceso de instalación debe incluir la selección de pgAdmin (Gestor de Bases de Datos) y la aplicación PostGIS (Extensión espacial).
QGIS: software de geoprocesamiento.
PostgreSQL puede estar en nuestra máquina o en cualquier servidor donde tengamos acceso. QGIS, en cambio, lo instalaremos siempre en nuestra máquina.
Para descargar todo el software necesario se recomienda visitar el sitio web de Giswater, donde se pueden encontrar los links de descarga y las versiones compatibles con la última versión del plugin Giswater.
PostgreSQL es una base de datos open source con un enorme potencial, que servirá para almacenar todos los datos con los que se trabaja en Giswater. Gracias a su extensión geoespacial PostGIS permite una relación muy cómoda con los GIS, especialmente QGIS. Esta extensión contiene más de 1000 funciones geoespaciales, por lo que la convierte en uno de los softwares GIS más potentes que existe, aunque PostgreSQL no sea un programa específico de GIS.
Hay distintas versiones disponibles para descargar. Para trabajar con Giswater se necesita una versión entre la 10 y la 16.
Se puede comprobar en Github la compatiblidad de las versiones de PostgreSQL con Giswater.
La descarga e instalación es muy sencilla y se puede hacer desde https://www.postgresql.org/download. Junto con la base de datos se instala un programa de administración de la base de datos, pgAdmin (https://www.pgadmin.org/download/ para descargarlo), que servirá para gestionar la base de datos de un modo visualmente fácil para el usuario. Mediante pgAdmin se podrán modificar las tablas, vistas y reglas de la base de datos, así como consultar toda la información y gestionarla.
Una vez instalados ambos programas, al abrir pgAdmin lo primero que tenemos que hacer es añadir una nueva conexión.
Hay que rellenar los siguientes campos para añadir una nueva conexión:
Name: nombre de la conexión.
Host: puede ser localhost o una conexión a otro servidor.
Port: puerto.
Service: relacionado con un servicio configurado en el fichero pg_service.conf. (opcional).
Maintenance DB: base de datos existente con la que se relaciona la nueva conexión.
Username: nombre de usuario. El primer usuario debe ser ‘postgres’.
Password: contraseña, que para el usuario postgres también es ‘postgres’.
Una vez creada la nueva conexión, veremos que se nos ha creado automáticamente un primer esquema public. A continuación, hay que añadir la extensión PostGIS, para tener disponible toda la funcionalidad GIS del programa, y también la extensión pgRouting, que añade funcionalidades de ruteo y análisis de redes a base de datos. pgRouting será imprescindible para algunas de las herramientas de Giswater como el polígono de corte y los perfiles longitudinales.
A partir de la versión 3 de PostGIS tambien será necesario añadir la extensión específica para gestionar capas ráster.
Al abrir QGIS por primera vez, se deben configurar una serie de parámetros, necesarios para trabajar con Giswater. Son los siguientes:
Crear una conexión PostGIS a la base de datos donde se encuentra el esquema de datos.
Para trabajar de forma cómoda y rápida con ráster, se recomienda ampliar la memoria caché de QGIS a 1GB y 1 año, mediante el menú ‘Configuración/Opciones/Red’.
Escoger abrir formulario si una única entidad es seleccionada.
¿Cómo configurar una conexión de QGIS a PostGIS?
1) Pinchamos sobre el icono Añadir capa PostGIS.
2) Hacemos clic sobre el botón Nueva y en el formulario introducimos los parámetros de conexión.
3) Una vez introducidos los parámetros, hacemos clic sobre el botón Probar conexión. Si todo es correcto, en la parte superior de la ventana obtendremos el siguiente mensaje:
4) Pinchamos sobre el botón Aceptar. En este momento la información de conexión se guardará con el nombre en la lista de conexiones.
Si con esta conexión queremos tener la posibilidad de generar nuevos esquemas de trabajo, el usuario de conexión deberá ser SUPERUSER en PostgreSQL.
Para usar el plugin Giswater es necesario tener creada una conexión a la base de datos que usaremos para trabajar. Con crearla una vez para cada QGIS instalado será suficiente.
Múltiples conexiones a distintas bases de datos son posibles, aunque es este caso se recomienda trabajar con precaución para no mezclar datos entre una u otra base de datos.
Cuando estemos conectados podremos visualizar las tablas (con y sin geometría) que contenga la base de datos correspondiente y, si es necesario, añadirlas al proyecto.
En versiones anteriores, Giswater estaba compuesto por un aplicativo, que actuaba como driver para la configuración, creación y gestión de los diferentes proyectos sobre la base de datos, y un plugin basado en QGIS para la explotación de los elementos de red.
A partir de la versión 3.2, únicamente será necesaria la instalación del plugin en QGIS para desarrollar todas las funcionalidades citadas anteriormente.
Para la descarga del plugin, será necesaria la URL del repositorio: https://download.giswater.org/plugin/3.6/giswater.xml
Esta se puede encontrar en la página web de Giswater (https://www.giswater.org/descarga/), desde la cual también se podrá acceder al contenido de versiones anteriores del plugin.
A parte de la pestaña de descarga, en el portal web también se puede consultar información acerca del producto, de los beneficios de los programas open source, la comunidad de expertos que desarrollan Giswater u obtener materiales y tutoriales para aprender a usarlo.
Para la instalación y conexión del plugin Giswater con QGIS, es necesaria la configuración de un nuevo repositorio, el cual nos permitirá visualizar el plugin Giswater en el conjunto de la lista de complementos. Para esto debemos seguir los siguientes pasos:
Abrir QGIS y acceder al repositorio de plugins (complementos).
Acceder a la pestaña ‘Configuración’ (Settings) y añadir un nuevo repositorio.
Introducir un nombre que identifique el repositorio y la URL.
Buscar e instalar el plugin Giswater, desde la pestaña ‘Todos ‘.
Advertencia: Si queremos actualizar a una versión del plugin más reciente, se puede hacer, pero esto puede tener implicaciones que veremos más adelante.
La herramienta del plugin Giswater debe aparecer en la barra de herramientas de Complementos. Si no la tenemos activada, habrá que hacerlo mediante Ver > Barras de herramientas > Complementos.
Si al instalar el plugin por primera vez con resultado satisfactorio no nos sale automáticamente el botón Giswater en la barra de Complementos, deberemos cerrar QGIS y abrirlo de nuevo.
En caso de tener más de un proyecto de QGIS abierto, el comportamiento del plugin puede presentar inestabilidades, así pues, se recomienda no usar el plugin con más de un proyecto de QGIS abierto.
Esta será la herramienta que deberá conocer un usuario de Giswater al empezar a trabajar. Al contrario que el resto de botones que incorpora el plugin, este se ubica en la barra de herramientas general junto al resto de botones de otros complementos instalados o propios de QGIS.
Esta herramienta solo se habilitará en el caso de que abramos QGIS sin ningún proyecto tipo Giswater (entendemos por tipo Giswater un proyecto que tenga cargadas, como mínimo, las capas de representación de nodos, tramos y connecs de un esquema en base de datos).
Para el caso que nos ocupa, que es la inicialización y los primeros pasos dentro del plugin, deberemos saber cómo hay que manejar esta herramienta para que nos permita realizar todas sus funcionalidades:
Generar nuevos esquemas de trabajo (directamente en la base de datos).
Mostrar los esquemas existentes.
Actualizar y editar los esquemas existentes.
Dar información sobre el esquema seleccionado.
Solo si la conexión se realiza con un SUPERUSER de PostgreSQL será posible generar esquemas o actualizarlos.
Con la propia herramienta general de gestión de proyectos que acabamos de presentar en el apartado 2.4.2, vamos a proponernos como objetivo crear una plantilla básica de esquema de trabajo en la base de datos, que posteriormente podrá ser abierta y editada como proyecto de QGIS. Al referirnos a esquema vacío no significa que no haya ningún dato lleno en las tablas, sino que los datos propios de una red específica no están. Sin embargo, sí que encontraremos valores comunes y de sistema que debe incorporar obligatoriamente cualquier esquema de trabajo Giswater.
Lo primero que debemos tener en cuenta es que esta herramienta, en su primer desplegable Nombre conexión nos mostrará todas las conexiones PostGIS que hayamos creado en nuestro QGIS. En el apartado 2.3 de este manual se creó una conexión con nombre giswater manual, por esto nos aparece esta conexión como disponible en la herramienta (Imagen 9). Habrá, entonces, que tener en cuenta los parámetros de conexión que hayamos dado para saber a qué base de datos atacará la herramienta y por lo tanto dónde vamos a generar la plantilla nueva.
Con la conexión clara, deberemos clicar el botón Crear esquema proyecto BBDD para abrir el formulario de configuración del nuevo esquema de trabajo.
Una vez que hayamos especificado las distintas opciones, al clicar Aceptar se iniciará el proceso de generación de la plantilla.
También podremos ver en la base de datos, mediante pgAdmin, que ha aparecido el esquema ws_sample con las funciones, secuencias, tablas, triggers y vistas que contiene una plantilla de Giswater para redes de abastecimiento.
Existen muchos tipos de tablas dentro de todas las creadas en el apartado anterior. Hay algunas que ya están llenas por defecto, otras que se irán rellenando a medida que se vayan creando elementos y hay tablas que pueden ser customizadas por el usuario, en función de sus necesidades y de las de su red.
Las tablas básicas que coinciden con los elementos genéricos principales de cualquier proyecto Giswater tienen gran importancia y hay que tenerlas en cuenta para poder explicar este apartado. Son las siguientes:
Arc
Node
Connec
Gully (solo para UD)
Estas cuatro tablas están vacías y solo se rellenarán cuando nuestro proyecto tenga elementos geoespaciales del tipo correspondiente, pero tienen ciertas restricciones a la hora de rellenarlas y relaciones con otras tablas que habrá que cumplir.
Para cualquier usuario que quiera personalizarse qué tipos de elementos quiere, deberá consultar una tabla y modificarla a su gusto.
cat_feature
Esta tabla sirve como catálogo para todos los elementos de los distintos tipos. En cualquier esquema creado ya encontraremos valores, pero fácilmente podremos cambiar nombres, añadir o eliminar filas.
Cada elemento que exista en cat_feature tiene que formar parte obligatoriamente de un tipo de elemento (feature_type), que puede ser NODE, ARC, CONNEC o GULLY, y además de otro tipo dentro de cada uno de los anteriores, especificado en la tabla sys_feature_type (no modificable por los usuarios).
Cada usuario puede personalizar la tabla cat_feature con elementos concretos que sean necesarios para su red, siempre que estos estén relacionados con uno de los campos de sys_feature_type (por ejemplo, TANK o FOUNTAIN) y con uno de los feature_type existentes.
En un orden de jerarquía menor de tablas que determinan los elementos existentes, encontramos las tablas de catálogo (ver el apartado 4.2.1.1), que se deben rellenar relacionando cada nuevo elemento, con nombre a gusto del usuario, con alguno de los existentes en cat_feature:
cat_node
cat_arc
cat_connec
cat_grate (UD)
Si en estos últimos catálogos se quiere añadir valores para la columna de material, será necesario también rellenar previamente catálogos de material:
cat_mat_arc
cat_mat_node
Luego hay otras tablas interesantes para añadir dominios de valores personalizados:
man_type_category
man_type_fluid
man_type_function
man_type_location
En estas tablas podemos añadir información específica sobre el tipo de categoría, de fluido, de función o de localización relacionada con los distintos tipos de elementos básicos (arc, node connec, gully). Cada una de las tablas tiene los siguientes campos:
*category/fluid/function/location
Para poner un ejemplo de uso de estas tablas, podríamos definir un catálogo de dominio de valores personalizados para un tank (depósito) además del que le correspondería por node.
A título informativo, pero es importante conocer, estos campos están gestionados por la base de datos mediante llaves foráneas para garantizar la consistencia y unicidad de la información. Como ya se puede intuir, la llave foránea tiene unas características especiales para gobernar este sistema de valores diferentes en función de la tabla origen. Una de las características más importantes es la duplicidad de la llave foránea.
Esto significa que, por poner un ejemplo para la tabla node, y respecto del tipo de fluido, la llave doble se gestiona de manera que solo estarán disponibles en el campo node.fluid_type aquellos valores de fluid_type en la tabla man_fluid_type que cumplan con la condición que tienen el campo feature_type='NODE'.
Esta llave foránea doble nos garantiza que la información sea consistente en todo momento, evitando inserciones que no cumplan con este criterio y propagando cambios en caso de renovar o eliminar dominios de valores.
Para facilitar al usuario los primeros pasos con Giswater y tener un modelo de datos completo que sirva como fuente de consulta, Giswater incorpora dos esquemas de ejemplo, tanto para drenaje urbano como para redes de abastecimiento.
Tener un primer modelo de datos completo, aparte de servir como fuente de consulta para ver cómo se estructuran los datos dentro de cada una de las tablas, permitirá al usuario iniciarse con un entorno de prueba y practicar todas las funcionalidades del plugin Giswater.
Para crear un proyecto sample deberemos repetir los pasos del apartado 2.5.1 pero llegado el momento de crear el esquema, habrá que seleccionar Example data en lugar de Empty data.
Automáticamente tendremos creado un proyecto de ejemplo Giswater con todo tipo de información y datos de ejemplo para ver su funcionalidad a máximo rendimiento. Con el plugin Giswater 3.5 se podrá dar el nombre que el usuario quiera al esquema de ejemplo, a diferencia de versiones anteriores donde el nombre era obligatoriamente ws_sample y ud_sample.
Con la herramienta general de gestión de proyectos, aparte de crear los esquemas dentro de la base de datos, también tendremos la oportunidad de generar automáticamente proyectos para QGIS, específicamente pensados para trabajar con las tablas de la base de datos, así como diseñados con una simbología que permita visualizar del modo más cómodo posible los datos del proyecto.
Para crear estas plantillas de proyecto Giswater, deberemos clicar sobre el botón Create GIS project en el formulario inicial de la herramienta.
En el pequeño formulario que se nos abrirá a continuación, deberemos elegir el tipo de proyecto que vamos a crear en función de un rol. Más adelante en este manual (apartado 3.5) se explicará cuáles son los roles que gestiona Giswater, así como sus características y propiedades, pero de momento lo único que debemos saber es que el número de capas cargadas en el proyecto será diferente en función del rol que elijamos y, del mismo modo, el número de funcionalidades que podremos llevar a cabo con el plugin también se verá modificado.
Recomendamos que, para usuarios que no usen Giswater en entorno corporativo elijan siempre el rol admin para así disfrutar de todas las características del plugin.
Durante la creación del proyecto GIS, deberemos también elegir un nombre para el fichero qgs y una carpeta donde guardarlo.
Finalmente, si queremos que este proyecto se pueda abrir sin necesidad de introducir las credenciales de acceso a la base de datos, tenemos la posibilidad de marcar Exportar contraseña usuario, de modo que el fichero creado almacenará directamente estas credenciales y podremos abrirlo sin necesidad de entrar usuario y contraseña.
Al clicar Aceptar, se creará el fichero y ya estaremos en disposición de abrirlo.
Deberemos tener en cuenta que, al crear un proyecto GIS:
Para un esquema vacío no vamos a ver nada dentro del mapa de QGIS y deberemos añadir manualmente los datos. Si lo que queremos es empezar a dibujar nuestra red e introducir datos desde cero, habrá que seguir unos pasos concretos, pues hay ciertas reglas de trabajo obligatorias que se comentarán a lo largo de este manual. En el apartado 6 encontraremos una breve guía práctica de cómo digitalizar una red empezando de cero.
Para un esquema de ejemplo tendremos directamente una red con todos los datos llenos para poder probar las funcionalidades del plugin.
Clicando el botón de comandos SQL podremos escribir nuestra primera query
id
serial
Auto numérico de identificación (llave primaria)
*_type
varchar (50)
Campo para poner nuestra información que será usada en las tablas de arc/node/connec/gully
feature_type
varchar (30)
Tipo de elemento al que se le asigna el valor
featurecat_id
varchar (30)
Nos permite detallar más de cada una de las grandes categorías
observ
varchar (150)
Para añadir información adicional