/COVID-19_ITA

QGIS project for the visualization of COVID-19 data through an atlas with dynamic graphs - regions (https://github.com/pcm-dpc/COVID-19)

Primary LanguageQMLCreative Commons Attribution 4.0 InternationalCC-BY-4.0

GitHub license GitHub commit

Perché questo spazio

Changelog

Qui trovi le novità introdotte!

File di progetto QGIS

I file di progetto QGIS (COVID19_3857_noVL_ogrVRT_provaut) utilizzano come fonte dati il file dpc-covid19-ita-regioni.csv presente nel repository ufficiale del PCM-DPC tramite Protocollo HTTPS, quindi il file si aggiorna automaticamente:

Il file di progetto (COVID19_3857_noVL_ogrVRT.qgs) utilizza come fonte dati il file dpc-covid19-ita-regioni.csv presente nel repository ufficiale del PCM-DPC tramite file codid19-regioni_noWKT.vrt (source un Virtual File Format di GDAL/OGR), quindi il file si aggiorna automaticamente.


NB: il file di progetto è stato realizzato con QGIS 3.12 București e Plugin DataPlotly 3.5


Cosa c'è in questo repo

  • cartella imgs contiene le immagini utilizzate nel progetto .qgs;
  • cartella risorse contiene i file utilizzati nel progetto, come:
    • nroVerdeEmergenzaCOVID19.csv è una tabella con i numeri verdi regionali per emergenza sanitaria;
    • nroVerdeEmergenzaCOVID19.csvt file di servizio per definire la tipologia di campi;
    • shapefile reg_istat3857.* limiti amministrativi regionali ISTAT 2019, EPSG:3857;
    • shapefile* reg_provaut3857.* limiti amministrativi regionali ISTAT 2019 con Prov. Autonome Trento e Bolzano, EPSG:3857;
    • file codid19-regioni.vrt Virtual File Format GDAL/OGR con file CSV raw da GitHub, con geometry Point;
    • file codid19-regioni_noWKT.vrt Virtual File Format GDAL/OGR con file CSV raw da GitHub, no geometry;
    • file codid19-regioni_dw.vrt collegato a data.word, ma non funziona in QGIS;
    • file config_grafici_casi_totali.xml di configurazione grafici atlas;
    • file COVID19_3857_noVL_ogrVRT_provaut.qpt modello layouts;
    • file stemmi_regione.csv stemmi regionali;
    • file world_map.gpkg geopackage con la world map;
    • file codid19-andamento_nazione.vrt Virtual File Format GDAL/OGR con file CSV raw da GitHub;
    • file dpc-covid19-ita-regioni-latest.vrt;
    • file dpc-covid19-ita-province-latest.vrt;
  • cartella PDF stampe giornaliere dell'Atlas;
  • file COVID19_3857_noVL.qgs è il file di progetto QGIS in formato .qgs (senza usare Virtual layer), EPSG:3857;
  • file COVID19_3857.qgs è il file di progetto QGIS in formato .qgs (usa Virtual layer), EPSG:3857;
  • file COVID19_3857_noVL_ogrVRT.qgs è il file di progetto QGIS in formato .qgs, EPSG:3857 (OLD-main), usa OGRVRT;
  • file COVID19_3857_noVL_ogrVRT_provaut.qgs è il file di progetto QGIS in formato .qgs, EPSG:3857 (main), usa OGRVRT;
  • file license è il file che definisce la licenza del repository;
  • file README.md è questo file, con le info.

Progetto per macOS ( a cura di Ivano Giuliano)

  • cartella macOS_Project contiene i progetti completi COVID19 adattati per QGIS macOS;
    • sottocartela screen_shot_macOS contiene una panoramica di riferimento dei Layouts contenuti nei progetti .qgs;
    • sottocartela imgs come da master;
    • sottocartela risorsecome da master con aggiunta di:
    • file ReferenceLines.qml file di stile per facilitazione;
    • file world_map.gpkg internal file, per facilitazione, path: Applications/QGIS3.10.app/Contents/Resources/resources/data/world_map.gpkg|layername=countries;

* lo shapefile è stato modificato manualmente, è stata eliminata la regione e aggiunti le due province autonome.

↑ torna su ↑

Espressione usata

Per calcolo valori incrementali giornalieri è stata usata la seguente espressione nel Campo Y dei grafici Scatter Plot

with_variable(
'my_exp', 
array_find(  
array_agg( 
expression:= "data" , group_by:= "codice_regione" ,
order_by:="data"),"data"),
if( 
to_int(@my_exp) = 0, 
(array_agg( 
            expression:=  "terapia_intensiva" , 
            group_by:= "codice_regione" ,
            order_by:=  "data"  )[0]),
("terapia_intensiva"  -
(array_agg( 
expression:= "terapia_intensiva", 
group_by:= "codice_regione" ,
order_by:=  "data"  )[to_int(@my_exp)-1]))))

PS: per maggiori info sull'espressione: https://pigrecoinfinito.com/2020/03/10/qgis-creare-grafici-con-incrementi-giornalieri/

↑ torna su ↑

Virtual layer

Layer : virtual layer

SELECT "codice_regione",
substr(data,1,10) as "data", 
sum(CAST ("ricoverati_con_sintomi" AS INT)) AS ricoverati,
sum(CAST ("deceduti" AS INT)) AS deceduti,
sum(CAST ("terapia_intensiva" AS INT)) AS terapia,
sum(CAST ("isolamento_domiciliare" AS INT)) AS isolamento,
sum(CAST ("dimessi_guariti" AS INT)) AS dimessi,
sum(CAST ("tamponi" AS INT)) AS tamponi,
sum(CAST("totale_casi" AS INT)) AS totale, count(*) as nro
FROM "dpc-covid19-ita-regioni"
GROUP BY 1,2;

Layer : virtual layer complessivo

SELECT 
substr(data,1,10) as "data", 
sum(CAST("totale_casi" AS INT)) AS totale,
sum(CAST("totale_attualmente_positivi" AS INT)) AS tot_att_pos,
sum(CAST("deceduti" AS INT)) AS deceduti,
sum(CAST("dimessi_guariti" AS INT)) AS guariti,
sum(CAST("terapia_intensiva" AS INT)) AS terapia,
sum(CAST("tamponi" AS INT)) AS tamponi
FROM "dpc-covid19-ita-regioni"
GROUP BY 1;

↑ torna su ↑

Virtual File Format di GDAL/OGR

link utile: https://gdal.org/drivers/vector/vrt.html#virtual-file-format

<OGRVRTDataSource>
<OGRVRTLayer name="dpc-covid19-ita-regioni">
    <SrcDataSource relativeToVRT="0">/vsicurl/https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-regioni/dpc-covid19-ita-regioni.csv</SrcDataSource>
    <Field name="data" type="String" />
    <Field name="lat" type="Real" />
    <Field name="long" type="Real" />
    <Field name="stato" type="String" />
    <Field name="codice_regione" type="String" />
    <Field name="denominazione_regione" type="String" />
	  <Field name="ricoverati_con_sintomi" type="Integer" />
    <Field name="terapia_intensiva" type="Integer" />
    <Field name="totale_ospedalizzati" type="Integer" />
    <Field name="isolamento_domiciliare" type="Integer" />
    <Field name="totale_attualmente_positivi" type="Integer" />
    <Field name="nuovi_attualmente_positivi" type="Integer" />
    <Field name="dimessi_guariti" type="Integer" />
    <Field name="deceduti" type="Integer" />
    <Field name="totale_casi" type="Integer" />
    <Field name="tamponi" type="Integer" />
</OGRVRTLayer>
</OGRVRTDataSource>
  • per un quadro sinottico del file
ogrinfo codid19-regioni_dw.vrt dpc-covid19-ita-regioni -summary
  • per leggere il file con OGR:
ogrinfo codid19-regioni_dw.vrt dpc-covid19-ita-regioni

per ottenere il nome layer corretto

ogrinfo -ro -al -q CSV:/vsicurl/https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-regioni/dpc-covid19-ita-regioni.csv
  • per usarlo in QGIS:

Compositore di stampe

Atlas

Vettore di copertura : layer reg_provaut3857, Font TRUENO

Gif animata:

↑ torna su ↑

Layout di stampa

Andamento Nazionale con grafici

↑ torna su ↑

Usare gli Stemmi delle Regioni Italiane

In questa pagina di Wikipedia è presente una tabella con i nomi delle regioni e i relativi Stemmi. Per utilizzarli nell'Atlas ho creato un file CSV in gsheet e i comandi:

=IMPORTXML("https://it.wikipedia.org/wiki/Stemmi_delle_regioni_italiane";"//table[2]//td[1]")
  • per il link
=IMPORTXML("https://it.wikipedia.org/wiki/Stemmi_delle_regioni_italiane";"//td/a/img/@src")

ottenendo

regioni link_stemmi
Abruzzo //upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Regione-Abruzzo-Stemma.svg/100px-Regione-Abruzzo-Stemma.svg.png
Basilicata //upload.wikimedia.org/wikipedia/commons/thumb/0/07/Regione-Basilicata-Stemma.svg/100px-Regione-Basilicata-Stemma.svg.png
Calabria //upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Coat_of_arms_of_Calabria.svg/100px-Coat_of_arms_of_Calabria.svg.png
Campania //upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Regione-Campania-Stemma.svg/100px-Regione-Campania-Stemma.svg.png
Emilia-Romagna //upload.wikimedia.org/wikipedia/commons/thumb/9/9c/Stemma_Emilia-Romagna.png/100px-Stemma_Emilia-Romagna.png
Friuli-Venezia Giulia //upload.wikimedia.org/wikipedia/commons/thumb/6/6b/CoA_of_Friuli-Venezia_Giulia.png/100px-CoA_of_Friuli-Venezia_Giulia.png
.... .....

Caratteristiche utilizzate nel progetto

  1. Shapefile, Geopackage, CSV, CSV remoti;
  2. Join, Relazioni;
  3. Atlas con grafici dinamici (Plugin DataPlotly);
  4. Layout di stampa Andamento nazionale (Plugin DataPlotly);
  5. Visualizzazione immagini remote (Stemmi);
  6. Tematizzazione tramite regole;
  7. Calcolo valori incrementali giornalieri tramite espressioni;
  8. Temi mappe per Atlas;
  9. Tabella in relazione nell'Atlas e formattazione condizionale;
  10. Panoramica con Generatore di geometria;
  11. Etichette con valori raggruppati e incrementali.
  12. Decorazioni: Copyright, Immagine e estensioni layout

↑ torna su ↑

Dichiarazione di Pandemia

Riferimenti utili

NB: Tutti i dati prodotti dall’Istituto nazionale di statistica (ISTAT) sono rilasciati sotto licenza Creative Commons (CC BY 3.0 IT): è possibile riprodurre, distribuire, trasmettere e adattare liberamente dati e analisi dell’Istituto nazionale di statistica, anche a scopi commerciali, a condizione che venga citata la fonte.

↑ torna su ↑

Video Tutorial

Il video spiega come usare questo repository per avere il progetto sempre aggiornato.

Per ulteriori info: issue #8


Chi ha usato il repo

https://github.com/barja8/COVID19_PER