Git Product home page Git Product logo

image

QWAT: QGIS Water Module

Documentation

Hosted version here: https://qwat.github.io/docs/

The documentation has its own repository at https://github.com/qwat/docs

Requirements

Server side software components are:

Supported and tested versions are PostgreSQL 9.6 and Postgis 2.3.

The exact required hardware configuration is very dependant on the data sizes. However, water network data tend not to be huge volumes, and the minimal required configuration is very low.

A comfortable configuration would be the following:

  • 4x Core Intel
  • >= 8GB RAM
  • SSD Storage (40GB+) with Raid capabilities for data redundancy

We recommend using Linux as Operating System when running PostgreSQL, for performance and stability.

Install

Assuming you have installed a postgresql server, there are two ways to set up the QWAT database: - The first way is to create an empty database with init_qwat.sh. - The second way is to create a database from the sample dump using pg_restore.

First way. Create an empty database with init_qwat.sh

Get the repositories. In a shell:

git clone https://github.com/qwat/qwat
cd qwat

Update data-model submodule:

git submodule update --init --recursive

In order to create the database model you need to create a postgresql database. Do to this you may execute for example:

psql -U postgres -c 'create database qwat'

You can choose whatever name for the database and whatever user as its owner. The script that is used to create the database model looks for the .pg_service.conf file in the users home directory or in the directory specified by the PGSYSCONFDIR or PGSERVICEFILE variables.

Assuming you named your database qwat, edit the .pg_service.conf file and make it look like:

[qwat]
#enter your database ip
host=127.0.0.1
#database name
dbname=qwat
port=5432
user=postgres
#you can also add your password if you like
password=YourPassword

Now go to the data-model directory and run the ./init_qwat.sh script:

cd data-model
./init_qwat.sh -p qwat -s 21781 -d -r

The script has the following options:

  • -p PG service to connect to the database.
  • -s or --srid PostGIS SRID. Default to 21781 (ch1903)
  • -d or --drop-schema drop schemas (cascaded) if they exist
  • -r or --create-roles create roles in the database

Optionally, you can restore a sample dataset. For that you need to download the data sample dump and restore it into the QWAT database:

QWAT_VERSION=`cat system/CURRENT_VERSION.txt`
wget -q -O qwat_dump.backup "https://github.com/qwat/qwat-data-model/releases/download/$QWAT_VERSION/qwat_v"$QWAT_VERSION"_data_only_sample.backup"
pg_restore -U postgres --dbname qwat -e --no-owner --verbose --jobs=3 --disable-triggers --port 5432 qwat_dump.backup

Second way. Create a database from the sample dump using pg_restore

QWAT can be tested by downloading the QGS project repository here and restoring the latest data_and_structure_sample.backup in PostgreSQL.

In your shell:

# Create the database and the extensions
psql -U postgres -c 'create database qwat;'
psql -U postgres -d qwat -c 'create extension postgis;'
psql -U postgres -d qwat -c 'create extension hstore;'

# Create the roles for QWAT
psql -c 'CREATE ROLE qwat_viewer NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;' -U postgres
psql -c 'CREATE ROLE qwat_user NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;' -U postgres
psql -c 'CREATE ROLE qwat_manager NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;' -U postgres
psql -c 'CREATE ROLE qwat_sysadmin NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;' -U postgres

# And restore it into your QWAT database
pg_restore -U postgres --dbname qwat -e --no-owner --verbose --jobs=3 --disable-triggers --port 5432 qwat_dump.backup

Open the project

After your model gets created, in QGIS you should be able now to connect to the database by creating a new connection with Name=qwat, Service=qwat, SSL mode=prefer.

If that works then open the qgis-projetct/qwat.qgs project in QGIS.

Credits

see CREDITS

License

This work is free software and licenced under the GNU GPL version 2 or any later version.

You can get the LICENSE here .

TEKSI drinking water module (Project QWAT)'s Projects

docs icon docs

TEKSI Water module (project QWAT) - Documentation

extension_fr_raepa icon extension_fr_raepa

Extension QWAT pour ajouter les vues du format d'échange RAEPA - COVADIS Français

pg-history-viewer icon pg-history-viewer

QGIS plugin that helps visualize contents of a PostgreSQL audit trigger table

qwat icon qwat

TEKSI Water module (project QWAT) - QGIS project

qwat-data-sample icon qwat-data-sample

[DEPRECATED] This is a data sample repository for the qWAT water distribution management project

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.