Code Monkey home page Code Monkey logo

giswater_qgis_plugin's Introduction

WELCOME TO GISWATER PROJECT-QGIS PLUGIN

Water management has always been complex and expensive. It has always been difficult to plan new water supply networks or effective control existing ones without making further capital investments. Nonetheless all these situations have come to an end. Since 2014 when GISWATER was born, it have been the first open source software specifically designed for water supply and water management.

This software connects different IT solutions and pre-existent databases allowing you to setup a high performance management system in combination with hydraulic software as well EPANET or SWMM.

GISWATER is the first open source tool for the integral water cycle management. It was especially developed and designed for city councils, municipality administrations, water and sewerage services concessionary companies and hydraulic professionals. Giswater is a driver that connects different hydraulic analysis tools and spatial database through which the user has access from any geographic information system (GIS). It is compatible with all the elements that compose a water supply or sewerage management system like EPANET, EPA SWMM, GIS, WMS or SCADA and therefore it can be incorporated to the informatic ecosystem of any entity or company dedicated to water management and multiply its benefits.

It is also possible to integrate business management tools like ERP, CRM or Business Intelligence and also corporate mobile devices.

As well as Giswater is developed in Python (qgis plugin) and PL/SQL(PostgreSQL database) there are three main repositories to manage it (QGIS-PLUGIN, DB-MODEL and DOCS). Right now this is the repository for the QGIS-PLUGIN.

TABLE OF CONTENTS

Here after you will find all the information you need to getting started with Giswater

1- Requirements
2- Install
3- Test
4- Deployment
5- Wiki
6- FAQ's
7- Code repositories
8- Versioning
9- License
10- Thanks to

REQUIREMENTS

To work with Giswater you will need at least 2 programs:

PostgreSQL: Installation process must include the selection pgAdmin component (Data Base Manager) and Postgis application (Spatial Extension)
QGIS: Geoprocessing software

INSTALL

As Giswater is as server-client software you need to install it into two separate environments.

Backend environment:

Works as well on Windows, MaC or Linux O/S.
Install PostgreSQL (from 9.5 to 16).
Install Postgis, pgrouting and other extensions for PostgreSQL.
create extension postgis;
create extension pgrouting;
create extension tablefunc;
create extension unaccent;
create extension postgis_raster;
create extension fuzzystrmatch;

Frontend environment:

Works as well on Windows, MaC or Linux O/S, but only on Windows to enjoy EPA models.
Install QGIS (always last LTR)
Install SWMM (5.1) and EPANET (2.2) ->If uses linux on front-end EPANET and SWMM will not work properly.

TEST

You can use the example projects, ready to test with lots of dataset integrated.
Here below you can find videos to setup your environment and work with sample data:

Install plugin:https://www.youtube.com/watch?v=EwDRoHY2qAk&list=PLQ-seRm9Djl4hxWuHidqYayHEk_wsKyko&index=4

Setup connection :https://www.youtube.com/watch?v=LJGCUrqa0es&list=PLQ-seRm9Djl4hxWuHidqYayHEk_wsKyko&index=3

Create db schema example:https://www.youtube.com/watch?v=nR3PBtfGi9k&list=PLQ-seRm9Djl4hxWuHidqYayHEk_wsKyko&index=2

Create qgis project:https://www.youtube.com/watch?v=RwFumKKTB2k&list=PLQ-seRm9Djl4hxWuHidqYayHEk_wsKyko&index=1

DEPLOYMENT

Requirements:

You need to have permissions to connect to postgreSQL database (compatible versions) and your user need to be a db superuser in order to be allowed.
to create project schemas, roles, backups, restores among others db admin operations.

Mandatory information for the project:

Project works with catalogs and you need to fill at least the mandatory ones [materials, node, arc].
The Inventory Layers are network shape layers, which also includes some mandatory and optional fields that you must know.
Project also uses mapzones and you need to create at least the mandatory ones [macroexplotation, exploitation, municipality, sector, dma].
Finally, you need to know mains about the selectors strategy of Giswater
To start now, take a look on Start from scratch and enjoy it!
Another option is start with Giswater loading inp file. Although this is a beta functionality, you can take a look on Import inp file debug mode for more info!

Useful tips:

With mapzones and catalogs well-defined (at least the mandatory ones) you can insert your first two nodes. After that arc can be inserted too.
You can get more information for about config options here:
https://github.com/Giswater/giswater_dbmodel/wiki/Config

Start from scratch;

Here you can find more information with the steps to create an empty project
https://github.com/Giswater/giswater_dbmodel/wiki/Start-from-Scratch:-Installing-Giswater-and-steps-to-create-an-empty-project

WIKI

You can find more information on https://github.com/Giswater/giswater_dbmodel/wiki

FAQ's

You can find the Frequent Answers and Questions for project on https://github.com/Giswater/giswater_dbmodel/wiki/FAQs

CODE REPOSITORY

Use the https://github.com/Giswater/docs repository to find some info about DOCS
Use the https://github.com/Giswater/giswater_qgis_plugin repository to find some info about PYTHON QGIS PLUGIN.
Use the https://github.com/Giswater/giswater_dbmodel repository to find some info about DATABASE MODEL.
Rest of repositories are no significant. Some of them they are deprecated or some of them are not used yet.

VERSIONING

Giswater works using three degrees of releases wich it means that the number three codes: Major. Minor. Built

Major: New architecture with new great functionalities without forward compatibility.
Minor: Bug fix and new great functionalities (including refactors) with forward compatibility.
Built: Bug fix and new little functionalities with forward compatibility.

The time-period for built releases is one-per-month (12 builts / year).
The time-period for minor releases is one-per-year (1 minor / year).
There is no time-period defined for major releases.

LICENSE

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See LICENSE file for more information.

THANKS TO THE FOUNDING CONTRIBUTORS

GITS-BarcelonaTech University
Aigües de Mataró
Cicle de l'Aigua del Ter S.A
Aigües de Blanes
Aigües del Prat
Aigües de Vic
Aigües de Castellbisbal
Aigües de Banyoles
Figueres de Serveis, S.A
Prodaisa
Sabemsa
Consorci Aigües de Tarragona
BGEO OPEN GIS S.L.

giswater_qgis_plugin's People

Contributors

albertbofill avatar atorret avatar bbrzepka avatar danimarinbg avatar daviderill avatar edgarfuste avatar etergorgiladze avatar ferranmart avatar giswaterdev avatar guillemesteve avatar ivan-moreno-bgeo avatar jblanchg avatar luipir avatar mguzman14 avatar ncica avatar nestorip avatar nullseile avatar rafaelnavarro03 avatar raymondnijssen avatar smaspons avatar smunhoz avatar xtorret avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

giswater_qgis_plugin's Issues

SQL script files

We will do an initial import from Giswater repository.
Then we will commit changes only in this repository. When we decide to make a new release of Giswater, we will copy this changes (in one 'big' commit) in the "main" repository.

Button 17 - Delete node

Function that deletes nodes joining the pipes sharing the node. Longest pipe data is kept in the new pipe.

Button 28 - WS/UD Change node_type

Workflow:

  • User select one node.
  • A form is opened showing current node_type.type
  • Combo to select new node_type.type
  • Combo to select catalog id
  • Trigger 'gw_trg_edit_node' has to be disabled temporarily
  • Change node_type
  • Enable trigger again

Test

Some observation
giswater 0.4, QGIS 2.14.0-Essen on Windows 7

WS, "node_tolerance" missing in config.

PostgreSQL result after point insert:

PostGIS error while adding features: ERROR: column "node_tolerance" does not exist
LINE 1: SELECT node_tolerance FROM config

Uncaught NameError: global name 'www' is not defined

Couldn't load plugin giswater due to an error when calling its initGui() method
Steps to reproduce

  1. First
  2. Second
  3. Third
Traceback (most recent call last):
  File "C:/QGIS/Essen/apps/qgis/./python\qgis\utils.py", line 315, in startPlugin
    plugins[packageName].initGui()
  File "C:/Users/David/.qgis2/python/plugins\giswater\giswater.py", line 238, in initGui
    self.project_read()
  File "C:/Users/David/.qgis2/python/plugins\giswater\giswater.py", line 332, in project_read
    self.current_layer_changed(self.iface.activeLayer())
  File "C:/Users/David/.qgis2/python/plugins\giswater\giswater.py", line 338, in current_layer_changed
    print www
NameError: global name 'www' is not defined

giswater 0.4, QGIS 2.14.0-Essen on Windows 7

WS/UD gw_fct_sector_update

Customer's request on 24/05/2016.

When sector is updated, sector_id of node, arc, connec & gully must be updated automaticlly if it's needed.

Overlap control between polygon it's needed (TODO check "sector" topology).

i18n: Portuguese

Inside the folder i18n we will find translation files (*.ts)
We need to translate text to portuguese. The file to update is: Giswater_pt.ts (inside i18n folder)

WS/UD gw_fct_dma_update

Customer's request on 24/05/2016.

When dma is updated, dma_id of node, arc, connec & gully must be updated automaticlly if it's needed.

Overlap control between polygon it's needed

Commits done to the same branch than #58.

Audit functions

We want to enhance audit schema in order to log&audit function execution and its results

i18n

Internationalization of menus, toolbars and forms

GIS water database model

I think we should create a folder called doc for the documentation. For São Caetano we will need the database model in Portuguese Language, except the field numbers, of course. We could have the file names with ptBr at the end indicating the language.

Bug in mincut #28

SELECT test_ws.gw_fct_mincut('2093', 'arc');
get_row: llave duplicada viola restricción de unicidad «temp_mincut_arc_pkey»
DETAIL: Ya existe la llave (arc_id)=(2093).
CONTEXT: sentencia SQL: «INSERT INTO temp_mincut_arc VALUES(element_id_arg)»
función PL/pgSQL test_ws.gw_fct_mincut(character varying,character varying) en la línea 62 en sentencia SQL

SQL schema '*_audit'

Add new schema related to current one, to audit any table modification (Insert, Update, Delete)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.