Skip to content
forked from dawescc/porpo

Easily pull telemetry data and create beautiful visualizations for analysis.

License

Notifications You must be signed in to change notification settings

drypatrick/porpo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Porpo

Table of Contents


General Information

Meet porpo, a data collection and visualization tool.




porpo is an application that utilizes the [FastF1](https://github.com/theOehrly/Fast-F1) package and is designed to easily pull telemetry data and create beautiful visualizations for analysis. It allows you to look through historic and current race data, make comparisons across specific laps, fastest laps, or full sessions. Soon, it will let you visualize the track as a map, allowing you to more clearly see where on track an event took place.

*Note*: [Python3](https://www.python.org/downloads/) (v.3.8 or greater) is required.

What does porpo mean?

'porpo' is a shortened form of the word 'porpoise'. In short, in the context of Formula 1, when a car is going "too fast", it creates so much downforce that it slams into the ground and bounces back up, only to get sucked right back down to the ground. The violent up and down movement is referred to as 'porpoising'. This same movement applies to the end point on a graph as the X value increases, and so - porpo.

Getting Started

For simplicity, I highly recommend simply downloading Visual Code Studio and installing Python plugin and the necessary packages listed on in the requirements.txt file (only the top 2 need to be downloaded, the rest come with the Python plugin).

After you do that, download the porpo source code .zip. Extract the contents wherever you want, but keep in mind that is your working directory, so something like /Documents would be better than your Desktop.

Now, open Visual Studio Code, and open a the folder you just extracted.

Visual Studio Code should build out the file hierarchy on the left side, if something else happens, take a screenshot and let me know, we will figure it out.

If you have:

  1. Downloaded Visual Studio Code
  2. Installed the Python plugin and any required packages in requirements.txt
  3. Downloaded and extracted the source files .zip
  4. Properly opened the directory

You should be good to go. All you need to do now is hit the play button in the top right of your screen and the app should start.

Note: Because the app downloads and filters large chunks of data to cache on the first use, the app actually gets faster the more you use it. Expect some wait times when first loading a Grand Prix.

Usage

Porpo allows you to individually set all the variables for evaluation.

You start by selecting the year the Grand Prix took place.

Load the list of GPs for that season. Load the list again any time you want to evaluate a different season.

Select the Grand Prix you want, and select the session from the Grand Prix.

Note: Sprint not available for every Grand Prix.

Now load the list of drivers for your Grand Prix and session. Load the list again any time you want to evaluate a different Grand Prix.

Decide if you're going to evaluate the full session, or a specific lap, or easily select the fastest lap set by your chosen driver.

Note: Check the FastF1 documentation to see the data values available for each option.

The last step is to select which variables you want displayed on the axes (X and Y). Be aware that although you can select any available data as either variable, some combinations may not perform as expected - or at all.

Click 'Confirm All' to update selected values, and 'Analyse' to see your visualization.

Exporting the Plot

The plot will show up in a new window, and automatically save to your export directory when the window is closed.

If you're unsure where your export directory is, the default relative path is:

~/Documents/F1 Data Analysis/Export/

 

To change this directory, edit the export path in the preferences window. For now, if you want a different directory, you need to do this every time you open the app or it will reset to default.

Specific Lap

You can easily pull and visualize data for a single lap of a session.

VER_SpeedL_Bah

Max Verstappen speed on Lap 54 of the 2022 Bahrain GP. We can see he was losing power throughout the lap, up until the moment he completely lost power, and went into the pitlane.

Fastest Lap

By default, you can quickly do analysis of the fastest lap set by the selected driver during a session.

VER_SpeedF_Bah

Max Verstappen speed on the fastest lap he set in 2022 Bahrain GP. We can the difference between this lap and lap 54, when he retired.

Session

You can also quickly do an analysis of a driver's performance through an entire session.

VER_SpeedF_Bah

Max Verstappen laptime over the course of the Imola GP. We can see as the track began to dry, laptimes began to fall very quickly.

About

Easily pull telemetry data and create beautiful visualizations for analysis.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%