The Netzgrafik-Editor is a powerful software that enables the creation, modification, and analysis of regular-interval timetable.
It offers various functions to enhance the efficiency and optimization of the logistics network. Some of the key features include:
Interactive drawing tool to edit the Netzgrafik: A user-friendly and interactive graphical editor for creating and editing regular-interval timetables. It provides a visual interface to easily visualize and adjust the logistics network.
Graphic timetable (Streckengrafik): All lines (trainruns) defined in the Netzgrafik can be transferred into a graphical timetable representation (Streckengrafik).
Perlenkette trainrun editing: Planners can manually draw and edit the trainruns as a chain, allowing them to define crucial aspects of the logistics network and tailor it to specific requirements and constraints.
Logistical Information Extraction: The software extracts important logistical information from the regular-interval timetable, such as departure and destination stations, departure and arrival times, and train frequency.
Logistics Network Analysis: Planners can analyze the logistics network based on the timetable representation. The software provides insights into connection coordination, transfer times, and logistical connections, facilitating optimization and efficiency improvement.
Infrastructure Requirement Estimation: Infrastructure requirements can be estimated based on the entered timetable representation, aiding in infrastructure planning and decision-making.
The Netzgrafik-Editor, initially developed as an internal innovation project at the Swiss Federal Railways (SBB CFF FFS). The project started with a clickable prototype. From this early stage of the project, there are still ideas and concepts that have not yet been realised, so it is always worth taking a look at this document. The entire project has now reached a mature stage and evolved into a powerful tool with applications beyond railways. It can now be utilized in any domain that requires regular-interval timetables as a planning basis.
The versatility of the editor makes it suitable for various logistics planning scenarios, enabling efficient timetable creation and analysis. The software's key features can be leveraged in a broader context, such as:
Public Transportation Systems: Other public transport networks can utilize the editor's flexibility and features to effectively visualize and plan their transportation systems, leading to improved efficiency and better services.
Educations: The editor's capabilities can be utilized in educational institutions to demonstrate how to create integrated timetables and what properties need to be considered during the planning process in order to enable efficient scheduling
Community participation and collaboration in the development process is extremely important and desired to ensure that the editor gains diversity and functionality and meets the needs and challenges of different application domains. The openness of the project encourages innovation, expertise from different sectors and continuous improvements to optimize the planning processes.
Get an insight into the plan and future ROADMAP.md.
The user manual can be found here USERMANUAL.md
Standalone Demo ( Sample Netzgrafik - How to Import JSON )
Extern: nge.flatland.cloud - powered by Flatland Association
For a working local development setup, you also need to start the backend!
# clone project from https://github.com/SchweizerischeBundesbahnen/netzgrafik-editor-frontend
git clone https://github.com/SchweizerischeBundesbahnen/netzgrafik-editor-frontend.git
# switch into folder
cd netzgrafik-editor-frontend
# install all npm dependencies
npm install
# start ng server (connects to local backend, make sure it is set up and running)
npm run start
# install
apt install docker
apt install docker-compose-plugin
# build
docker compose build
# run
docker compose up
open address in browser http://localhost:4200/
Login with username user and password user
# just run the test once
npm run test
# or run the test in the browser
npm run test -- --browsers Chrome
The backend API is specified using OpenAPI (
see api-docs.json
).
Angular Services for the communication with the backend API are generated based on this
specification using openapi-generator and added
to the repo (see src/app/api/generated
).
In order to update the API Version start the local backend server. The new spec can then be downloaded at http://localhost:8080/v3/api-docs/.
The new API Service files can be generated using the following command:
npm run generate:api
Please consider the following information:
and check the open issues and pull requests.
This project is licensed under Apache 2.0.
Open-source projects thrive on collaboration and contributions from the community. All contributors are requested to read the CONTRIBUTING.md file as it outlines how to contribute to the project, including how to submit bug reports, feature requests, and pull requests.
All contributors are requested to read the CODING_STANDARDS.md file that outlines the coding standards that you should follow when contributing to the project.
To ensure that the project is a welcoming and an inclusive environment for all contributors, you, it has established a good CODE_OF_CONDUCT.md.
Many thanks to all contributors for their engagement and contribution, without which this project would not have been possible. Thank you for your current and future contribution!
This repository uses release-please for CHANGELOG generation, the creation of GitHub releases, and version bumps for your projects. See CI.md for details.