{"id":1142,"date":"2020-03-27T18:08:33","date_gmt":"2020-03-27T17:08:33","guid":{"rendered":"http:\/\/jenacopterlabs.de\/?p=1142"},"modified":"2020-04-04T11:49:21","modified_gmt":"2020-04-04T10:49:21","slug":"covid-19-infection-visualization","status":"publish","type":"post","link":"https:\/\/jenacopterlabs.de\/?p=1142","title":{"rendered":"SARS-CoV-2 Cartograms"},"content":{"rendered":"\n<p>Update 4.4.2020 <\/p>\n\n\n\n<p>Cartogram reprojection using county based shapes and recent data from RKI. These maps are quantile classified &#8211; not equal interval classified. This clearly changes somehow the color distribution since the local maxima are not visible anymore. Overall this visualization is graphically very appealing &#8211; however it needs more attention for the legend to understand the distribution of values. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png\" alt=\"\" class=\"wp-image-1216\" width=\"399\" height=\"528\" srcset=\"https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png 396w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab-227x300.png 227w\" sizes=\"auto, (max-width: 399px) 100vw, 399px\" \/><figcaption>Infections per 100 inhabitants on county scale \/Germany &#8211; status 2.4.2020 &#8211; cartogram reprojected: equal density based on infections\/100 inhabitants &#8211; classification based on quantiles. Data source: <a href=\"https:\/\/npgeo-corona-npgeo-de.hub.arcgis.com\">https:\/\/npgeo-corona-npgeo-de.hub.arcgis.com<\/a> . <\/figcaption><\/figure><\/div>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-RKI-counties-in-Germany-per10000inhab.png\" alt=\"\" class=\"wp-image-1217\" width=\"399\" height=\"545\" srcset=\"https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-RKI-counties-in-Germany-per10000inhab.png 417w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-RKI-counties-in-Germany-per10000inhab-219x300.png 219w\" sizes=\"auto, (max-width: 399px) 100vw, 399px\" \/><figcaption>Infections per 100 inhabitants on county scale \/Germany &#8211; status 2.4.2020 &#8211; choropleth map &#8211; classification based on quantiles. Data source: <a href=\"https:\/\/npgeo-corona-npgeo-de.hub.arcgis.com\">https:\/\/npgeo-corona-npgeo-de.hub.arcgis.com<\/a> .<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"177\" height=\"199\" src=\"http:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-RKI-p10000inhab.png\" alt=\"\" class=\"wp-image-1218\"\/><figcaption>Infections per 100 inhabitants on county scale \/Germany<\/figcaption><\/figure><\/div>\n\n\n\n<p>Update 31.3.2020<\/p>\n\n\n\n<p>If we look at the original data and plot infections on the usual spatial reference polygons the map would look like in the following figure (1 dot equals 5 infections): <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-bundeslaender-original.png\" alt=\"\" class=\"wp-image-1204\" width=\"438\" height=\"556\" srcset=\"https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-bundeslaender-original.png 656w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-bundeslaender-original-236x300.png 236w\" sizes=\"auto, (max-width: 438px) 100vw, 438px\" \/><figcaption>Infections 29.03.2020: plotting 5 infections per dot on a common UTM32 WGS84 projected polygon dataset of the federal states of Germany.   <\/figcaption><\/figure><\/div>\n\n\n\n<p>If we now look at the cartogram processed (reprojected) data set we notice that the density in all polygons is now the same. We changed the size of the polygons in order to achieve the same density for the various numbers of infections. Thats the reason why these cartograms are also often labeled &#8220;density equalized&#8221;: <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-bundesl\u00e4nder-imcartogramm.png\" alt=\"\" class=\"wp-image-1205\" width=\"459\" height=\"597\" srcset=\"https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-bundesl\u00e4nder-imcartogramm.png 641w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-bundesl\u00e4nder-imcartogramm-230x300.png 230w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><figcaption>Density equalized cartogram &#8211; one dot equals 5 infection cases. <\/figcaption><\/figure><\/div>\n\n\n\n<p>Update: 30.3.2020:<\/p>\n\n\n\n<p>Europe: death rate per 1000 infected persons in Europe based on data from the European Centre of Disease Control and Prevention. (https:\/\/www.ecdc.europa.eu\/en\/cases-2019-ncov-eueea), status: 29.03.2020:<\/p>\n\n\n\n<p>Cartogram reprojected data using ESRI vector base dataset for Europe. <\/p>\n\n\n\n<p> <\/p>\n\n\n\n<ul class=\"wp-block-gallery aligncenter columns-1 wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" src=\"https:\/\/www.sailpower.de\/wp-content\/uploads\/2020\/03\/2903-Europe-DeathsPerInfection-cartogr-1024x870.png\" alt=\"\" data-id=\"9865\" data-link=\"https:\/\/www.sailpower.de\/?attachment_id=9865\" class=\"wp-image-9865\"\/><figcaption>Cartogram: SARS-CoV-2 mortality &#8211; calculated as deaths per 1000 infections in Europe &#8211; cartogram reprojected using death\/infected as relative area value &#8211; status 29-03-2020 &#8211; data source: ECDC.<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" src=\"https:\/\/www.sailpower.de\/wp-content\/uploads\/2020\/03\/2903-DeathsPerInfection-noncart-1024x875.png\" alt=\"\" data-id=\"9864\" data-link=\"https:\/\/www.sailpower.de\/?attachment_id=9864\" class=\"wp-image-9864\"\/><figcaption>29-03-2020: <br> SARS-CoV-2 mortality &#8211; calculated as deaths per 1000 infections in Europe &#8211; choropleth map  &#8211; status 29-03-2020 &#8211; data source: ECDC. <\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.sailpower.de\/wp-content\/uploads\/2020\/03\/2903-Europe-Legend.png\" alt=\"\" class=\"wp-image-9866\" width=\"118\" height=\"204\"\/><figcaption>Mortality &#8211; number of deaths per 1000 infected persons.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Update 29.3.2020<\/p>\n\n\n\n<p>Update with data from 29.03.2020. Legend removed for quicker upload. The data is slightly distorted since not all federal states report infection numbers regularly on a daily basis (data source <a href=\"https:\/\/www.rki.de\/DE\/Content\/InfAZ\/N\/Neuartiges_Coronavirus\/Fallzahlen.html\">RKI<\/a>):<\/p>\n\n\n\n<ul class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"625\" height=\"801\" src=\"http:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-CpE.png\" alt=\"\" data-id=\"1183\" class=\"wp-image-1183\" srcset=\"https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-CpE.png 625w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-CpE-234x300.png 234w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><figcaption>29-03-2020: <br>SARS-CoV-2 infections per 1000 inhabitants cartogram equal density reprojected for the federal states of Germany &#8211; status 29-03-2020 &#8211; data source RKI<a href=\"https:\/\/www.rki.de\/DE\/Content\/InfAZ\/N\/Neuartiges_Coronavirus\/Fallzahlen.html\">. <\/a><\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"1024\" src=\"http:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-CpE-DtOverlay-792x1024.png\" alt=\"\" data-id=\"1186\" data-link=\"http:\/\/jenacopterlabs.de\/?attachment_id=1186\" class=\"wp-image-1186\" srcset=\"https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-CpE-DtOverlay-792x1024.png 792w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-CpE-DtOverlay-232x300.png 232w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-CpE-DtOverlay-768x992.png 768w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/2903-CpE-DtOverlay.png 890w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><figcaption>29-03-2020:<br>SARS-CoV-2 infections per 1000 inhabitants cartogram equal density reprojected for the federal states of Germany &#8211; status 29-03-2020 &#8211; data source RKI<a href=\"https:\/\/www.rki.de\/DE\/Content\/InfAZ\/N\/Neuartiges_Coronavirus\/Fallzahlen.html\"> &#8211; backdrop original geometry of the federal states of Germany<\/a><\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>Since the SARS-CoV-2 numbers are changing so quickly &#8211; this is a good occasion to work with some specific visualization\/mapping techniques. Some population and infection normalized Cartogram reprojections to visualize SARS-CoV-2 status in Germany:<\/p>\n\n\n\n<ul class=\"wp-block-gallery aligncenter columns-1 wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" src=\"https:\/\/www.sailpower.de\/wp-content\/uploads\/2020\/03\/1403-CpFS.png\" alt=\"\" data-id=\"9834\" data-link=\"https:\/\/www.sailpower.de\/?attachment_id=9834\" class=\"wp-image-9834\"\/><figcaption>14-03-2020: <br>SARS-CoV-2 infections per federal state &#8211; cartogram equal density reprojected for the federal states of Germany &#8211; status 14-03-2020 &#8211; data source RKI<a href=\"https:\/\/www.rki.de\/DE\/Content\/InfAZ\/N\/Neuartiges_Coronavirus\/Fallzahlen.html\"> &#8211; backdrop original geometry of the federal states of Germany<\/a><\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" src=\"https:\/\/www.sailpower.de\/wp-content\/uploads\/2020\/03\/2903-CpFS-1.png\" alt=\"\" data-id=\"9846\" data-link=\"https:\/\/www.sailpower.de\/?attachment_id=9846\" class=\"wp-image-9846\"\/><figcaption>29-03-2020: <br>SARS-CoV-2 infections per federal state &#8211; cartogram equal density reprojected for the federal states of Germany &#8211; status 29-03-2020 &#8211; data source RKI<a href=\"https:\/\/www.rki.de\/DE\/Content\/InfAZ\/N\/Neuartiges_Coronavirus\/Fallzahlen.html\"> &#8211; backdrop original geometry of the federal states of Germany<\/a><\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.sailpower.de\/wp-content\/uploads\/2020\/03\/2903-legend.png\" alt=\"\" class=\"wp-image-9848\"\/><figcaption>29-03-2020: <br>SARS-CoV-2 infections per federal state.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Update from 27.03.2020:<\/p>\n\n\n\n<ul class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"593\" height=\"805\" src=\"http:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/Covid19-CartoC-Kopie.jpg\" alt=\"\" data-id=\"1165\" class=\"wp-image-1165\" srcset=\"https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/Covid19-CartoC-Kopie.jpg 593w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/Covid19-CartoC-Kopie-221x300.jpg 221w\" sizes=\"auto, (max-width: 593px) 100vw, 593px\" \/><figcaption>Cartogram projection using number of infections per federal state as area value and recalculating density and resulting geometry of the underlying vector dataset.<\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<p> <\/p>\n\n\n\n<p>A Cartogram can visualize the distribution of infections in Germany much better than a standard choropleth map &#8211; this is especially valid if we use the Cartogram style combined with a normalized value using &#8220;per inhabitants&#8221; &#8211; in this figure: infections per 1000 inhabitants. Now the infection numbers are related to inhabitants and this shows clearly where the highest density of infections occurred. Its also what we expect since dense metropolitan regions will likely cause higher infection rates. Note that using both the color  and the size for the geometry for communication of the thematic value (infections per 1000 inhabitants) is very powerful to describe the information &#8211; however the original proportions of the objects (federal states of Germany) are completely lost &#8211; therefore its important to have the  original projection as reference (scroll to end of page): <\/p>\n\n\n\n<ul class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" src=\"https:\/\/www.sailpower.de\/wp-content\/uploads\/2020\/03\/Covid19-Carto-Cper1kInh.jpg\" alt=\"\" data-id=\"9815\" class=\"wp-image-9815\"\/><figcaption>Infections per 1000 inhabitants &#8211; equal interval classification. Hamburg has as of 27-03-2020 the most infections per 1000 inhabitants (0.96). <\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<p>Conventional choropleth map would look like this:  you might get the impression that its dangerous to go to the south of Germany but normalized to inhabitants its maybe more likely that you meet someone infected in Hamburg (though not true since positive tested people are in quarantine right now). <\/p>\n\n\n\n<ul class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"621\" height=\"750\" src=\"http:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/Covid19-0327.png\" alt=\"\" data-id=\"1146\" class=\"wp-image-1146\" srcset=\"https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/Covid19-0327.png 621w, https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/03\/Covid19-0327-248x300.png 248w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/><figcaption>Usual choropleth map concept &#8211; here UTM32 WGS84 showing the infection numbers at the 27th of March 2020 (data source: RKI 27032020).<\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<p>We will reprocess with the new numbers in the weeks to come and also some new change mapping concepts will be shown here. Data used: status data from RKI and spatial data from BKG (Bundesamt f\u00fcr Kartographie und Geod\u00e4sie): <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.bkg.bund.de\/DE\/Home\/home.html\">https:\/\/www.bkg.bund.de\/DE\/Home\/home.html<\/a><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.rki.de\/DE\/Content\/InfAZ\/N\/Neuartiges_Coronavirus\/Fallzahlen.html\">https:\/\/www.rki.de\/DE\/Content\/InfAZ\/N\/Neuartiges_Coronavirus\/Fallzahlen.html<\/a><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Dougenik, J. A, N. R. Chrisman, and D. R. Niemeyer. 1985. &#8220;An algorithm to construct continuous cartograms.&#8221; Professional Geographer 37:75-81<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.researchgate.net\/publication\/220301714_Maps_and_Cartograms_of_the_2004_US_Presidential_Election_Results\">https:\/\/www.researchgate.net\/publication\/220301714_Maps_and_Cartograms_of_the_2004_US_Presidential_Election_Results<\/a><\/li><\/ul>\n\n\n\n<p>Updates add on top &#8211; mtk<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Update 4.4.2020 Cartogram reprojection using county based shapes and recent data from RKI. These maps are quantile classified &#8211; not equal interval classified. This clearly changes somehow the color distribution since the local maxima are not visible anymore. Overall this visualization is graphically very appealing &#8211; however it needs more attention for the legend to understand the distribution of values.&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":1216,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[56,31,12],"tags":[54,55,53,52],"class_list":["post-1142","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-covid-19","category-teaching","category-workflow","tag-cartogram","tag-coovid-19","tag-corona","tag-covid"],"uagb_featured_image_src":{"full":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png",396,524,false],"thumbnail":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab-150x150.png",150,150,true],"medium":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab-227x300.png",227,300,true],"medium_large":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png",396,524,false],"large":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png",396,524,false],"1536x1536":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png",396,524,false],"2048x2048":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png",396,524,false],"post-thumbnail":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png",189,250,false],"cd-small":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png",113,150,false],"cd-medium":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png",189,250,false],"cd-standard":["https:\/\/jenacopterlabs.de\/wp-content\/uploads\/2020\/04\/0204-counties-germany-per10000inhab.png",378,500,false]},"uagb_author_info":{"display_name":"S\u00f6ren Hese","author_link":"https:\/\/jenacopterlabs.de\/?author=1"},"uagb_comment_info":0,"uagb_excerpt":"Update 4.4.2020 Cartogram reprojection using county based shapes and recent data from RKI. These maps are quantile classified &#8211; not equal interval classified. This clearly changes somehow the color distribution since the local maxima are not visible anymore. Overall this visualization is graphically very appealing &#8211; however it needs more attention for the legend to&hellip;","_links":{"self":[{"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=\/wp\/v2\/posts\/1142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1142"}],"version-history":[{"count":62,"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=\/wp\/v2\/posts\/1142\/revisions"}],"predecessor-version":[{"id":1231,"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=\/wp\/v2\/posts\/1142\/revisions\/1231"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=\/wp\/v2\/media\/1216"}],"wp:attachment":[{"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jenacopterlabs.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}