Skip to content

About

Program koji analizira trke od 2022 do 2024, koristeci razlicite pakete(numpy, fastf1)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

F1 Telemetry Analyzer

F1 Telemetry Analyzer je Python aplikacija koja koristi FastF1 biblioteku za analizu stvarnih Formula 1 podataka. Program radi u komandnoj liniji i prikazuje telemetriju najbržeg kruga izabranog vozača.

Funkcionalnosti

  • izbor Formula 1 sezone
  • izbor trke iz izabrane sezone
  • izbor sesije: Race, Qualifying, FP1, FP2, FP3, Sprint i Sprint Qualifying
  • izbor vozača
  • pronalaženje najbržeg kruga vozača
  • prikaz osnovnih podataka o krugu
  • prikaz statistike telemetrije
  • grafikon brzine
  • grafikon gasa i kočenja
  • grafikon brzine i obrtaja
  • mapa staze obojena po brzini
  • opciono poređenje brzine dva vozača
  • opciono čuvanje grafikona u PNG formatu

Nakon analize korisnik bira grafikon, a posle svakog može da prikaže sledeći bez ponovnog učitavanja podataka. Za svaki grafikon može da izabere da li želi da ga sačuva u folder grafikoni.

Korišćene tehnologije

  • Python
  • FastF1
  • Matplotlib
  • Pandas
  • NumPy
  • pytest
  • Ruff

Struktura projekta

f1_telemetry_analyzer/
├── analysis.py
├── app.py
├── charts.py
├── config.py
├── data.py
└── ui.py
tests/
├── test_analysis.py
└── test_config.py

Glavna logika je podeljena po odgovornostima: učitavanje podataka, analiza, prikaz u terminalu i generisanje grafikona. Fajl f1_telemetry_analyzer.py ostaje kompatibilna ulazna tačka za pokretanje aplikacije.

Instalacija

Projekat zahteva Python i biblioteke navedene u fajlu requirements.txt.

pip install -r requirements.txt

Za razvoj i pokretanje testova:

pip install -e ".[dev]"

Pokretanje

python f1_telemetry_analyzer.py

Alternativno, paket se može pokrenuti kao modul:

python -m f1_telemetry_analyzer

Provere kvaliteta

Testovi i lintovanje mogu se pokrenuti komandama:

python -m pytest
ruff check .

Iste provere se automatski pokreću kroz GitHub Actions nakon svakog push-a ili pull requesta.

Primer korišćenja

Tokom rada programa korisnik unosi:

Sezona: 2023
Broj trke: 6
Tip sesije: R
Vozač: VER

Program zatim pronalazi najbrži krug izabranog vozača, prikazuje njegove osnovne podatke (vreme kruga u formatu 1:29.708) i statistiku, a zatim generiše grafikone telemetrije. Pri poređenju, drugi vozač mora biti različit od prvog, a za prvog vozača se koriste već učitani podaci.

Napomena

Prvo učitavanje podataka može potrajati jer FastF1 preuzima podatke sa interneta.

Podaci se čuvaju u cache folderu unutar projekta, bez obzira iz kog foldera se program pokreće. Taj folder može biti veliki i automatski se kreira pri pokretanju programa.

Ako korisnik izabere čuvanje grafikona, PNG fajlovi se čuvaju u folderu grafikoni unutar projekta.

Planirano dalje

  • poređenje vremena po sektorima, a ne samo ukupnog vremena kruga
  • web interfejs u Streamlit-u umesto komandne linije
  • analiza strategije guma tokom cele trke
  • poređenje više od dva vozača istovremeno
Screenshot 2026-08-17 123141 Screenshot 2026-08-17 123126 Screenshot 2026-08-17 123106 Screenshot 2026-08-17 114829

About

Program koji analizira trke od 2022 do 2024, koristeci razlicite pakete(numpy, fastf1)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages