A couple of weekends ago, I spent a chunk of time hacking various bits and pieces around the various live data feeds I could find supporting the WRC Rally of Sardinia. There’s still a bit to do to tidy up what I learned to make it properly useful, but I learned a lot and just need to find the time now to write bits of it up.
One of the things I doodled was a take on a couple of the official live timing screens, specifically one that shows stage results next to overall results at the end of the stage:
and one that shows stage splits:
My table combines these, and rebases the times relative to a particular driver of interest. The layout isn’t ideal, but I was evolving the chart stage on stage, and this is about as far as I got:
The table shows the time deltas with respect to running/stage time at each split on the left, and within each split on the right. Road position, stage position and overall position at the end of the stage are all captured. (The alignment of data in the SS19 Overall column really should be center aligned to give space to left and right and distinguish the grouped split times from the overall stage delta…)
The table cells are coloured using a pandas table styler. One of the issues with the table is the numbers don’t necessarily add up – I was using the Python
round function which rounds to the nearest, rather than lowest, tenth, which I need to correct…
Since the rally, I’ve poked around with styles a bit more. One possible modification is to colour cells directly, either using a diverging palette, for example to try to spot patterns in road order, or to embed a bar chart in each cell. Also note the highlighted cell showing the overall rally leader at the end of the stage.
One of the problems with the bar chart is that the range is set automatically for each column; in this case, it would be nice to be able to use the same range for the bars in each column so we could more easily identify the splits within which most time was lost. Another issue is the display of the
nan strings: it would be handy if the styler could replace these with an empty string.
As well as tinkering with the table, I also spent a chunk of time thinking about stage maps. Looking around for precedents, I found a couples of really nice examples these evening from a company called GeoRacing. The first is an animated route (the full glory of it can be seen in their Tour de Corse 2015 route preview:
The Leaflet Polyline snake animation plugin looks like it might provide a way of achieving that sort of effect, at least on a 2D map, given a GPS/geojson route map?
The second graphic was a really neat virtual timing “race view” that ghosted cars along the route to show their relative positions. Also note the rebased time graphic showing deltas between the highlighted driver and the other drivers:
You get a much better idea of how exciting – and good for storytelling – this “race view” is in the full GeoRacing Tour de Corse 2015 showreel.
Maybe I could use the Leaflet.MovingMarker or more recently updated leaflet-moving-marker plugin to animate separate markers to achieve a similar effect to the virtual cars in that example?
This could also be handy: animating GPX tracks with this trackanimation python package.
Folium has a timestamped geo plugin (see the plugins example notebook)…
Other forms of racing also provide a showcase for geotemporal data visualisation. For example, Crossbox Laptiming provide an app for motocross riders that also makes use of a geochronometric (?) display to compare lap times and lines:
By the by, it looks as if one of the official technology providers for WRC for 2018-2022 are an Australian company called Status Awareness Systems and their RallySafe product. The original FIA tender is still up on the FIA tendering website: Timing, Tracking and Connectivity Solution for FIA WRC – Call for expressions of interest and selection process [PDF].
It was quite interesting to see how the tender split out core/required and optional services:
(It’s actually quite fascinating looking around the web for other providers of rally monitoring systems. For example, Nam System, a Czech company that provide asset and fleet monitoring services, also use their ONI system for rally management. It’s not just F1 that can be used to drive innovation and showcase technologies in the context of motorsport…
PS see also this round up from a year or two ago on my once again lapsed Digital Worlds blog: Augmented TV Sports Coverage & Live TV Graphics.
PPS Also related, Visualising WRC Rally Stages With Relive?.