<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>switzerland &#8211; www.musings.ch</title>
	<atom:link href="https://www.musings.ch/category/switzerland/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.musings.ch</link>
	<description></description>
	<lastBuildDate>Fri, 22 Oct 2021 07:04:14 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.musings.ch/wp-content/uploads/2020/02/cropped-56884-200-2-32x32.png</url>
	<title>switzerland &#8211; www.musings.ch</title>
	<link>https://www.musings.ch</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Get COVID, Get Certificate</title>
		<link>https://www.musings.ch/2021/10/22/get-covid-get-certificate/</link>
		
		<dc:creator><![CDATA[random individual]]></dc:creator>
		<pubDate>Fri, 22 Oct 2021 07:04:13 +0000</pubDate>
				<category><![CDATA[covid-19]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[switzerland]]></category>
		<guid isPermaLink="false">https://www.musings.ch/?p=959</guid>

					<description><![CDATA[unpopular opinion: Allow people who don&#8217;t want to get vaccinated to get inoculated with COVID-19. (Obviously don&#8217;t force anyone, but offer the option.)]]></description>
										<content:encoded><![CDATA[
<p>unpopular opinion: Allow people who don&#8217;t want to get vaccinated to get inoculated with COVID-19. </p>



<p>(Obviously don&#8217;t force anyone, but offer the option.)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bastelbogen: Zytglogge Bern</title>
		<link>https://www.musings.ch/2021/02/16/bastelbogen-zytglogge-bern/</link>
		
		<dc:creator><![CDATA[random individual]]></dc:creator>
		<pubDate>Tue, 16 Feb 2021 15:54:28 +0000</pubDate>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[love]]></category>
		<category><![CDATA[switzerland]]></category>
		<category><![CDATA[bastelbogen]]></category>
		<category><![CDATA[bern]]></category>
		<category><![CDATA[onfire]]></category>
		<category><![CDATA[zytglogge]]></category>
		<guid isPermaLink="false">https://www.musings.ch/?p=721</guid>

					<description><![CDATA[Ich hatte einen Bastelbogen im Adventskalender \o/]]></description>
										<content:encoded><![CDATA[
<p>Ich hatte einen Bastelbogen im Adventskalender \o/</p>



<figure class="wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_145940012.jpg"><img fetchpriority="high" decoding="async" width="768" height="1024" src="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_145940012.jpg" alt="" data-id="727" data-full-url="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_145940012.jpg" data-link="https://www.musings.ch/?attachment_id=727" class="wp-image-727" srcset="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_145940012.jpg 768w, https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_145940012-225x300.jpg 225w" sizes="(max-width: 768px) 100vw, 768px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_154659715.jpg"><img decoding="async" width="768" height="1024" src="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_154659715.jpg" alt="" data-id="729" data-full-url="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_154659715.jpg" data-link="https://www.musings.ch/?attachment_id=729" class="wp-image-729" srcset="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_154659715.jpg 768w, https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_154659715-225x300.jpg 225w" sizes="(max-width: 768px) 100vw, 768px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_164209987.jpg"><img decoding="async" width="768" height="1024" src="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_164209987.jpg" alt="" data-id="731" data-full-url="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_164209987.jpg" data-link="https://www.musings.ch/?attachment_id=731" class="wp-image-731" srcset="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_164209987.jpg 768w, https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210209_164209987-225x300.jpg 225w" sizes="(max-width: 768px) 100vw, 768px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_194018297.jpg"><img loading="lazy" decoding="async" width="768" height="1024" src="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_194018297.jpg" alt="" data-id="733" data-full-url="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_194018297.jpg" data-link="https://www.musings.ch/?attachment_id=733" class="wp-image-733" srcset="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_194018297.jpg 768w, https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_194018297-225x300.jpg 225w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_203809461.jpg"><img loading="lazy" decoding="async" width="768" height="1024" src="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_203809461.jpg" alt="" data-id="735" data-full-url="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_203809461.jpg" data-link="https://www.musings.ch/?attachment_id=735" class="wp-image-735" srcset="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_203809461.jpg 768w, https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_203809461-225x300.jpg 225w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_211531019.jpg"><img loading="lazy" decoding="async" width="523" height="1024" src="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_211531019.jpg" alt="" data-id="725" data-full-url="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_211531019.jpg" data-link="https://www.musings.ch/?attachment_id=725" class="wp-image-725" srcset="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_211531019.jpg 523w, https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210212_211531019-153x300.jpg 153w" sizes="auto, (max-width: 523px) 100vw, 523px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184052475.MP_.jpg"><img loading="lazy" decoding="async" width="768" height="1024" src="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184052475.MP_.jpg" alt="" data-id="723" data-full-url="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184052475.MP_.jpg" data-link="https://www.musings.ch/?attachment_id=723" class="wp-image-723" srcset="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184052475.MP_.jpg 768w, https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184052475.MP_-225x300.jpg 225w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184123223.MP_.jpg"><img loading="lazy" decoding="async" width="768" height="1024" src="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184123223.MP_.jpg" alt="" data-id="737" data-full-url="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184123223.MP_.jpg" data-link="https://www.musings.ch/?attachment_id=737" class="wp-image-737" srcset="https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184123223.MP_.jpg 768w, https://www.musings.ch/wp-content/uploads/2021/02/PXL_20210213_184123223.MP_-225x300.jpg 225w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></figure></li></ul></figure>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>nice try Dietikon</title>
		<link>https://www.musings.ch/2021/01/14/nice-try-dietikon/</link>
		
		<dc:creator><![CDATA[random individual]]></dc:creator>
		<pubDate>Thu, 14 Jan 2021 18:01:50 +0000</pubDate>
				<category><![CDATA[switzerland]]></category>
		<category><![CDATA[dietikon]]></category>
		<category><![CDATA[trap]]></category>
		<guid isPermaLink="false">https://www.musings.ch/?p=705</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://www.musings.ch/wp-content/uploads/2021/01/PXL_20210114_113623942-scaled-e1610647157141-1024x768.jpg" alt="" class="wp-image-703" srcset="https://www.musings.ch/wp-content/uploads/2021/01/PXL_20210114_113623942-scaled-e1610647157141-1024x768.jpg 1024w, https://www.musings.ch/wp-content/uploads/2021/01/PXL_20210114_113623942-scaled-e1610647157141-300x225.jpg 300w, https://www.musings.ch/wp-content/uploads/2021/01/PXL_20210114_113623942-scaled-e1610647157141-768x576.jpg 768w, https://www.musings.ch/wp-content/uploads/2021/01/PXL_20210114_113623942-scaled-e1610647157141-1536x1152.jpg 1536w, https://www.musings.ch/wp-content/uploads/2021/01/PXL_20210114_113623942-scaled-e1610647157141-2048x1536.jpg 2048w, https://www.musings.ch/wp-content/uploads/2021/01/PXL_20210114_113623942-scaled-e1610647157141-1600x1200.jpg 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>#itsatrap</figcaption></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bundesrat Berset vs The Checklist Manifesto</title>
		<link>https://www.musings.ch/2020/10/28/bundesrat-berset-vs-the-checklist-manifesto/</link>
		
		<dc:creator><![CDATA[random individual]]></dc:creator>
		<pubDate>Wed, 28 Oct 2020 16:52:02 +0000</pubDate>
				<category><![CDATA[covid-19]]></category>
		<category><![CDATA[ouch]]></category>
		<category><![CDATA[switzerland]]></category>
		<category><![CDATA[berset]]></category>
		<category><![CDATA[crisisresponse]]></category>
		<category><![CDATA[winteriscoming]]></category>
		<guid isPermaLink="false">https://www.musings.ch/?p=655</guid>

					<description><![CDATA[Pretty interesting take on automatisms in crisis situations: Coming from a long history of crisis response, I have strong opinions on clearly pre-defined, optimally automated, countermeasures as a critical pillar to stop the bleeding fast. In addition, it&#8217;d be helpful for the population to understand which aspects kick in at any given stage, to weigh&#8230; <a class="more-link" href="https://www.musings.ch/2020/10/28/bundesrat-berset-vs-the-checklist-manifesto/">Continue reading <span class="screen-reader-text">Bundesrat Berset vs The Checklist Manifesto</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Pretty interesting take on automatisms in crisis situations:</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="28.10.2020 - Medienkonferenz des BR / Conférence de presse du CF / Conferenza stampa del CF" width="750" height="422" src="https://www.youtube.com/embed/h6nyE2Kfl64?start=1845&#038;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<p>Coming from a long history of crisis response, I have strong opinions on clearly pre-defined, optimally automated, countermeasures as a critical pillar to stop the bleeding fast.</p>



<p>In addition, it&#8217;d be helpful for the population to understand which aspects kick in at any given stage, to weigh their decisions.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>COVID-19: Switzerland Trend Graph</title>
		<link>https://www.musings.ch/2020/03/25/covid-19-switzerland-day-to-day-trend-graph/</link>
		
		<dc:creator><![CDATA[random individual]]></dc:creator>
		<pubDate>Wed, 25 Mar 2020 18:50:41 +0000</pubDate>
				<category><![CDATA[covid-19]]></category>
		<category><![CDATA[switzerland]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[coronavirus]]></category>
		<guid isPermaLink="false">https://www.musings.ch/?p=350</guid>

					<description><![CDATA[Here&#8217;s a graph tracking day/day COVID-19 cases across Switzerland. Updated realtime, as new data becomes available. data source: https://github.com/daenuprobst/covid19-cases-switzerland/]]></description>
										<content:encoded><![CDATA[
<p>Here&#8217;s a graph tracking day/day COVID-19 cases across Switzerland. Updated realtime, as new data becomes available.</p>



<div id="linechart" style="height: 500px;"></div>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script>
jQuery(document).ready(function() {

  function getData() {
    return [
      jQuery.ajax({
          type: "GET",
          url: "https://api.github.com/repos/daenuprobst/covid19-cases-switzerland/contents/covid19_cases_switzerland.csv",
          headers: {'Accept': 'application/vnd.github.v3.raw'},
          dataType: "text",
          success: function(data) {processData(data);}
       }),
      jQuery.ajax({
          type: "GET",
          url: "https://api.github.com/repos/daenuprobst/covid19-cases-switzerland/contents/covid19_cases_switzerland_openzh.csv",
          headers: {'Accept': 'application/vnd.github.v3.raw'},
          dataType: "text",
          success: function(data) {processData(data);}
       }),
    ];
  }
  getData();
});

var dta = [['Day', 'Count']];
var map = {};
function processData(csvData) {
  var csvDataLines = csvData.split(/\r\n|\n/).filter(item => item);
  var sep = (csvDataLines.indexOf(';') > 0) ? ';' : ',';
  for (var j = 1; j < csvDataLines.length; j++) {
    row = csvDataLines[j].split(',');
    // merge both datasources
    map[row[0]] = parseInt(row[27]);
  }
  // meh...
  var dta_remap = [];
  for(var key in map) {
    dta_remap[dta_remap.length] = [key, map[key]];
  }

  google.charts.load('current', {'packages':['corechart']});
  google.charts.setOnLoadCallback(drawChart);

  function drawChart() {
    var data = google.visualization.arrayToDataTable(dta.concat(dta_remap.sort()));

    var options = {
      title: 'COVID-19 cases per day',
      legend: { position: 'bottom' }
    };

    var chart = new google.visualization.LineChart(document.getElementById('linechart'));

    chart.draw(data, options);
  }
}
</script>



<p>data source: <a href="https://github.com/daenuprobst/covid19-cases-switzerland/">https://github.com/daenuprobst/covid19-cases-switzerland/</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>COVID-19: daily heatmap</title>
		<link>https://www.musings.ch/2020/03/19/covid-19-daily-heatmap/</link>
		
		<dc:creator><![CDATA[random individual]]></dc:creator>
		<pubDate>Thu, 19 Mar 2020 18:58:43 +0000</pubDate>
				<category><![CDATA[cartography]]></category>
		<category><![CDATA[covid-19]]></category>
		<category><![CDATA[switzerland]]></category>
		<category><![CDATA[coronavirus]]></category>
		<category><![CDATA[heatmap]]></category>
		<category><![CDATA[map]]></category>
		<guid isPermaLink="false">https://www.musings.ch/?p=306</guid>

					<description><![CDATA[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&#8230; <a class="more-link" href="https://www.musings.ch/2020/03/19/covid-19-daily-heatmap/">Continue reading <span class="screen-reader-text">COVID-19: daily heatmap</span></a>]]></description>
										<content:encoded><![CDATA[
<div id="map" style="height: 500px;"></div>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAxkqrVUwcSHsEXM301sgGGc6XH_ju6l9o&amp;libraries=visualization"></script>

<script>
var cantons = {
  AG: {location: new google.maps.LatLng(47.409703, 8.154694), weight: 0, name: 'Aargau'},
  AI: {location: new google.maps.LatLng(47.317264, 9.416754), weight: 0, name: 'Appenzell Innerrhoden'},
  AR: {location: new google.maps.LatLng(47.366352, 9.36791), weight: 0, name: 'Appenzell Ausserrhoden'},
  BE: {location: new google.maps.LatLng(46.823608, 7.636667), weight: 0, name: 'Bern'},
  BL: {location: new google.maps.LatLng(47.45176,  7.702414), weight: 0, name: 'Basel-Landschaft'},
  BS: {location: new google.maps.LatLng(47.564869, 7.615259), weight: 0, name: 'Basel-Stadt'},
  FR: {location: new google.maps.LatLng(46.718391, 7.074008), weight: 0, name: 'Fribourg'},
  GE: {location: new google.maps.LatLng(46.220528, 6.132935), weight: 0, name: 'Geneva'},
  GL: {location: new google.maps.LatLng(46.981042, 9.065751), weight: 0, name: 'Glarus'},
  GR: {location: new google.maps.LatLng(46.656248, 9.628198), weight: 0, name: 'Graubünden'},
  JU: {location: new google.maps.LatLng(47.350744, 7.156107), weight: 0, name: 'Jura'},
  LU: {location: new google.maps.LatLng(47.067763, 8.1102), weight: 0, name: 'Luzern'},
  NE: {location: new google.maps.LatLng(46.995534, 6.780126), weight: 0, name: 'Neuchatel'},
  NW: {location: new google.maps.LatLng(46.926755, 8.405302), weight: 0, name: 'Nidwalden'},
  OW: {location: new google.maps.LatLng(46.854527, 8.244317), weight: 0, name: 'Obwalden'},
  SG: {location: new google.maps.LatLng(47.2332, 9.274744), weight: 0, name: 'Sankt Gallen'},
  SH: {location: new google.maps.LatLng(47.71357, 8.59167), weight: 0, name: 'Schaffhausen'},
  SO: {location: new google.maps.LatLng(47.304135, 7.639388), weight: 0, name: 'Solothurn'},
  SZ: {location: new google.maps.LatLng(47.061787, 8.756585), weight: 0, name: 'Schwyz'},
  TG: {location: new google.maps.LatLng(47.568715, 9.091957), weight: 0, name: 'Thurgau'},
  TI: {location: new google.maps.LatLng(46.295617, 8.808924), weight: 0, name: 'Ticino'},
  UR: {location: new google.maps.LatLng(46.771849, 8.628586), weight: 0, name: 'Uri'},
  VD: {location: new google.maps.LatLng(46.570091, 6.657809), weight: 0, name: 'Vaud'},
  VS: {location: new google.maps.LatLng(46.209567, 7.604659), weight: 0, name: 'Valais'},
  ZG: {location: new google.maps.LatLng(47.157296, 8.537294), weight: 0, name: 'Zug'},
  ZH: {location: new google.maps.LatLng(47.41275, 8.65508), weight: 0, name: 'Zurich'},
};

jQuery(document).ready(function() {
  function getData() {
    return [
      jQuery.ajax({
          type: "GET",
          url: "https://api.github.com/repos/daenuprobst/covid19-cases-switzerland/contents/covid19_cases_switzerland.csv",
          headers: {'Accept': 'application/vnd.github.v3.raw'},
          dataType: "text",
          success: function(data) {processData(data);}
       }),
      jQuery.ajax({
          type: "GET",
          url: "https://api.github.com/repos/daenuprobst/covid19-cases-switzerland/contents/covid19_cases_switzerland_openzh.csv",
          headers: {'Accept': 'application/vnd.github.v3.raw'},
          dataType: "text",
          success: function(data) {processData(data);}
       }),
    ];
  }
  getData();
});

function processData(csvData) {
  var csvDataLines = csvData.split(/\r\n|\n/).filter(item => item);
  var keys = csvDataLines[0].split(',');
  //var values = csvDataLines[csvDataLines.length - 1].split(',');
  // account for datasource switching between , and ;
  var sep = (csvDataLines.indexOf(';') > 0) ? ';' : ',';
  // extra loop to backfill empties (use last known)
  for (var j = 0; j < csvDataLines.length; j++) {
    row = csvDataLines[j].split(sep);
    for (var i = 0; i < keys.length; i++) {
      var cases = parseInt(row[i]);
      if (keys[i] in cantons) {
        if (cases > 0) {
          cantons[keys[i]].weight = cases;
        }
      }
    }
  }
  plotheatmap(cantons);
  plotchart();
}

function plotheatmap(cantons) {
  var heatmapData = [];
  for (canton in cantons) { heatmapData.push(cantons[canton]); }
  var heatmapCenter = new google.maps.LatLng(46.798476, 8.231787);

  map = new google.maps.Map(document.getElementById('map'), {
    center: heatmapCenter,
    zoom: 7,
    mapTypeId: 'roadmap'
  });

  var heatmap = new google.maps.visualization.HeatmapLayer({
    data: heatmapData
  });
  heatmap.setMap(map);
  heatmap.set('radius', 22);
  heatmap.set('maxIntensity', 100);
  heatmap.set('opacity', 0.8);
  var gradient = [
    'rgba(0,255,255,0)',
    'rgba(35,34,65,1)',
    'rgba(59,58,98,1)',
    'rgba(80,79,128,1)',
    'rgba(96,95,150,1)',
    'rgba(112,111,172,1)',
    'rgba(130,130,198,1)',
    'rgba(146,146,221,1)',
    'rgba(164,164,247,1)',
    'rgba(165,170,246,1)',
    'rgba(166,177,245,1)',
    'rgba(167,185,243,1)',
    'rgba(168,195,241,1)',
    'rgba(170,205,239,1)',
    'rgba(171,212,238,1)',
    'rgba(172,218,237,1)',
    'rgba(199,245,255,1)',
  ];
  heatmap.set('gradient', gradient);
}
</script>



<p>Thanks to the awesome work of <a href="https://github.com/daenuprobst">Daniel Probst</a>, collecting per canton data and publishing it on <a href="https://github.com/daenuprobst/covid19-cases-switzerland">https://github.com/daenuprobst/covid19-cases-switzerland</a>, 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).</p>



<p><strong>note:</strong> unreported cantonal data is backfilled from the previous day</p>



<p>(previous post on this topic: <a href="https://www.musings.ch/2020/03/13/covid-19-heatmap-schweiz/">https://www.musings.ch/2020/03/13/covid-19-heatmap-schweiz/</a>)</p>



<div id="chart_div" style="height: 500px;"></div>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
function plotchart() {
  google.charts.load('current', {
    'packages': ['geochart'],
    'mapsApiKey': 'AIzaSyAxkqrVUwcSHsEXM301sgGGc6XH_ju6l9o'
  });
  google.charts.setOnLoadCallback(drawRegionsMap);
}

function drawRegionsMap() {
  var provincemapData = [['Canton', 'Count']];
  for (canton in cantons) {
    provincemapData.push([cantons[canton].name, cantons[canton].weight]);
  }
  var data = google.visualization.arrayToDataTable(provincemapData);
  var options = {
    region: 'CH',
    displayMode: 'regions',
    resolution: 'provinces',
    defaultColor: '#87d7fa',
    colorAxis: {minValue: 0, colors: ['#87d7fa', '#0075a8']}
  };
  var chart = new google.visualization.GeoChart(document.getElementById('chart_div'));
  chart.draw(data, options);
}
 </script>



<p>And since heatmaps over broad areas are not necessarily useful, here&#8217;s a map of cantons affected.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>COVID-19: Heatmap Schweiz</title>
		<link>https://www.musings.ch/2020/03/13/covid-19-heatmap-schweiz/</link>
					<comments>https://www.musings.ch/2020/03/13/covid-19-heatmap-schweiz/#comments</comments>
		
		<dc:creator><![CDATA[random individual]]></dc:creator>
		<pubDate>Fri, 13 Mar 2020 22:36:50 +0000</pubDate>
				<category><![CDATA[cartography]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[covid-19]]></category>
		<category><![CDATA[switzerland]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[coronavirus]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[heatmap]]></category>
		<category><![CDATA[karte]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[schweiz]]></category>
		<guid isPermaLink="false">https://www.musings.ch/?p=179</guid>

					<description><![CDATA[Since I was playing with Google Maps API heatmaps recently, I thought I&#8217;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 &#8211; now based on incidence of cases per 100k inhabitants. Day to day developments: 2020-03-14: Updated 14.03.2020&#8230; <a class="more-link" href="https://www.musings.ch/2020/03/13/covid-19-heatmap-schweiz/">Continue reading <span class="screen-reader-text">COVID-19: Heatmap Schweiz</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Since I was playing with Google Maps API heatmaps recently, I thought I&#8217;d put together a quick heatmap showing confirmed COVID-19 cases in Switzerland.</p>



<div id="map" style="height: 500px;"></div>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAxkqrVUwcSHsEXM301sgGGc6XH_ju6l9o&amp;libraries=visualization"></script>

<script>
var heatmapData = [
  {location: new google.maps.LatLng(47.409703, 8.154694), weight: 14.2}, // Aargau
  {location: new google.maps.LatLng(47.317264, 9.416754), weight: 18.6}, // Appenzell-Innerrhoden
  {location: new google.maps.LatLng(47.366352, 9.36791), weight: 29}, // Appenzell-Ausserrhoden
  {location: new google.maps.LatLng(46.823608, 7.636667), weight: 20.8}, // Bern
  {location: new google.maps.LatLng(47.45176,  7.702414), weight: 48.2}, // Basel-Landschaft
  {location: new google.maps.LatLng(47.564869, 7.615259), weight: 122.7}, // Basel-Stadt
  {location: new google.maps.LatLng(46.718391, 7.074008), weight: 25.7}, // Fribourg
  {location: new google.maps.LatLng(46.220528, 6.132935), weight: 61.9}, // Geneva
  {location: new google.maps.LatLng(46.981042, 9.065751), weight: 39.6}, // Glarus
  {location: new google.maps.LatLng(46.656248, 9.628198), weight: 62}, // Graubünden
  {location: new google.maps.LatLng(47.350744, 7.156107), weight: 34.2}, // Jura
  {location: new google.maps.LatLng(47.067763, 8.1102), weight: 15.4}, // Luzern
  {location: new google.maps.LatLng(46.995534, 6.780126), weight: 49.2}, // Neuchatel
  {location: new google.maps.LatLng(46.926755, 8.405302), weight: 46.3}, // Nidwalden
  {location: new google.maps.LatLng(46.854527, 8.244317), weight: 44.9}, // Obwalden
  {location: new google.maps.LatLng(47.2332, 9.274744), weight: 17.3}, // St-Gallen
  {location: new google.maps.LatLng(47.71357, 8.59167), weight: 9.8}, // Schaffhausen
  {location: new google.maps.LatLng(47.304135, 7.639388), weight: 14.3}, // Solothurn
  {location: new google.maps.LatLng(47.061787, 8.756585), weight: 22}, // Schwyz
  {location: new google.maps.LatLng(47.568715, 9.091957), weight: 10.1}, // Thurgau
  {location: new google.maps.LatLng(46.295617, 8.808924), weight: 178.6}, // Ticino
  {location: new google.maps.LatLng(46.771849, 8.628586), weight: 2.7}, // Uri
  {location: new google.maps.LatLng(46.570091, 6.657809), weight: 115}, // Vaud
  {location: new google.maps.LatLng(46.209567, 7.604659), weight: 51.2}, // Valais
  {location: new google.maps.LatLng(47.157296, 8.537294), weight: 18.1}, // Zug
  {location: new google.maps.LatLng(47.41275, 8.65508), weight: 30.1}, // Zurich
];
var heatmapCenter = new google.maps.LatLng(46.798476, 8.231787);

map = new google.maps.Map(document.getElementById('map'), {
  center: heatmapCenter,
  zoom: 7,
  mapTypeId: 'roadmap'
});

var heatmap = new google.maps.visualization.HeatmapLayer({
  data: heatmapData
});
heatmap.setMap(map);
heatmap.set('radius', 42);
heatmap.set('maxIntensity', 90);
heatmap.set('opacity', 0.8);
var gradient = [
  'rgba(0,255,255,0)',
  'rgba(255,255,246,1)',
  'rgba(253,255,127,1)',
  'rgba(252,217,49,1)',
  'rgba(253,147,29,1)',
  'rgba(232,93,31,1)',
  'rgba(204,54,54,1)',
  'rgba(180,58,58,1)'
]
heatmap.set('gradient', gradient);
</script>



<p class="has-text-align-center">COVID-19 cases per 100k inhabitants, in Switzerland, as of 2020-03-19.</p>



<p><strong>Updated 19.03.2020</strong> using <a href="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">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</a> &#8211; now based on incidence of cases per 100k inhabitants.</p>



<p><strong>Day to day developments:</strong></p>



<p><strong>2020-03-14:</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="683" height="501" src="https://www.musings.ch/wp-content/uploads/2020/03/2020-03-14.png" alt="" class="wp-image-229" srcset="https://www.musings.ch/wp-content/uploads/2020/03/2020-03-14.png 683w, https://www.musings.ch/wp-content/uploads/2020/03/2020-03-14-300x220.png 300w" sizes="auto, (max-width: 683px) 100vw, 683px" /><figcaption>COVID-19 heatmap Switzerland 2020-03-14</figcaption></figure></div>



<p><strong>Updated 14.03.2020</strong> 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</p>



<p><strong>2020-03-13:</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="683" height="503" src="https://www.musings.ch/wp-content/uploads/2020/03/2020-03-13-1.png" alt="" class="wp-image-230" srcset="https://www.musings.ch/wp-content/uploads/2020/03/2020-03-13-1.png 683w, https://www.musings.ch/wp-content/uploads/2020/03/2020-03-13-1-300x221.png 300w" sizes="auto, (max-width: 683px) 100vw, 683px" /><figcaption>COVID-19 heatmap Switzerland 2020-03-13</figcaption></figure></div>



<p>Data source: <a href="https://www.bag.admin.ch/bag/de/home/krankheiten/ausbrueche-epidemien-pandemien/aktuelle-ausbrueche-epidemien/novel-cov/situation-schweiz-und-international.html#-1934206868">https://www.bag.admin.ch/bag/de/home/krankheiten/ausbrueche-epidemien-pandemien/aktuelle-ausbrueche-epidemien/novel-cov/situation-schweiz-und-international.html#-1934206868</a></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.musings.ch/2020/03/13/covid-19-heatmap-schweiz/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
