Skip to content

xatellite/OpenLinePlanner

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

OpenLinePlanner

Fast and Easy public transport network prototyping
Check out the Demo »

Report Bug · Request Feature · Send Feedback

Table of Contents
  1. About The Project
  2. Usage
  3. Setting up Developing Environment
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

About The Project

OpenLinePlanner Screen Shot

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.

(back to top)

Built With

This project was build with:

Vue Vite Rust Matomo

And deployed with:

Docker

(back to top)

Usage

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

Calculation Methods

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.

(back to top)

Screenshots

OpenLinePlanner coverage area visualization OpenLinePlanner coverage area visualization OpenLinePlanner coverage area visualization OpenLinePlanner coverage area visualization OpenLinePlanner coverage area visualization

(back to top)

Setting up Developing Environment

This is a short guide to setup your own development environment of OpenLinePlanner.

  1. To start of clone the Repo:
    $ git clone https://github.com/TheNewCivilian/OpenLinePlanner.git

Backend Setup

The backend can be build running

  1. Build backend

    $ cd openlineplanner-backend
    $ cargo build --release
  2. Gather data files from OpenPopulationEstimator (inhabitants geojson) and e.g. Protomaps (pbf file of region)

  3. Add ./settings/Settings.toml e.g.

     [data]
     residence = "./data/residence.geojson"
     osm = "./data/Wien_Donaustadt.osm.pbf"
  4. Install backend binaries

    $ cargo install --path .
  5. Startup Backend (Takes some minutes on first startup)

    $ openlineplanner-backend

Frontend Setup

All environment variables are automatically loaded by VITE from the available .env files. If you need to adjust ports or endpoints check these files.

  1. Install all NPM packages
    $ yarn
  2. Start development server
    $ yarn dev

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the GNU GPL V3 License. See LICENSE.txt for more information.

(back to top)

Contact

Email: hi@xatellite.space

Project Link: https://github.com/xatellite/OpenLinePlanner

(back to top)

Contributors

TheNewCivilian, zdmx

Acknowledgments

The following pages and resources have been very helpful in the creation of the project:

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.

(back to top)