Code Monkey home page Code Monkey logo

qgep's Introduction

qgep's People

Contributors

3nids avatar andreasneumann avatar kfischerar avatar lucienicolier avatar m-kuhn avatar mhugent avatar oliver-ch avatar olivierdalang avatar ponceta avatar qgep-ninja avatar romabillard avatar signedav avatar sjib avatar tudorbarascu avatar why-not-try-calmer 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

Watchers

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

qgep's Issues

Connection to the db

I think that one of the first step should be to agree on the way we use the db. I will try to resume the ones we discussed and write down pros and cons.

  1. We use editing mode as it is right now.
    *+ keep usual way of editing
    *- we cannot use object that are not in the db yet, and therefore we cannot create objects in a chain
  2. We save the element in the db as soon as they are created
    *+ can create objects in chain
    *- not usual way of editing in qgis
    *- no undo redo
  3. We create the uuid in qgis
    *+ we can create objects in chain
    *+ we can use undo redo
    *+ we keep editing mode style, i.e. start and stop editing
  4. We use negative ids of qgis
    *+ the same as for choice 3
    *- we need to create rules for insertion by using the correct ids and doing the insertion in a special order to avoid the break of foreign keys.

In all of the four cases, it should not be a problem to use something else than Postgres. It might be useful for a small town with a single user to use qgis with SQLite, as there is no special setup...

Dictionary Table

We need a table listing all tables and their 2 character abbreviations in different languages.

Proposal:

CREATE TABLE qgep.is_dictionary
(
id integer NOT NULL,
tablename text,
name_en text,
shortcut_en character(2),
name_de text,
shortcut_de character(2),
name_fr text,
shortcut_fr character(2),
CONSTRAINT pkey_qgep_is_dictonary_id PRIMARY KEY (id ),
CONSTRAINT unq_qgep_is_dictonary_tablename UNIQUE (tablename )
)
WITH (
OIDS=FALSE
);

The content of the tablename column and the shortcut columns should be all lowercase. Please take into account when generating the INSERT statements.

The "is_" prefix stands for infrastructure, as opposed to "vl_" (value list) and "od_" (ordinary data ;-))

Labeling of Manholes and Special Constructions

Individual reaches should be labeled (E1, E2, E3, etc.) - should be labeled along the reach close to the manhole.

Order: first the bigger reaches and then the smaller ones or clock-wise.
Only the important channels (Sammelkanal, etc.)

Sample should be attached (graphic)

Data model: Manhole: usage_current

in order to display the manholes with a color related to their current usage it would be necessary to have a "usage_current" field either at the "od_manhole" table or at the "od_wastewater_structure" table.

Currently, we have "usage_current" at the tables "od_channel" and "od_pump".

There is a function that can read the "usage_current" from the incoming "od_channel"s, but for performance reasons it would be better to store this field directly and update it from a trigger, rather than calculating it from a database function for each view of each manhole.

Print function for length-profile

One should be able to print out the length-profile with provieded separate scales for length and elevation.

Idea: if possible integrate this as a new item type in print composer

Interactivity in length-profile

  • Navigation tools: zoom/pan, zoom to full extent
  • Mouse over for exact elevations at nodes
  • Additional attribute display with tooltips for reaches/channels and manholes
  • link between profile and map with highlighting

Connection to the db

I think that one of the first step should be to agree on the way we use the db. I will try to resume the ones we discussed and write down pros and cons.

  1. We use editing mode as it is right now.
  2. keep usual way of editing
  3. we cannot use object that are not in the db yet, and therefore we cannot create objects in a chain
  4. We save the element in the db as soon as they are created
  5. can create objects in chain
  6. not usual way of editing in qgis
  7. no undo redo
  8. We create the uuid in qgis
  9. we can create objects in chain
  10. we can use undo redo
  11. we keep editing mode style, i.e. start and stop editing
  12. We use negative ids of qgis
  13. the same as for choice 3
  14. we need to create rules for insertion by using the correct ids and doing the insertion in a special order to avoid the break of foreign keys.

In all of the four cases, it should not be a problem to use something else than Postgres. It might be useful for a small town with a single user to use qgis with SQLite, as there is no special setup...

translation issues

  • "examination" should be replaced by "inspection" (as in TV inspection)

Rotation attribute for manholes

Need to discuss if we can extend the data model to allow rotation of manhole symbols (e.g. Oelabscheider).

If yes, which table should it be added to? od_wastewater_node or od_manhole or other table?

Data model extension issues

With the most recent file generated by Stefan I have the following fourissues:

-- table od_water_course_segment
-- the attribute from_geometry is added two times --> should one if it be the to_geometry?

--table od_chute
--od_chute is added twice. The second CREATE TABLE statement has to be eliminated.

--table od_param_ca_general
--lenght_flow_path --> length_flow_path (typo)

--table od_param_ca_mouse1
--slope_flow_path is added twice with different data types (smallint or decimal(5,2))?

Aggregate functions for selections

should be a core QGIS feature.

Ideas:

  • Total length of reaches
  • list of all catchment areas
  • total area of catchment areas
  • connected parcels/buildings

Handling of default values

It needs to be discussed how we handle default value.

Should be a solution in QGIS core, because it is a problem also in other application modules.

Default values could be set either:

  • database level
  • overridden in QGIS project in the fields properties

QGEP project Webpage

First version of webpage with basic information, screenshots, membership forms and project milestones/development list.

Interlis import

Currently we can import Interlis 1 with ogr2ogr into Postgis.

We need to improve the importer for better usability and more options.

Interlis export

Need for an easy to use Interlis export.

Pirmin Kalberer (Sourcepole) will work on SEXTANTE improvements regarding Interlis.

Translations of UI, table names and values

  • GUI forms and plugin GUI will be translated with QtLinguist
  • table names and value lists will be automatically exported from the main database (through Metadatabase) --> create a .ts file from the database
  • Generate a view for export of the dictionary and the value lists

Improve length-profile along reaches/channels [waiting for printing version]

Currently we only display simple nodes and lines and elevations. No manhole dimensions and no special_structures and dimensions of reaches. Koni and Urs provided sample drawings as a reference.

Draw key dimensions and attributes below diagram for manholes, special_structures and channels.

Take into account scale thresholds for levels of detail.

Potentially allow expression builder for labels.

See examples at
https://github.com/qgep/QGEP/blob/master/gepview/beispiel_laengenprofile.pdf
https://github.com/qgep/QGEP/blob/master/gepview/length-profile_example_arbon_situation.pdf
https://github.com/qgep/QGEP/blob/master/gepview/length-profile_example_arbon_profile.pdf

1 : 1 relations

We will need support for 1 : 1 relations. 1:1 relations are used for parent-child relationships in our datamodel.

Examples:

  • Special structure => Wastewater structure.
  • Cover => Structure part

Currently we always show a list of related features (1:N) while in a 1:1 situation there is always only zero or one related feature, so the list can be hidden.

Background color for text diagrams in GEP-Plan

For the GEP-Plan we need to allow data-defined background color and alpha values in text diagrams.

The clean way would be to allow classification for the background color (categories and rules), however, the quicker, less expensive way would be to support rgba fill values based on an attribute value.

Data model: dataowner and provider

Almost any od_xx table has the two attributes "dataowner" and "provider". Currently these are only text fields. I think it would be more elegant if these could be relations to the table "od_organisation" - With the current setup there is a lot of duplication and it is harder to update the information of the dataowner and provider.

Any thoughts?

Allow "zoom to selection"

When a series of reaches is selected after searching for the shortest path, a button should be offered to set visible extent so all selected features can be seen.
The same applies to found trees (downstream / upstream)

Abbreviations for material table

For the reach labels there should be language specific abbreviations in the table qgep.vl_reach_material with the following columns:

abbr_en
abbr_de
abbr_fr

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.