For planning a rescue mission SRZ has to rely on the correctness of the underlying data of OSM. To efficiently track and monitor data changes a tool is needed to list and filter changesets in Switzerland. Changesets are grouped modifications with a time-stamp whenever the data of OSM is edited.
There exist many quality management tools in OSM but none of these are able to filter for specific features, called tags, directly on the data of OSM.^[While finishing the Bachelor Thesis an article reported OSMCha implemented recently exactly that highly requested feature [@articleOSMCha].] This is a major requirement and is genuinely needed by SRZ during their daily work of maintaining the integrity of their material. Some tools already in use by SRZ are ["Targeted Monitoring Tool"](https://srzedi.srz.borsnet.ch/) and [OSMCha](https://osmcha.org/), as well as many others.
The main focus of our batchelor thesis is on a rewrite of the TMT without the dependency of OSMCha and adding the required tags filter.
The main focus of our bachelor thesis is on a rewrite of the TMT without the dependency of OSMCha and adding the required tags filter.
To do a BT at the end of the bachelor studies at the OST is the last step to finish the studies and to earn the bachelor degree in computer science. Besides the mandatory necessity to write a BT it is a huge opportunity to apply and show what we have learned in the past few years. A huge motivation were also to gain some insights in the fields of big data and OSM by contributing to a real world problem. Finally it is nice to know that the final product is requested by a third party and the codebase will be available open-source.
...
...
@@ -79,11 +79,11 @@ Functionality of TMT but without any special dependency e.g. OSMCha
### Must-haves at start of project:
- Define changesets "watcher"
-Restrictable on area of map
-Restrictable on tags, predefined categories for better UX
-Restrictable on single nodes/ways
-Saving user settings
-Sharing (or public/private)
-restrictable on area of map
-restrictable on tags, predefined categories for better UX
-restrictable on single nodes/ways
-saving user settings
-sharing (or public/private)
- Login via OSM
- Notifications (mail or alternative)
...
...
@@ -93,7 +93,7 @@ Functionality of TMT but without any special dependency e.g. OSMCha
### Changes regarding the must-haves during the project:
- No user management and no notifications needed
- Optional ranking with QRank
- Optional ranking with [QRank](https://pypi.org/project/QRankGWAS/)
- Range based date filter
### Further requirements:
...
...
@@ -118,10 +118,10 @@ The following text documents the bachelor thesis "OSM Monitoring Tool".
Part one of the documentation contains the technical report, which focuses mainly on the implementation and surrounding technologies. For more general aspects of the project you can refer to [Part II](#part-ii-project-documentation).
## Task setting and vision
As described in part twos chapter [Vision](#vision) the main task of the project was to build a well working webapplication that is tailored specifically for the needs of monitoring changes in OSM, without any major dependencies.
As described in part twos chapter [Vision](#vision) the main task of the project was to build a well working webapplication that is tailored specifically for the needs of monitoring changes in OSM, without any major dependencies.
## Goals
The main goal of the project was build a webapplication that can be used to monitor the constantly evolving map-data from OSM to verify its correctness. The initial requirements and goals are stated in the [task description](#task-description-translated-to-english), which are described again in the following paragraph:
The main goal of the project was build a webapplication that can be used to monitor the constantly evolving map-data from OSM to verify its correctness. The initial requirements and goals are stated in the [task description](#task-description-translated-to-english), which are described again in the following paragraph:
The main goal of the project is to redesign the existing TMT tool without any external dependencies. Throughout the existing functionality should be maintained and where ever possible improved to better suit the workflow at SRZ and increase the usability. Furthermore the application should be supplemented with additional features that can enhance the experience.
...
...
@@ -139,7 +139,7 @@ Finally the prototype was further extended in order to improve its functionality
## State of the art (existing solutions)
There are already a couple different solutions available. Some have more, some have less features and the target problem is slightly different for all of them.
The closest to our OMT is certainly the previous work of the TMT. Since this project is a direct reimplementation of the TMT, there are by design many similarities. However the TMT has some significant drawbacks which makes it not fully usable for its current purpose:
The closest to our OMT is certainly the previous work of the [TMT](https://srzedi.srz.borsnet.ch/) which is currently deployed and running. Since this project is a direct reimplementation of the TMT, there are by design many similarities. However the TMT has some significant drawbacks which makes it not fully usable for its current purpose:
- TMT is not able to filter for tags on nodes, ways or relations.
- TMT dependents on OSMCha.
...
...
@@ -159,10 +159,10 @@ Validating changesets and it's underlying data. The general workflow with OSMCha
##### General
- login with OSM account
- view changeset list with many order by options
- view changeset list with many order options
- set filters for filtering changeset list and save/share filters
- view results for a changeset on map
- different hyperlinks to view changeset, osm element etc on OSM or other webpages
- different hyperlinks to view changeset, OSM elements etc on OSM or other webpages
- create/modify account settings, filters, mapping team, trusted user-list, user watch-list etc.
##### Filter options for changesets
...
...
@@ -178,15 +178,15 @@ Validating changesets and it's underlying data. The general workflow with OSMCha
- status from verifying a changeset
- review date
- by reviewer
- tags a changeset has
- tags of a changeset
- user & teams
- user-name or user-id
- trusted/watchlist users, mapping team search options
- trusted/watch users, mapping team search options
- changeset details
- by changeset id
- any metadata not settable by other filter options but only regarding the changset data
- any metadata not settable by other filter options but only regarding the changeset data
- created range
- of osm elements created/modifies/deleted
- of OSM elements created/modifies/deleted
- of comments
- source imagery used
- specific editor based: Null island edits, Edit count based search, Using multiple filters on OSMCha
...
...
@@ -196,7 +196,7 @@ Validating changesets and it's underlying data. The general workflow with OSMCha
Options for single selected changeset
- view changes of changeset on map
- view changeset details: user, timestamp, # of created/modified/deleted OSM element, changeset comment, other metadata
- view changeset details: user, time-tamp, # of created/modified/deleted OSM element, changeset comment, other metadata
- view flagged OSM elements or flag them like: node, way, relation
- view tag changes: all tags altered (in this changeset) regarding OSM elements (key=value) and in which version
- view geometry changes on map
...
...
@@ -673,7 +673,7 @@ Our project is by design quite similar to the TMT, since that was one of the giv
## Introduction
One of our goals was to work on a project that will have some sort of real world use and therefor benefit society or a group of people. With this project that is certainly the case. Not only does it directly help with a specific problem at SRZ, but will indirectly help many more people by helping to maintain the open-source card material from OSM. Additionally there is the benefit of optimising the work at the emergency dispatch which frees resources for other important tasks.
The project is also quite interesting from a more technical side, enabling us to work with all parts of a modern webapplication. Developing it as a greenfield project a lot of great changes for creativity, skill and learning are guaranteed.
The project is also quite interesting from a more technical side, enabling us to work with all parts of a modern webapplication. Developing it as a greenfield project a lot of great changes for creativity, skill and learning are guaranteed.
This part of the documentation focuses on the project itself, not the produced product. It contains the overall approach of the project and all general aspects that are not part of the [technical report](#part-i-technical-report).