Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Traffic Simulation App

Aplikacja desktopowa do analizy i wizualizacji danych o ruchu drogowym dla sieci dróg szybkiego ruchu w Polsce. Projekt łaczy PyQGIS (operacje GIS), PyQt (interfejs), oraz pandas (analiza danych tabelarycznych) i jest rozwijany jako część pracy inżynierskiej.

Widok aplikacji

Cel projektu

Głównym celem aplikacji jest wsparcie analizy przestrzennej i czasowej danych ruchu drogowego, w szczegolnosci:

  • ładowanie warstw GIS i danych liczbowych (np. SDRR/SDRD),
  • filtrowanie i eksploracja danych dla województw,
  • wizualizacja natężenia ruchu na mapie,
  • przygotowanie danych do dalszego modelowania sieci drogowej,
  • testowanie i porównywanie wyników dla różnych okresów i zbiorów danych.

Aktualny zakres funkcjonalny

W obecnej wersji aplikacja umożliwia m.in.:

  • uruchomienie okna aplikacji mapowej opartej o PyQGIS,
  • ładowanie projektu i warstw mapowych,
  • włączanie/wyłączanie widoczności warstw,
  • podgląd tabel atrybutów warstw,
  • filtrowanie danych po województwie,
  • kolorowanie warstw i nakładanie gradientu po atrybucie (np. SDRR),
  • eksport danych warstw do pandas DataFrame,
  • obliczenia zwiazane z najblizszymi obiektami i odniesieniami przestrzennymi,
  • ładowanie/odczyt modeli pomocniczych (.pkl) dla analiz sieci,
  • przygotowanie tabel dziennych i przekrójow w województwach.

Struktura projektu

Najważniejsze katalogi i pliki:

  • map_test.py - główny punkt uruchomienia aplikacji.
  • Functions/ - logika aplikacji podzielona na moduły:
    • Layout/ - inicjalizacja UI, menubar, logika interfejsu,
    • Model/ - funkcje operujace na warstwach i danych mapowych,
    • Simulation/ - komponenty symulacji ruchu.
  • Data/ - dane wejsciowe CSV oraz gotowe modele (.pkl).
  • Other/ - zasoby pomocnicze i skrypty narzędziowe.
  • requirements.txt - zależnosci instalowane przez pip.

Wymagania

Minimalnie:

  • Python 3.10+ (zalecane),
  • zainstalowany QGIS Desktop (moduł qgis.*),
  • pakiety pip:
    • pandas>=2.0.0
    • PyQt5>=5.15.0

Uwaga: qgis.* nie jest standardowo instalowany przez pip. Aplikacje należy uruchamiać w środowisku Pythona dostarczonym przez QGIS (lub poprawnie skonfigurowanym środowisku z PyQGIS).

Istnieje możliwość zrobienia wirtualnego środowiska przy użyciu conda i wymaga to dodatkowej konfiguracji (np. conda install -c conda-forge qgis), ale jest to bardziej zaawansowane i może wymagać dostosowania ścieżek.

Szybki start

  1. Zainstaluj QGIS Desktop.
  2. Utworz i aktywuj srodowisko Python (opcjonalnie), a nastepnie zainstaluj zaleznosci:
pip install -r requirements.txt
  1. Uruchom aplikacje z interpretera, ktory ma dostep do modulu qgis:
python map_test.py

Jesli pojawi sie blad importu qgis, uruchom skrypt z konsoli/shella QGIS lub skonfiguruj zmienne srodowiskowe PyQGIS (PATH/PYTHONPATH) zgodnie z instalacja QGIS na Twoim systemie.

Dane

Projekt korzysta z przygotowanych zbiorów danych ruchowych i geometrii, m.in. CSV i modeli serializowanych (.pkl) przechowywanych w Data/. Nazwy plików sugerują obsługę wielu przekrojów czasowych (np. 2020, 2022) oraz wariantów regionalnych.

Ograniczenia i status

  • Projekt ma charakter badawczo-rozwojowy i jest nadal rozwijany.
  • Część funkcji i danych ma charakter eksperymentalny.
  • Brakuje jeszcze pełnej automatyzacji testów i kompletnej dokumentacji API modulow.

Kierunki rozwoju

  • ujednolicenie pipeline'u przygotowania danych,
  • dodanie testów jednostkowych i integracyjnych,
  • lepsze raportowanie wyników symulacji,
  • dopracowanie UX interfejsu i dokumentacji użytkownika,
  • standaryzacja konfiguracji środowiska PyQGIS na Windows.

Licencja

Informacje o licencji znajduja sie w pliku LICENSE.

About

Car traffic simulation for the fast road network in Poland

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages