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.
- 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.
- Python
- FastF1
- Matplotlib
- Pandas
- NumPy
- pytest
- Ruff
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.
Projekat zahteva Python i biblioteke navedene u fajlu requirements.txt.
pip install -r requirements.txtZa razvoj i pokretanje testova:
pip install -e ".[dev]"python f1_telemetry_analyzer.pyAlternativno, paket se može pokrenuti kao modul:
python -m f1_telemetry_analyzerTestovi 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.
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.
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.
- 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