Skip to content

Route planner and quality assurance for walking and cycling networks in OpenStreetMap.

License

Notifications You must be signed in to change notification settings

vmarc/knooppuntnet

Repository files navigation

knooppuntnet

logo

Table of contents

About

Knooppuntnet is a website for planning routes through walking, cycling and other types of node networks in OpenStreetMap. It provides support for analysis and quality assurance of these networks, and monitoring long distance walking routes.

Screenshots

You can plan a walking route by clicking on a start node and destination node (and optionally intermediate nodes that you want to pass through). You can output the planned route in a pdf document and/or a gpx track.

planner

In the analysis section of knooppuntnet, you can get an overview of all nodes and routes in a given node network, and explore issues that knooppuntnet finds. Directs links to editors make it easier to fix problems in the OpenStreetMap database.

analysis

You can look at the changes to the OpenStreetMap database that affect the node networks in near realtime.

changes

For long distance walking routes, you can compare GPX traces with the mapping of the route in OpenStreetMap. This allows you to find problems in the OpenStreetMap database and/or the GPX trace.

monitor

How to contribute?

Here are a number of ways of how you can contribute to the project:

  • validate routes on the ground

  • map additional nodes/routes/networks

  • report errors

  • application translation

  • documentation

  • application testing

  • application code

Translations

The intention is to have knooppuntnet available in four languages: English, Dutch, German and French.

Wiki

The application documentation is in the OpenStreetMap wiki. Feel free to add to this and/or translate to other languages.

Application

Your help in translating the application to a language that is not fully translated yet, or to fix wrong translations, is very welcome.

The base language for the application is English. Support for translation to the other languages is kindly provided free of charge by POEditor. POEditor supports open source. Many thanks!!!

Follow this link to join the knooppuntnet translation project.

From the project start page you can select the language. In the "Translations" tab you can review all translations (select "Show: translated"), or bring up the list with all texts that still need translation (select "Show: Untranslated"). From these lists the translated texts can be entered and/or changed. Click the text to start editing.

All the translations you make here will appear in the knooppuntnet website in the next release.

The above is sufficient to help out with the translations.

A bit more advanced: if you like to review your translation changes without waiting for the next release, you can follow the instructions in the section "Install application locally" below.

In the POEditor page for your language, you can go to the "Export" tab. Select "Show Advanced Options". Select "Export: All" and "Filename: translations.XX.xlf" where XX is the 2 letter code for given language:

Language Command
Dutch translations.nl.xlf
German translations.de.xlf
French translations.fr.xlf

Klik "Export" and save the file in the "locale" directory in your git clone:

knooppuntnet/frontend/src/locale

To see your translations in action, restart the application in development for given language, for example (from directory knooppuntnet/frontend):

npm run serve:translation:de

Note: changes to the English texts have to be done directly in the application code.

Install application locally

These are the instructions for installing the client application on your local computer (for development purposes).

node.js and npm

We use "npm" to manage the software dependencies and to help in installing and running the client application.

If you do not have a version of node.js installed, please follow the directions for installation on nodejs.org.

git

We use git as our version control system. Although it is also possible to download the code as a zip file, it will be easier to immediately use git, especially if the intention is to contribute to the project afterwards.

Go to git downloads and follow the installation instructions.

Install and run

Get the source code:

git clone https://github.com/vmarc/knooppuntnet.git

Install the software and fetch all dependencies:

cd knooppuntnet/frontend/
npm install

Build and run the client:

ng serve

In a web browser on your computer, open:

http://localhost:4000

The above command will build and start the English version of the application in development mode. Use one of the following commands to start the application in another language:

Language Command
Dutch npm run serve:translation:nl
German npm run serve:translation:de
French npm run serve:translation:fr

When starting the application in a language other than English, the texts that are not translated yet are shown in English.

OpenStreetMap mapping

You can contribute by adding, updating or reviewing the node and route definitions in OpenStreetMap. Any changes made there will become available in the application soon after upload to OpenStreetMap.

Reporting issues

Issues can be reported in github, or through an OpenStreetMap message to vmarc.

Note: when submitting issues, please feel free to use English, Dutch, French or German.

Application testing

Review these documented planner interaction tests.

Credits

Knooppuntnet is happy to use an IDE from JetBrains who provided an open source license.

Translation support for the application is provided by for free by POEditor (supporter of open source projects). You can join the translation effort at their web-site.

All map data is coming from OpenStreetMap.

Background map tiles are created with OpenMapTiles using OpenStreetMap data extracts provided by Geofabrik.

The client is using Angular, Typescript and OpenLayers.

The server is using the Scala programming language, SpringBoot, MongoDB database, a local OverpassAPI instance, JTS topology suite, JGraphT, ScalaTest and others.

Point of interest icons are by Map Icons Collection.

Other icons are from www.flaticon.com and are licensed by CC 3.0 BY. These icons are made by: Scott de Jonge, Vitaly Gorbachev, Freepik, Plainicon, Google, Smashicons, dmitri13 and Roundicons.