COVID-19: daily heatmap

Thanks to the awesome work of Daniel Probst, collecting per canton data and publishing it on https://github.com/daenuprobst/covid19-cases-switzerland, I was able to pull this quick heatmap together, showing latest (ie daily) confirmed cases of COVID-19 in Switzerland, updated constantly (whenever source data changes).

note: unreported cantonal data is backfilled from the previous day

(previous post on this topic: https://www.musings.ch/2020/03/13/covid-19-heatmap-schweiz/)

And since heatmaps over broad areas are not necessarily useful, here’s a map of cantons affected.

COVID-19: Heatmap Schweiz

Since I was playing with Google Maps API heatmaps recently, I thought I’d put together a quick heatmap showing confirmed COVID-19 cases in Switzerland.

COVID-19 cases per 100k inhabitants, in Switzerland, as of 2020-03-19.

Updated 19.03.2020 using https://www.bag.admin.ch/dam/bag/de/dokumente/mt/k-und-i/aktuelle-ausbrueche-pandemien/2019-nCoV/covid-19-lagebericht.pdf.download.pdf/COVID-19_Epidemiologische_Lage_Schweiz.pdf – now based on incidence of cases per 100k inhabitants.

Day to day developments:

2020-03-14:

COVID-19 heatmap Switzerland 2020-03-14

Updated 14.03.2020 using https://www.bag.admin.ch/dam/bag/de/dokumente/mt/k-und-i/aktuelle-ausbrueche-pandemien/2019-nCoV/covid-19-lagebericht.pdf.download.pdf/COVID-19_Epidemiologische_Lage_Schweiz.pdf

2020-03-13:

COVID-19 heatmap Switzerland 2020-03-13

Data source: https://www.bag.admin.ch/bag/de/home/krankheiten/ausbrueche-epidemien-pandemien/aktuelle-ausbrueche-epidemien/novel-cov/situation-schweiz-und-international.html#-1934206868

garmin tracks heatmap

If you want to create your own heatmap – but lack a webserver – I’ve updated the script shared earlier to allow generating content to run on jsfiddle.

a screenshot of jsfiddle, with a heatmap of your garmin track locations

How to plot a heatmap of your Garmin tracks on Google Maps JS API:

#1 request all your data from Garmin: https://www.garmin.com/en-US/account/datamanagement/

#2 download https://github.com/musings-hub/garmin-fit-to-heatmap-js

#3 run it: python3 fit-to-js-threaded.py ./Garmin/fit/

This will generate a file named “heatmap-datapoints.js“.

#4 open heatmap-datapoints.js and copy the contents into jsfiddle (see screenshot above).

#5 update the javascript to include your own API key for Google Maps API (see https://developers.google.com/maps/documentation/javascript/get-api-key for how to get such a key if you don’t have one already).

#6 click “Run” in jsfiddle.

#7 admire the heatmap of your location based activities 😊

all garmin tracks on a map

garmin tracks plotted on a map of the world
everywhere in this world I’ve run, biked, hiked, skied, swum

Today I had some fun exporting all my recorded Garmin tracks and plotting them as a heatmap on Google Maps.

After having wanted to create a map like this for ages, I finally found some time to hack together the toolchain needed. If you want to do the same, the easiest way I’ve found was:

#1 Ask Garmin for an export of all your data: https://www.garmin.com/en-US/account/datamanagement/

#2 Use the fabulous https://github.com/polyvertex/fitdecode to extract the lat/longs of your tracks.

#3 Use the Google Maps heatmap API to plot the data: https://developers.google.com/maps/documentation/javascript/reference/visualization

Alternatively, drop me a line, and I’d be happy to help 🙂

You might wonder how to plot all your tracks on a map – which is what I initially started with. However, with 346 recorded activities, using kml to plot them (through various platforms) I found it difficult to navigate the result. – If you’d like to get your fit files converted to kml to play around with them, also drop me a note, I have a converter for that too.

A close up view (without adjusting radius, maxIntensity,.. so not optimal):

Zooming in, this is how the heatmap fits to specific routes beautifully.
close up view of the heatmap of a specific area

Update: I’ve uploaded the script to generate a javascript include on github: https://github.com/musings-hub/garmin-fit-to-heatmap-js 🙂

Update: I’ve updated the script to generate content to run on jsfiddle: https://www.musings.ch/2020/02/26/garmin-tracks-heatmap/