Simulation of Kraków's Tram Lines
krakow-tram-lines to projekt symulujący krakowską sieć tramwajową, dane zebrane zostały za pomocą następujących stron:
Symulacja została stworzona w środowisku Godot 4, za pomocą zebranych wcześniej danych. W symulacji możemy obserwować połączenia między tramwajami, jak i tramwaje przemieszczające się po nich. Symulacja posiada kilka dodatkowych funkcjonalności:
- Możliwość nawigowania po mapie, przybliżania i oddalania.
- Możliwość podejrzenia danych tramwaju o konkretnym ID.
- Możliwość zatrzymania symulacji, przejścia do następnego kroku.
- Możliwość podglądnięcia lub schowania nazw przystanków.
- Możliwość wyświetlenia specyficznej linii tramwajowej.
Podstawą naszego backendu jest python (3.12), w związku z czym stworzyliśmy paczkę ktl
. Komenty muszą być użyte w głównym working directory projektu.
- Instalacja dependency pythona.
pip install -r .\requirements.txt # Wymagane paczki wymagane do zbudowania i sprawdzenia projektu
pip install -r .\requirements_dev.txt # Wymagane paczki do testowania paczki
- Instalacja paczki projektu
pip install -e .
- (Opcjonalne) Sprawdzenie Flake8:
flake8 .
- (Opcjonalne) Sparwdzenie pylint:
pylint src
- (Opcjonalne) Sprawdzenie PyTest:
pytest .
- (Opcjonalne) Sprawdzenie całości przy pomocy tox:
tox .
- (Opcjonalne) Budowa dokumentacji:
sphinx-apidoc -o docs/source src/ktl
sphinx-build -M html docs/source/ docs/build/
Aby zbudować wszyskie dane wejściowe modelu należy:
- Odpalić następujący program po zainstalowaniu paczki:
python .\src\ktl\acquisition\__main__.py -c ./res/config.json -s ./data/generated -f True
gdzie:
- [-c] to config do API i webscrapperów.
- [-s] to folder gdzie zapisać dane.
- [-f] to aby nadpisać ten folder jeżeli trzeba.
- [-o] to w jakim formacie zapisać - wymagany jest mimium pickle, a excel jest do wglądu w schemat danych.
Wszyskie dane są już umieszczone w repozytorium, także w przypadku niepowodzenia w instalacji jes możliwość odtworzenia jak działał program.
Program następnie zbierze i stworzy odpowiednie dane w poodanym folderze.
Stworzy dane dotyczące konkretnych pojezdów oraz ich rozkładów.
python ./src/ktl/aggregation/merge/tram_data_mergere.py
Stworzy informacje dotyczące obróbki pozycji przystanków.
python ./src/ktl/aggregation/create_json_lines.py
Aby wygenerować własny plik zawierający informacje o pasażerach symulacji linii tramwajowych należy
- Uruchomić następujący program
python .\src\ktl\model\simulate_people.py
Wygenerowany zostanie plik people.json na podstawie ustalonych parametrów w folderze ./data/generated/json
- Można zwizualizować funkcję generacji programem
python .\src\ktl\model\probability.py
Projekt symulacji znajduje się w folderze src/ktl/visualisation/ktl-godot. Odpalony w środowisku Godot 4 można podejrzeć projekt od podszewki. W samym projekcie, w folderze Data znajdują się pliki json, będące kopią tych z poprzedniego kroku. Można je podmienić, jeśli ktoś chce wykorzystać inne dane. Sama aplikacja znajduje się w GITHUB REALISES. Należy pobrać całą zawartość tego folderu i odpalić element krakow-tram-line.exe.
- Robert Barcik, [email protected]
- Dominik Breksa, [email protected]
- Miłosz Góralczyk, [email protected]