Daanalytics

Plotting F1 Circuit Locations into a map on Streamlit using Folium

In my last blogpost I showed how to plot F1 Circuit Locations into a map using Folium. This was a very static way to plot the F1 Circuit Locations either for the World, Europe or France. These options were hardcoded in the notebook and showed after each other.

Next step would be to make the solution more interactive, using Streamlit. The idea is to switch between the World, a possible Continent and a possible Country. Check the video below.

Streamlit App – Plotting F1 Circuit Locations into a map on Streamlit using Folium

To make the above possible, I have taken the code from the last blogpost. As I presented at BUILD.local last month, it’s relatively straight forward to get started with Streamlit. There are a few things to take into consideration.

  1. To make things work in Streamlit (compared to the previous notebook) the necessary additional Python libraries have to be installed and imported.
To make things work in Streamlit (compared to the previous notebook) the necessary additional Python libraries have to be installed and imported.
  1. Streamlit Page settings come before all the other logic
Streamlit Page settings come before all the other logic

Compared to the previous blogpost, Streamlit should include some more interactivity. Therefore the logic has to be changed to be able to select and filter different values.

I used a s Streamlit-statement; ‘st.sidebar’ to put some controls in the Sidebar of the Streamlit application.

  1. Adding filter(s) – Radio button to select between the World, a possible Continent and a possible Country
Adding filter(s) - Radio button to select between the World, a possible Continent and a possible Country
  1. Load data based on the selected ‘Map Type’
Load data based on the selected 'Map Type'
  1. Create Datasets, based on the selected ‘Map Type’; One query for the ‘World’, selections based on this query for ‘Continent’ and ‘Country’.
  1. Show a different ‘Select Box’ based on the selected ‘Map Type’
  1. Filter Data based on the selection per ‘Map Type’
Filter Data based on the selection per 'Map Type'
  1. Create Data Set for the Folium map not be drawed based on the selection per ‘Map Type’
  1. Draw the Folium Map based on the selection per ‘Map Type’

Note: Zoom the Folium Map based on the ‘Latitude / Longitude’-edges (Left Down and Top Right) of the selected circuits.

Zoom the Folium Map based on the 'Latitude / Longitude'-edges (Left Down and Top Right) of the selected circuits.
  1. Finally putting everything together and show the final Streamlit application with the Folium map, showing the circuits in the selected area.
Finally putting everything together and show the final Streamlit application with the Folium map, showing the circuits in the selected area.

Closing Statements

The previous example provided the steps to plot F1 Circuit Locations into a map using Folium; a Python library used for visualizing Geospatial Data. In this example I added some interactivity with Streamlit. Please check it out and let me know what you think. The code is on Github.

I also tried to set things up in Streamlit Cloud. Unfortunately at time of writing I have ran into issues, which I am unable to solve, yet. I am currently trying via some experts on the forum.

Till next time.

Daan Bakboord – DaAnalytics

Bekijk ook:

Why didn't we see this coming?

Why didn’t we see this coming?

Early this month I attended the two days International Master Class in Strategic Intelligence executed by Rodenberg Tillman & Associates. If you’re really determined to move beyond simply gathering data and truly understand its strategic impact, this Master Class is designed for you. The Master Class is built around the Six Building Blocks™, ensuring comprehensive coverage of the critical aspects of Strategic Management and Intelligence. It’s perfect for business professionals who aim to excel by integrating Strategic Intelligence into their everyday practices, gaining the insights necessary to not only anticipate, but shape the future.

Lees verder »
Amsterdam User Group Meeting October 2024

Snowflake Dutch User Group – October 2024

Last night I had the privilege to organize a Snowflake ❄️ User Group in Snowflake’s Amsterdam Office.

Johan van der Kooij shared his experiences regarding optimizing Snowflake from a cost & performance perspective. He shared practical hints, as well as example queries, that you can use to optimize your Snowflake environment.

Lees verder »
Snowflake Data Cloud Summit - Wrap Up

Snowflake Snowflake Data Cloud Summit — Wrap Up

Snowflake Data Cloud Summit proved that after all this years the core idea remains the same and is still strong. Technology should serve and Snowflake makes things simple. One Single Unified Platform, one product and one engine. Ease of use and Govenance. Maximum efficiency and maximum simplicity.

Bring the processing of data to the data instead of the other way around. Snowflake as a Platform where you build and share your Data, Apps and AI Products. Your data never has to leave the Platform and Snowflake takes care of this Platform.

Lees verder »