Una vez finalizadas las instalaciones de los programas, las configuraciones necesarias y las creaciones de esquemas de datos y proyectos, el usuario debe familiarizarse con las reglas básicas para trabajar con Giswater. A estas se pueden sumar las que ya se han mencionado en algún apartado anterior, porque eran indispensables como requisitos previos al inicio del trabajo; ahora se trata de hacer una aproximación al funcionamiento de la herramienta, a sus características y capacidades, haciendo especial hincapié en las reglas para trabajar con los datos de forma segura.
Una de las principales ventajas de trabajar combinando una base de datos con un GIS es la gran capacidad que se puede adquirir en materia de robustez de los datos gracias a la existencia de llaves primarias y foráneas, de reglas topológicas o de la posibilidad de gestionar la edición de los datos por parte de los usuarios.
A continuación, veremos algunas de las principales reglas y conocimientos que hay que tener en cuenta a la hora de trabajar con Giswater.
Existen dos tipos de proyecto muy distintos en el mundo de Giswater, que cuentan con grandes similitudes en lo que se refiere a la estructuración y categorización de los datos, pero que en ningún momento el usuario debe confundir. Hay que saber siempre si se está trabajando en:
Water Supply
Proyecto relacionado con la red de abastecimiento de agua potable de un territorio. Los datos representan todos los elementos que son necesarios para una red de estas características, empezando por las cañerías (elementos arco) y siguiendo con las válvulas (elementos nodo) que se encuentran a lo largo de la red, entre otros muchos elementos. Giswater pretende representar de la forma más fiel posible la realidad de un sistema de abastecimiento de aguas, por eso cuenta con todas las posibilidades que pueden entrar en juego dentro del sistema.
Concretamente, para WS, las herramientas principales sirven para regular y gestionar los flujos de agua, las presiones o la planificación de abastecimiento a clientes en función del momento. En relación a esto existen conjuntos de tablas que permiten la monitorización de los caudales gracias a sistemas SCADA o la gestión de visitas reales a los elementos de la red.
Urban Drainage
Proyecto relacionado con la red de saneamiento y drenaje de aguas urbanas en un territorio. Igual que en los proyectos WS, se pretende representar la red de la forma más realista posible. Aquí los elementos principales son los conductos por donde circulan las aguas residuales. Hay elementos que coinciden con los proyectos de abastecimiento, pero la mayoría son característicos únicamente para redes de drenaje, como por ejemplo los embornales o las depuradoras.
Algunas de las herramientas más destacadas de este tipo de proyecto se relacionan con la dirección de circulación del agua residual, ya sea aguas arriba o aguas abajo. En este sentido, Giswater permite representar un perfil de los conductos con información relevante sobre estos.
Este manual es único para los dos tipos de proyecto, aunque podrían perfectamente existir manuales individualizados para cada uno de ellos. Se ha pretendido unificarlo para tener toda la información de Giswater en un solo documento, pero la intención es que dentro de este propio manual el usuario pueda diferenciar rápidamente si el contenido de un apartado es específico de un proyecto WS, un proyecto UD o se trata de un apartado común.
Para llevar a cabo este objetivo, todos los apartados del documento que sean específicos de un tipo de proyecto se marcarán con un color: azul para WS y amarillo para UD. Todos los apartados hasta ahora han sido comunes, pero de aquí en adelante habrá grandes diferencias entre proyectos.
En la siguiente tabla se comparan algunos de los aspectos más destacados de estos tipos de proyecto:
Una de las características más atractiva y representativa de Giswater es la gran cantidad de elementos que se pueden representar en el entorno de trabajo, un hecho que permite una representación de la realidad muy ajustada y que el usuario pueda satisfacer todas sus necesidades al respeto de las condiciones de la red que gestiona.
En este apartado se desarrollará la funcionalidad de los principales elementos existentes, que se representan visualmente en la imagen 13. Aquí se representan la mayoría de elementos, aunque luego veremos que existen algunos más.
Node
Es uno de los tipos de elemento principal de la red. Siempre se rige por reglas topológicas. Los elementos tipo nodo se han dividido en multitud de categorías, diferenciadas para proyectos WS y UD. Siempre son representados como puntos, aunque algunos pueden tener asociados polígonos que representen su perímetro real cuando este sea importante.
Los nodos siempre se sitúan entre dos arcos, por lo tanto, rompen estos arcos en diferentes entidades. La mayoría de elementos ejercen funciones específicas para romper (como reducciones de caudal o válvulas de chequeo), aunque hay nodos que habitualmente no romperían arcos, en algunos casos especiales deben ejercer esta función. Son los que se representan en la imagen 13:
Netwjoin: es una acometida (connec) que por sus dimensiones u otras características forma parte de la red y se sitúa encima de un arco.
Netgully: es un embornal (gully) que por sus dimensiones u otras características forma parte de la red y se sitúa encima de un arco.
Netelement: se trata de cualquier elemento que habitualmente no se conecte a la red pero que por sus características deba situarse encima de un arco y cortarlo.
Arc
Los arcos, junto con los nodos, son los principales elementos de la red. Estos se sitúan entre dos nodos y representan los conductos y cañerías de la red. No hay tantos tipos de arcos como de nodos, aunque también se encuentran categorizados y todas sus características (como puede ser diámetro, material, rugosidad…) pueden añadirse en su tabla de atributos para diferenciarlos mejor.
En la imagen 13 se puede ver el funcionamiento de los Varc (arcos virtuales). Estos conectan la red topológicamente entre arcos y nodos cuando en la realidad un arco llega a un polígono y por lo tanto no existe realmente como arco. Esto es necesario para que las reglas de topología funcionen correctamente en la red Giswater. Normalmente son tramos cortos.
Connec
Hablamos de las acometidas, los elementos que conectan la red con edificios u otros elementos como por ejemplo fuentes. Se trata de elementos puntuales, aunque para relacionar las acometidas con el resto de la red se usan links y nodos virtuales.
Gully
Representan los embornales que no se sitúan encima de arcos, los que se encuentran a cierta distancia de la red. La mayoría son de este tipo; el resto son los netgully y se representan como nodos. También son elementos puntuales y, como las acometidas, se pueden relacionar con la red mediante links y nodos virtuales.
Vnode
Son nodos virtuales, que, igual que los arcos virtuales, no existen en la realidad, pero deben existir en la red de Giswater para que esta funcione correctamente. Los nodos virtuales se sitúan siempre encima de arcos, pero, al contrario que los nodos, nunca dividen los arcos en dos partes.
La función de estos elementos es la de situar encima de la red los embornales y las acometidas que se encuentran a cierta distancia. Se trata de elementos puntuales que, como se ha dicho, se representan encima del arco más cercano al elemento al que hace referencia el nodo virtual.
Link
Los links son elementos lineales que unen los embornales y las acometidas con sus nodos virtuales encima del arco más cercano, por lo tanto, ejercen la función de conectar los elementos separados con la red.
Element
Esta categoría está disponible para otros tipos de elementos puntuales no conectados con la red, que el propio usuario puede personalizarse. Puede tratarse de accesorios de la red o cualquier otro elemento que sea necesario para una representación con el mayor grado de realidad posible.
Además de todos estos elementos principales, hay algunos otros elementos que no tienen ninguna topología pero que son interesantes para visualizar en el mapa:
Address: dentro de este grupo de elementos se encuentran todos los relacionados con la propia representación del territorio de la red. Normalmente se cuenta con las capas de eje de calle, límite municipal, perímetro de los edificios y portales.
Dimensions: por último, debemos hacer mención a la capa que representa las dimensiones. Esta solo se rellenará cuando el usuario utilice la herramienta específica para medir distancias entre elementos. Sirven como complemento de la red para poder ver detalladamente las acotaciones creadas.
Para trabajar correctamente con bases de datos que contengan una gran cantidad de información hay que seguir, como mínimo, una serie de reglas básicas para que los datos tengan consistencia y se pueda rentabilizar al máximo la usabilidad de la base de datos.
La mayoría de estas reglas tienen que ver con las relaciones entre tablas, que, como se verá más adelante, comparten una gran cantidad de columnas y campos. En relación a esto hay que tener en cuenta las llaves foráneas que permiten que la información de una tabla forme parte de otra tabla.
Además, también es imprescindible entender la función de las llaves primarias, las columnas que restringen la repetición de campos.
Si nos fijamos en la Imagen 16, que representa el script de creación de la tabla sector, podemos ver que la llave primaria de la tabla es sector_id, lo cual significa que el contenido de esta columna no podrá repetirse en ningún caso. Esta tabla también tiene una llave foránea, que hace referencia a la tabla macrosector y en concreto al campo macrosector_id. ¿Qué significa esto? Que el contenido del campo macrosector_id de esta tabla sector debe existir antes en el mismo campo de la tabla macrosector. Por poner un ejemplo, si en la columna macrosector_id de la tabla macrosector sólo tenemos los datos 1 y 2, para rellenar la misma columna en la tabla sector sólo podemos optar por uno de estos dos números.
Esto hace que las relaciones entre tablas sean estrechas y muchos campos tengan restricciones a la hora de añadir información para que esta sea correcta. Además del uso de llaves, en algunas tablas también aparecen restricciones del tipo check, las cuales limitan la posibilidad de añadir datos en ciertos campos sólo con los valores establecidos. Las restricciones check sólo se encuentran donde es necesario, puesto que se trata de tablas que requieren unos valores específicos para que el sistema funcione correctamente y por lo tanto no pueden ser modificados.
Como ya se ha comentado en el apartado 2.5.1.1, el uso de catálogos jerárquicos para categorizar los elementos es muy importante y esta funcionalidad sólo se puede desarrollar mediante el uso de las llaves foráneas. Para añadir elementos en un catálogo, este siempre debe estar relacionado con algún tipo de elemento de jerarquía superior.
Para saber hasta dónde llegan las redes de abastecimiento y drenaje de agua, Giswater establece distintas zonas que limitan los territorios del que forman parte. Cada una de estas zonas tiene unas características concretas y existen ciertas relaciones entre ellas, gestionadas, como se ha visto en el apartado anterior, con llaves foráneas.
La Imagen 17 sirve para conocer el rol que juega cada una de estas zonas y los elementos con los que se relaciona.
ZONAS DEL MAPA ABASTECIMIENTO
ZONAS DEL MAPA SANEAMIENTO
Las zonas principales son Sector y Exploitation, que sirven como cabezas del resto de zonas del mapa, cada uno dentro de su actividad. Los sectores se delimitan teniendo como única condición la coherencia hidráulica y pueden tener grandes diferencias en su extensión. Un solo sector puede, por ejemplo, representar una sola calle o representar todo un municipio en función de las necesidades de cada entidad gestora. Lo único necesario es que el sector tenga un lugar o varios de entrada de agua y un lugar o varios de salida de agua. De distinto modo, las explotaciones tienen un abasto más vinculado al territorio y están formados por macrodmas y dmas.
Todos los elementos principales del proyecto deben situarse tanto dentro de un sector como de una explotación. Como se representa en la Imagen 17, algunos sólo tienen relación con la explotación y sólo los subcatchment deben estar indispensablemente dentro de un sector. En ningún caso un elemento puede no tener relación con alguna de las zonas del mapa.
En una administración o empresa dedicada a la gestión del agua nunca todos los empleados trabajan en los mismos asuntos ni, habitualmente, un solo empleado es el encargado de todo el proceso de gestión del agua. Como es normal, dentro del entorno Giswater se puede hacer una categorización por distintos tipos de trabajo en función de las tablas o vistas que uno usa habitualmente. Tanto Giswater como la base de datos PostgreSQL permiten la introducción de distintos roles de trabajo, para facilitar el uso de las herramientas dentro de un entrono corporativo donde se trabaje simultáneamente.
Los objetivos de los roles son los de mejorar la seguridad, evitando que usuarios sin permiso modifiquen datos susceptibles de generar posteriormente errores, así como permitir una personalización de algunos aspectos del proyecto en función de cada usuario con un rol distinto.
Los distintos roles son:
Todos los roles con una jerarquía mayor adquieren automáticamente los permisos del rol inferior, por eso están ordenados en función de la importancia y permisos que tienen.
Para facilitar el trabajo de los usuarios a la hora de insertar datos en las distintas tablas y vistas del proyecto, Giswater cuenta con la opción de añadir valores por defecto a parámetros que su inserción sea obligatoria o muy recomendable. Mediante distintos comandos, cuando se inserte un nuevo elemento que cuente con campos que tengan valores por defecto relacionados se rellenan automáticamente con el valor establecido. El valor establecido por defecto siempre debe ser del mismo tipo que el campo que va a rellenar, de otro modo la inserción será errónea.
Los valores por defecto de usuario son los que se almacenan en la tabla config_param_user. Habitualmente estos valores son utilizados durante el proceso de inserción de datos. El usuario los gestionará desde el propio plugin de Giswater mediante la herramienta Configuración.
El uso de valores por defecto puede facilitar mucho la inserción de nuevos elementos, pero es recomendable revisar todos los valores antes de añadir definitivamente un elemento, pues es posible que algún valor por defecto no coincida con el valor que debería tener el elemento insertado. En el caso de las zonas del mapa, hay que recordar que el valor por defecto prevalece sobre la geometría de la zona que Giswater captura automáticamente. Por ejemplo, si un elemento nuevo va a insertarse dentro del perímetro de un sector=3, el programa capturará que el sector sería 3, pero si tenemos un valor por defecto sector=2, el elemento se insertará con sector=2.
Los valores por defecto de sistema solo son modificables por los usuarios con rol de administrador. Tienen relación con las tablas de configuración y habitualmente se usan para gestionar los parámetros de las distintas reglas topológicas, que se describen en el siguiente apartado. El apartado 5.2.6 puntualiza la información al respeto de los valores por defecto de sistema, ya que serán modificables desde la herramienta Configuración del plugin.
La definición de topología geoespacial dice: “La topología expresa las relaciones espaciales entre características de vectores (puntos, polilíneas y polígonos) conectados o adyacentes en un GIS.” Una vez conocido el significado, veremos algunas de las principales características topológicas que son importantes para el uso de Giswater en su rama GIS.
Antes de ver las reglas topológicas habituales, hay que tener en cuenta que Giswater tiene ciertas condiciones en relación con los estados de los elementos, lo que denominamos topología de estados. En la siguiente tabla se pueden ver todos los tipos de modificaciones (insert o update) entre elementos arco y nodo y si se podran llevar a cabo teniendo en cuenta el estado de los elementos. Encima de la tabla se pueden ver los distintos estados disponibles para los elementos en Giswater:
El tipo de estado que tiene unas condiciones más restrictivas es el Planificado. Operar con elementos en estado = 2 solo será posible para usuarios con el rol de masterplan o superior y hay que tener en cuenta que el manejo de estos elementos puede romper la topología.
Primero de todo hay que tener como mínimo un registro en la tabla plan_psector, que sirve para gestionar las planificaciones. También es imprescindible tener un valor por defecto para psector. Los arcos y nodos con los que se opere se irán insertando con este valor por defecto en las tablas específicas: plan_arc_x_psector y plan_node_x_psector. Hay que revisar los campos state y doable.
Todos los elementos, ya sean nodos o arcos, que se encuentran en estado En servicio y el usuario los cambie manualmente a Planificado, se introducirán automáticamente en el psector por defecto que se tenga en este momento. Aunque este cambio está permitido por las reglas topológicas, no debería ser habitual pasar un elemento de estado En servicio a Planificado.
Las relaciones entre arcos y nodos son seguramente las más importantes a nivel topológico dentro de Giswater, en parte por el gran número de elementos que entran en juego. Para que el programa funcione correctamente hay que cumplir con estas reglas topológicas, y, en este sentido, el propio programa muestra mensajes al usuario cuando hay alguna regla importante que no se cumple.
El plugin de Giswater cuenta con una herramienta específica que permite detectar ciertos errores topológicos relacionados con los arcos y nodos. Más adelante veremos cómo se usa esta herramienta, pero en este apartado se explicarán las reglas topológicas en las que se hace hincapié:
Nodos huérfanos: se trata de nodos que no conectan con ningún arco.
Nodos duplicados: son nodos situados exactamente en el mismo lugar y por lo tanto generan una incoherencia en el sistema.
Consistencia topológica de los nodos: hay algunas reglas topológicas específicas de Giswater, que tienen en cuenta el tipo de nodo. Por ejemplo, hay tipos de nodos que deben tener obligatoriamente conexión con tres arcos distintos, si no es así serán marcados como erróneos.
Arcos con el mismo nodo de inicio y fin: los arcos siempre deben situarse entre dos nodos distintos (con id distinto), por lo tanto, un arco que empieza y termina en el mismo nodo es erróneo. Esto se puede configurar desde la tabla config y el campo samenode_init_end_control, donde si tenemos el valor TRUE el programa no permitirá arcos con el mismo nodo de inicio y de fin; si tenemos FALSE, estos nodos sí serán permitidos.
Arco sin nodo de inicio o fin: se trata de un arco desconectado por alguno de sus extremos.
Link es un enlace gráfico entre elementos del mapa. En este sentido, lo que hace un link es conectar un elemento de entrada (connec o gully, llamados también conexiones en general) con un elemento de salida (arc, node, connec o gully).
Los atributos que acompañan este enlace gráfico son:
Elemento de entrada
pjoint_id - Identificador del punto de salida
pjoint_type - Tipo de punto de salida
arc_id - Identificador del tramo dónde finalmente conecta el elemento de entrada. Si el pjoint_type es ARC, pjoint_id y arc_id conicidirán.
Elemento de salida
Para WS los tramos tienen una pestaña con sus elementos de entrada relacionados a través de arc_id.
Para UD, los tramos tienen una pestaña con sus elementos de entrada relacionados. Los nodos tienen una pestaña con sus elementos de entrada relacionados aguas arriba.
Link
feature_id - Identificador del punto de entrada
feature_type - Tipo de punto de entrada
exit_id - Identificador del punto de salida
exit_type - Tipo de punto de salida
Características especiales:
Respecto su elemento de entrada (que se encuentra aguas arriba), el link comparte la mayoría de sus atributos:
La visibilidad del mapa, es decir explotación y estado, lo toma de éste.
Si se borra el elemento de entrada, se borra el link (se considera que están funcionando como una unidad integrada).
Los atributos del link como pueden ser longitud, diámetro o material, se representan y manifiestan en el modelo de datos del elemento de entrada al que pertenece.
Respecto su elemento de salida (el que se encuentra aguas abajo), ya no hay pertinencia sino simplemente topología, con lo cual:
Se gestiona topología. Si se mueve el punto de salida se mueve también el link. Si el punto de salida es desplazado a otro tramo, el campo arc_id del elemento de entrada se actualiza automáticamente.
Si el elemento de salida es un connec o un gully se copia el valor arc_id del tramo padre que tenga el elemento salida.
Los atributos de dma_id y fluid_type del elemento de salida se transmiten tanto al link cómo al elemento de entrada.
Para proyectos de saneamiento (UD) los atributos dma_id y fluid_type pueden desacoplarse del elemento de salida. Para ello se deben poner en FALSE las variables Connect autoupdate dma y Connect autoupdate fluid en la configuración.
Formas de conectar con links
Por defecto, al añadir un connec o gully, este se encuentra desconectado de la red. Para que exista topología entre la red y las conexiones deben crearse los links. Esto se puede hacer de las siguientes maneras:
Dibujar manualmente el link. Este se puede dibujar, con la forma que uno quiera, siempre que se conecte un elemento de entrada con uno de salida, mediante las herramientas habituales de dibujo en QGIS.
Herramienta de conectar a la red. Usando la herramienta del complemento Giswater explicada en el apartado 5.2.3.7 se podran conectar una o varias conexiones al mismo tiempo. En este caso, el link siempre se dirgirá al tramo más cercano en línea recta.
Conectar automáticamente. Existen variables de configuración para que, en el momento de introducir una nueva conexión, esta se conecte automáticamente a la red. El resultado será el mismo que si conecta mediante la herramienta del complemento.
En los formularios de las conexiones hay un botón (Set arc_id) que permite establecer previamente un arc_id. En caso de hacerlo, las formas de conectar nº2 y 3 daran cómo resultado la conexión al tramo establecido y no al que se encuentre más próximo.
Características de estado
EN SERVICIO y OBSOLETO
Sólo puede haber un link con estado EN SERVICIO para una conexión.
Podemos tener muchos links con estado OBSOLETO para una conexión.
Los valores de zonas del mapa, el exit_id y el exit_type se relacionan con las de la conexión.
PLANIFICADO
Para cada conexión en un psector se crea un link nuevo. Se puede crear manual o automáticamente.
Si el link se crea automáticamente, este se podrá modificar en la alternativa de psector dónde trabajemos. Nunca se modificará el link original.
No se permite eliminar el arc_id de una conexión planificada. Se deberá eliminar todo el link.
Los valores de zonas del mapa, el exit_id y el exit_type se visualizan independientemente de la conexión original, mostrando lo que transmite el link y la conexión planificada.
Giswater hace uso de elementos doble-geométricos. Esto significa que un único elemento está formado por dos geometrías distintas, en este caso siempre son puntos que también pertenecen a un polígono.
Sólo algunos de los elementos de la red tienen esta particularidad, porque son tipos de elementos que pueden tener unas medidas mucho más grandes que las que se representan simplemente con un punto y por lo tanto nos interesará visualizar un polígono alrededor del punto.
Al añadir cualquier nodo nuevo de uno de estos tipos, se creará inmediatamente un polígono cuadrado asociado alrededor del elemento puntual. Las principales reglas topológicas de esta relación son:
Si se mueve el elemento nodo, el polígono asociado también se desplaza hacia la nueva posición del nodo.
Si se dibuja un nuevo polígono, con el perímetro que el usuario desee, alrededor de un nodo del mismo tipo, el nuevo perímetro sustituye directamente al antiguo.
No se puede dibujar un nuevo polígono sin que un nodo del mismo tipo se encuentre dentro de este.
Si se elimina un nodo con doble-geometría, el polígono asociado también será eliminado. En cambio, sí se puede eliminar el polígono sin modificar el nodo.
Para trabajar con este tipo de elementos doble-geométricos es importante tener una configuración que gestione su manejo. En la tabla config y en el campo insert_double_geometry se puede habilitar o deshabilitar esta función. En caso de tenerla habilitada (recomendado), mediante el campo buffer_value se asigna un valor por defecto a la longitud del costado del cuadrado poligonal. Como ya se ha dicho, este cuadrado se puede editar y darle la forma deseada.
Para finalizar este apartado de reglas básicas de trabajo, se ha creado un esquema de ejemplo que resume todas las reglas de trabajo que se siguen en el proceso de inserción de un nuevo elemento nodo. En el esquema se definen los campos obligatorios para la inserción y mediante flechas se pueden visualizar los pasos a seguir para que la inserción sea correcta. También se muestra el proceso en caso que la inserción no sea posible.
El campo the_geom es uno de los más relevantes y en este caso uno con las reglas más fáciles de entender. Cuando se inserte un nuevo elemento, la geometría de este debe encontrarse dentro de la geometría de un sector, de una dma y de una explotación, en caso contrario la inserción será errónea.
Si el estado es 2, como se ha comentado recientemente, debe existir un psector como mínimo, si no la inserción será errónea. Para elementos con estado ‘en servicio’ (1), estos deben cumplir con las reglas topológicas explicadas en el apartado 3.7.2.
El resto de campos obligatorios pueden tener valores por defecto a la hora de rellenarse o ser introducidos directamente por el usuario. Hay que respetar las jerarquías y llaves foráneas de los catálogos de elementos, puesto que, si se trata de insertar un nodo que no pertenece al resto de catálogos, esta inserción será errónea.