Giter VIP home page Giter VIP logo

zskarte-client's Introduction

Zivilschutz-Karte

Tests GitHub issues PRs Welcome

Zivilschutz-Karte is a javascript application (based on Angular) which allows to draw situation maps for disaster management. It has been developed for Swiss civil defense organisations. The drawing application can be used either with standard computers or with interactive whiteboards and is ready to be executed - e.g. in case of interrupted connections - in offline mode (with prepared offline maps and a restricted set of functionalities) as well as in online mode with the full capacities of modern map features.

Installation

Zivilschutz-Karte is optimized and tested for use with Google Chrome - nevertheless other browsers might work as well and are supported in a best effort manner.

If you don't have a Google Chrome installation and do not have the permissions to install software, please see http://portableapps.com/apps/internet/google_chrome_portable

Run (in online mode)

You can run Zivilschutz-Karte without installation from https://zskarte.ch. Please note: Your drawings are stored on your browser - so you can't break anything, but also don't expect your drawings to be available when accessing it with another computer / browser. :) To transfer your drawings, make use of the download and import functionality of the application.

Run from local (in online mode)

Download the latest release from the projects' release section and unzip the folder to any place you like. Open the index.html in your browser.

Run from local (in offline mode)

To run the application in offline mode, a little preparation (with internet connection) is needed, since you need the according maps to be locally available on your machine. We suggest, you follow the instructions of https://openmaptiles.com/server/#install for your operating system.

Follow the installation wizard at http://localhost:8080

Region

Choose the region you're interested in. The smaller the region, the less requirements on the executing machine.

Style

You only need the "OSM Bright" style, so you can disable the others. Please also choose the language of labels to your preferences.

Settings

You only need the "Serve raster map tiles" option.

Run

Save the server and execute it. You'll need now to download the map data - please make sure you choose the appropriate licensing option. As soon, as everything is up and running, you should be able to follow the "Run from local (in online mode)" section and choose the "Offline" map (please be aware: the application expects the map server to be running at http://localhost:8080 - which is the default setting).

Terms of use

Please note, that this application integrates several different map provider services. Since the terms of use of the different services usually restrict the extent of use (limited quotas, restricted access to data layers), it's the liability of the user to make sure that the corresponding limitations and/or preconditions are fulfilled.

For developers

This project was generated with Angular CLI version 6.2.3.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.

zskarte-client's People

Contributors

deepsource-autofix[bot] avatar dependabot[bot] avatar freyco11 avatar gobeli avatar lazulitee avatar levinwi avatar lucamuh avatar njoyimpeguy avatar pascalknecht avatar swerder avatar switzerchees avatar thegnuu avatar thornch avatar timogi avatar yeller0205 avatar zedafu avatar zskarte-admin avatar

Stargazers

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

Watchers

 avatar  avatar

zskarte-client's Issues

Offline functionalities

Implementation of offline functionalities for the ZS-Karte where possible. For this, it would certainly have to be possible to store the map material of the local area of operation offline and to install a kind of client application (maybe on electron basis) on computers. The details need to be discussed in more detail in the team.

Show current location

Add functionality that the location of the current device is centered on the map when clicked. Can be very helpful with a KP-Front.

Feature: Settings area in main menu

Add settings for some features:

  • enable/disable distance/area measurement on creation (performance improvement)
  • enable/disable coordinate view in corner (performance improvement)
  • ...(additional properties?)

Customized event symbols

Implement a selection of symbols in such a way that they can be customised with individual text and numbers.

Selection:

  • Personenbergungsübersicht
  • Gefahrentafel
  • Feuerwehr
  • Polizei
  • Zivilschutz

Examples:
Personenbergungsübersicht
Gefahren
image
image
image

coordinates edit window wrong coordinate format

If you select a signature and then click the shortcut/letter 'c' on the keyboard then modal with the point coordinates appeares:
image
But the format should be the same like on the bottom right

Longitude / Latitude

Add how-to instruction layer for improve simplicity

add transparent layer for symbols/functions with complex functionalities e.g.

  1. mark 1st point of area
  2. mark 2nd and/or furter points
  3. double click for last point
  4. enter text for area
  5. click&move text block for move outside of area (will be connected by dotted line)

(text is realted to zskarte/zskarte#17 )

Reset Controls

Especially for the rotation, it would be good to have a reset button to get back to 0°.

grafik

Adding the various dispositive/overviews as map filters

  • Versorgungsdispositiv
  • Verbindungsdispositiv
  • Informationsdispositiv
  • Erkundungsdispositiv
  • Personenbergungsübersicht
  • Evakuationsübersicht
  • Betreuungsdispositiv
  • Hospitalisationsübersicht
  • Gefahrenstoffübersicht
  • Friktionsübersicht
  • Entsorgungsübersicht
  • Instandstellungsbericht
  • Sicherungsdispositiv
  • Übersicht über ereignisbezogene Anlässe
  • Spezialmaterialübersicht
  • Baumaschinenübersicht
  • Verkehrsdispositiv
    dispositive_uebersichten.pdf

Feature: Offline functionality

define levels of offline functionality and prepare application to use additional offline functionalities:

  • local cache functionalities (try to store and load from cache)
  • if possible: download and keep list of addresses for selected area (for search street names)
  • provide local services for prevent internet calls
  • provide local server for map requests (currently implemented by map selection "Offline" and configurated OpenStreetMap server, must be setup by separated instructions)

Implement History / Readonly Mode

The history / readonly mode is available but not yet implemented everywhere.
It's missing in included but not limited to the following places:

  • Symbol Quick access buttons (remove / rotate / copy)
  • Moving a Symbol

History step by step

Make it possible to go back every single step that was made of every single symbol.

Missing drawing functions

There are still some drawing functions missing from V2:

  • Draw holes in polygons
  • Define coodrinates of symbol via dialog
  • Change zIndex of Feature (bring forward / send to back etc)
  • Fix position of symbols
  • Merge polygons

Copying symbols

A copy function on a symbol would be very practical for the quick drawing of several identical symbols. In the context menu of the symbol an additional copy action should be listed which creates new symbol with the same properties as the copied one and places it on the map (possibly shifted a bit).

Zoom to zoom level by scale

Automatic zoom to zoom level by entering the scale of a map, e.g. 1:6'000.

The scale should be entered as an input; there are no guidelines for scales in civil protection and they vary depending on the area of operation/organisation. For example, there may also be a scale of 1:9'476.

Symbol adjustments

  • Rename category "Platz" to "Einrichtungen"
  • Add new "NTP" symbol in "Einrichtungen" category
  • Implement adjustments from below feedback (from feedback mail)

Notfalltreffpunkt
Feuerwehr
Signaturen Platz
Signaturen Formationen 1

integrate server scenario management into frontend

integrate server scenario management into frontend

  • Allow creation of scenarios
    create, update, delete, archive
  • Allow generation of access url to join a scenario
  • Allow joining scenario by list selection and password
  • joining scenario with name to have overview of collaborators in the future

Grouping theme maps

Check source of theme maps and create grouping according source's grouping (if identifiable) or create logical groups otherwise
Additionally try to exclude nonsense maps


Implement the following favourite map layers:

  • Auengebiet
  • Gemeindegrenzen
  • Gewässer swissTLM3D
  • Hangneigung ab 30°
  • Strassen und Wege swissTLM3D

Current solution does not contain all features described in this ticket (grouping of items).

Source of available map layers provided by GeoAdmin:
https://wmts.geo.admin.ch/1.0.0/WMTSCapabilities.xml

See attached excel file for possible group logic by node "//Style/ows:Identifier" > will result in:

Maingroup (e.g. bafu, vbs, swisstopo, etc. [22 items])

  • Subgroup (e.g. Erosionen, Gefahren, etc.)
  • Change list view and group items to maingroup and subgroups.

Optionally (nice to have): the maingroup and subgroups are collapsible.

Must: If filtered, search by group-names as well and add function to expand group-items (display all group items even if not part of filtered items).

Reopened and attached to next milestone


grouping.xlsx


reduced estimation to 8h. shuldn't be that much effort.


Note: this issue is a duplication of zskarte/zskarte#15

Refactor whole key shortcut system

  • Consolidate all key shortcuts
  • Implement a library to handle the key events globally
  • Make the available key shortcuts visible for the user somehow

possibility to place polygon-signatures without area if 2nd click is near

actually the signature (e.g. "Teilzerstörung") is configured to define a polygon

currently it is not possible to place the icon to the map without polygon - except place another signature and change signature

try to check 2nd click and if its near the 1st click, place the sign without draw a polygon

Verify rxjs unsubscribing

Check the current usage of observables/subjects and verify that all subscriptions are closed when need (eg. with takeUntil)

Add new map services

Name:
Sender: [email protected]

Content:
Guten Tag

Wäre es möglich, dass beim Start der Anwendung als erstes die Landeskarte angezeigt wird.

Könnten sie auch den WMS für die Amtliche Vermessung von geodienste.ch als Hintergrundkarte anbieten. (https://geodienste.ch/db/av_0/deu?SERVICE=WMS)

Besten Dank für ihre Unterstützung.

Freundliche Grüsse
Domi Schmid

Domi Schmid

DC Fhr Ustü ZSO Jungfrau

Gartrenstrasse 11

3852 Ringgenberg

mailto:[email protected] [email protected]

🌍 Think before you print

Live long/lat if delete the location doesn't update anymore

Live long/lat if delete the location doesn't update anymore

This issue has been solved in v2, but not in v3
Note: this issue is a duplication of zskarte/zskarte#91


still not work if symbols deleted directly on the map - but works if symbols deleted in detail view


Couldn't fix that in a meaningful way as long as the state management is not refactored. Step back with that and try to fix again after the state management ist implemented.

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.