Git Product home page Git Product logo

jorgen98 / lineshaper Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 6.45 MB

Interactive tool for generating geographically accurate definitions of public transport routes.

Home Page: https://dexter.fit.vutbr.cz/lineShaper

License: GNU General Public License v3.0

Makefile 0.28% Dockerfile 0.25% JavaScript 29.81% CSS 6.33% TypeScript 52.78% HTML 10.55%
data-augmentation data-handling public-transport vehicle-routing

lineshaper's Introduction

LineShaper

Interactive tool for generating geographically accurate definitions of routes of the Integrated Transport System of the South Moravian Region created for the company KORDIS JMK, a.s.

The tool consists of two parts:

  • Map Editor - Allows to manage, import and export the transport networks
  • Line Router - Based on imported data about the transit system structure, it generates geographically accurate complex route definitions for individual lines. It also allows modification of the structure of the lines themselves.

Usage

  1. In the api/.env file, set the DB_USER and DB_PASSWORD variables. If you want to use authentication, also set the EDITOR_USERS and ROUTER_USERS variables.
  2. The tool can be run in 4 modes:
    • make fullAuth - Authentication is enabled for both map editing and line router
    • make noAuth - Authentication is disabled
    • make editorAuth - Authentication is enabled only for the map editor, line router is accessible without login
    • make routerAuth - Authentication is enabled only for line router, the map editor is accessible without logging in
  3. After build and startup, the application runs on http://your_url:9001/lineShaper
  4. Application can be stopped by make stop
  5. If you want to run application on background, just add Prod to any configuration (e. make fullAuthProd)

Input Files

The Map Editor works with 3 separate transport networks, which can be created directly in the editor or imported from special .geojson files, examples of which are contained in the exampleFiles/editor folder. The Line Router works with two types of files:

  • Structural files containing a description of the transport system. Attention! Due to the nature of internal Kordis system, provided example files Zastavky.txt, LineOrder.csv and LineLabels.csv has atypical encoding iso-8859-2. Fell free to use your files with standard UTF-8 encoding, but be careful about the files structure itself. The Zastavky.txt file contains the stops of the public transport system, the LineOrder.csv file contains the structure of the lines, and the optional LineLabels.csv file contains pairs of codes and actual labels for each line. Examples of all files are contained in the exampleFiles/router folder.
  • In addition to the system structure, the line router operates within the line structure editing with waypoints for more accurate routing. These waypoints can be imported or exported to the midpoints.geojson file. An example of this file can be found in the exampleFiles/router folder.

The structure of all files is described in more detail in the attached user manual.

License

This project is licensed under GPL-3.0.

lineshaper's People

Contributors

jorgen98 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.