Fast and Easy public transport network prototyping
Check out the Demo »
Report Bug
·
Request Feature
·
Send Feedback
Table of Contents
Its main purpose is to prototype public transport lines on the open field, analyse the station coverage and find the optimal station position.
The tool allows to save configurations fast and export all results to a printable pdf.
It is build to be extendable and easy to adjust, to be applicable in different scenarios.
This project was build with:
And deployed with:
OpenLinePlanner allows you to
... draw schematic transportation lines on map
... name lines and stations
... give a custom color to each line
... analyse coverage area of stations
... export map and analysis as PDF
... automatically locate new stations, based on predicted demand
By default OpenLinePlanner is configured to show the absolute amount of residences living in the coverage area of each station. Every person in the influence radius of the station (default 500m) is rated with the weight of 1. i.e. if 200 people life in the influence are the result is a score of 200
Alternatively a relative measurement can be applied (Settings). This approach takes the distance between station and the home of a potential passenger into account:
// Calculation methods:
absolute: 1;
relative: 1 / sqrt(distance);
If your scenario requires adjusted parameters please reach out! (Contact via Email) Further adjustment dialogs are planned to be implemented if requested.
This is a short guide to setup your own development environment of OpenLinePlanner.
- To start of clone the Repo:
$ git clone https://github.com/TheNewCivilian/OpenLinePlanner.git
The backend can be build running
-
Build backend
$ cd openlineplanner-backend $ cargo build --release
-
Gather data files from OpenPopulationEstimator (inhabitants geojson) and e.g. Protomaps (pbf file of region)
-
Add ./settings/Settings.toml e.g.
[data] residence = "./data/residence.geojson" osm = "./data/Wien_Donaustadt.osm.pbf"
-
Install backend binaries
$ cargo install --path .
-
Startup Backend (Takes some minutes on first startup)
$ openlineplanner-backend
All environment variables are automatically loaded by VITE from the available .env files. If you need to adjust ports or endpoints check these files.
- Install all NPM packages
$ yarn
- Start development server
$ yarn dev
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make OpenLinePlanner better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". If this project brings you any value or inspires you don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU GPL V3 License. See LICENSE.txt
for more information.
Email: hi@xatellite.space
Project Link: https://github.com/xatellite/OpenLinePlanner
The following pages and resources have been very helpful in the creation of the project:
- README Template - @OthneilDrew
- Choose an Open Source License - @ChooseaLicense
- Img Shields - @ShieldIO
This project was created as part of the interdisciplinary project of the master class Rail Technology and Management of Railway Systems @FH-St.Pölten.