OSM-Interrail-Planner / osm_interrail_planner

OSM interrail planner is an application that helps you plan your next interrail trip by finding the optimized railway route between multiple destinations. The system is Python-based and uses data from OpenStreetMap for routing.
8 stars 4 forks source link

Interrail planer

About the application

This Python based application is designed to help users plan interrail trips based on their preferences of selected countries and citites in Europe. From OpenStreetMap (OSM) through the Overpass API, the application collects data about the railway network in the countries selected by the user, and calculates the optimal route between the chosen multiple cities. The results are visualised in a map in your webbrowser.

Test Image 6

Requirements

How to run the application

Input parameters

The input parameters from users are:

Test Image 6

Test Image 6

Data

The data extracted from OSM is:

-> All the raw data is as json and geojson in the folder data/original

Pre-processing

The Overpass API returns crude data in json format that requiers aditional data pre-processing to create a network where routing can be performed. The pre-processing is as follows:

-> The pre-processed and merged data is stored as shapefiles in the folder data/processed/z_database/country1_country_2...
-> If data for a particular combination for countries has been already preprocessed it calls the files for the routing otherwise, preprocessing is performed the first time

Routing

The routing process consist of the following steps:

-> The final routing data is as shapefiles in the folder data/route

Output and Visualisation

Using the Python based micro web-framework Flask, the final route is presented on a map in the user's web browser toghetere with reccomended cities, cultural sites and natural parks.

Test Image 6

Possible issues