CatalogoDati pubblici ›Riferimento

Il tuo comune in cifre — un ritratto dai dati ufficiali

Un ritratto del tuo comune costruito dai dati ufficiali: popolazione e struttura per età (ISTAT), reddito medio dichiarato (MEF), farmacie (Ministero della Salute) e scuole statali (MIUR). Le fonti si agganciano da sole tramite il codice ISTAT del comune. Più una mappa dell'Italia e le classifiche.

🔎 Il tuo comune🏫 Le scuole🗺️ La mappa🏆 Classifiche

spazio dati «comune-in-cifre» — il collante della suite: sul tuo dispositivo, multi-utente con un invito (link o QR), cifrato end-to-end.

▶ Apri la suite (4 micro-app)

oppure aprila come app unica

comunipopolazioneredditoistatmefdemografiastranierifarmaciescuolerifiutiimpreseelezioniinvalsiveicoliacimappacoropleticaterritorio

Cosa registra

  • Codice ISTAT del comune

Composta da 4 micro app

Un compito ciascuna, sugli stessi dati: ogni micro app legge e scrive lo spazio dati condiviso «comune-in-cifre» (col tuo consenso, chiesto alla prima apertura). Tutto resta sul tuo dispositivo — e con un solo invito l'intera suite diventa multi-utente, cifrata end-to-end.

Come funziona

Questa è un'app Reactive: un semplice documento di testo che il browser trasforma in un'app funzionante — moduli, dati dal vivo, tabelle, statistiche e persino grafici, senza installare né configurare nulla.

  1. Usala subito. Premi «Usa questa app»: si apre subito nel tuo browser, già pronta, con i dati salvati solo sul tuo dispositivo.
  2. I tuoi dati restano tuoi. Tutto è memorizzato in locale sul dispositivo, separato per ogni app: niente account, niente server, niente da configurare.
  3. Rendila tua. Il testo qui sotto è l'app per intero: copialo, cambia campi, viste e parole, e le modifiche diventano subito interattive.
  4. Condividila come file. Un'app è un semplice file: salvalo, esportalo o condividilo con un link; e con la collaborazione cifrata più persone modificano gli stessi dati in tempo reale.
Il testo dell'app
# 🏘️ Il tuo comune in cifre

Un ritratto del tuo comune costruito dai dati ufficiali: popolazione e struttura
per età (ISTAT), reddito medio dichiarato (MEF), farmacie (Ministero della
Salute) e scuole statali (MIUR). Le fonti si agganciano da sole tramite il
codice ISTAT del comune. Più una mappa dell'Italia e le classifiche.

:::::page{title="Il tuo comune" icon="🔎"}

## Cerca il tuo comune

Inserisci il **codice ISTAT** (sei cifre): es. `058091` Roma, `015146` Milano,
`037006` Bologna, `063049` Napoli.

::input[comune]{value="037006" placeholder="Codice ISTAT del comune"}

::od-query{into="profilo" sql="SELECT p.comune AS comune, p.popolazione AS popolazione, r.reddito_medio AS reddito_medio, i.eta_media AS eta_media, i.perc_stranieri AS perc_stranieri, i.indice_vecchiaia AS indice_vecchiaia FROM istat_popolazione p LEFT JOIN mef_redditi r ON r.codice_istat = p.codice_istat LEFT JOIN istat_indicatori i ON i.codice_istat = p.codice_istat WHERE p.codice_istat = '{#comune}'"}

:::cards{path="profilo" search="false"}
### {comune}
**{popolazione}** abitanti — reddito medio **{reddito_medio} €**, età media **{eta_media}** anni, residenti stranieri **{perc_stranieri}%**, indice di vecchiaia **{indice_vecchiaia}** (over 65 ogni 100 under 15).
:::

::od-query{into="servizi" sql="SELECT (SELECT count(*) FROM farmacie WHERE codice_istat = '{#comune}') AS farmacie, (SELECT count(*) FROM scuole WHERE codice_istat = '{#comune}') AS scuole"}

:::cards{path="servizi" search="false"}
🏥 **{farmacie}** farmacie · 🏫 **{scuole}** scuole statali
:::

::od-query{into="ambiente" sql="SELECT percentuale_rd AS percentuale_rd, anno AS anno FROM rifiuti WHERE codice_istat = '{#comune}' ORDER BY anno DESC LIMIT 1"}

:::cards{path="ambiente" search="false"}
♻️ Raccolta differenziata **{percentuale_rd}%** (anno {anno})
:::

::od-query{into="economia" sql="SELECT unita_locali AS unita_locali, addetti AS addetti, anno AS anno FROM imprese WHERE codice_istat = '{#comune}' ORDER BY anno DESC LIMIT 1"}

:::cards{path="economia" search="false"}
🏢 **{unita_locali}** unità locali attive, **{addetti}** addetti (anno {anno})
:::

::od-query{into="voto" sql="SELECT affluenza AS affluenza, lista_vincente AS lista_vincente, percentuale_vincente AS percentuale_vincente FROM elezioni WHERE codice_istat = '{#comune}'"}

:::cards{path="voto" search="false"}
🗳️ Affluenza **{affluenza}%** — lista più votata **{lista_vincente}** ({percentuale_vincente}%) — Camera 2022
:::

::od-query{into="invalsiComune" sql="SELECT round(avg(punteggio_medio), 1) AS punteggio_medio, anno AS anno FROM invalsi WHERE codice_istat = '{#comune}' GROUP BY anno"}

:::cards{path="invalsiComune" search="false"}
📊 Punteggio medio prove INVALSI **{punteggio_medio}** (anno {anno}, comuni sopra soglia studenti)
:::

::od-query{into="veicoliComune" sql="SELECT autovetture AS autovetture, totale AS totale FROM aci_veicoli WHERE codice_istat = '{#comune}'"}

:::cards{path="veicoliComune" search="false"}
🚗 **{autovetture}** autovetture, **{totale}** veicoli circolanti in totale (ACI)
:::

Il reddito è la media per dichiarante (MEF, ultima annualità disponibile); età,
stranieri e indice di vecchiaia sono ISTAT al 1° gennaio. Le carte su
ambiente, economia, voto, INVALSI e veicoli compaiono solo se il comune ha il
dato disponibile (INVALSI ed elezioni non coprono tutti i comuni; i veicoli
sono dove sono REGISTRATI, non dove risiedono i proprietari — grandi
noleggiatori/leasing concentrano flotte in poche città).

:::::

:::::page{title="Le scuole" icon="🏫"}

## Le scuole statali del comune

L'elenco delle scuole statali per grado, dal codice ISTAT inserito nella prima
pagina.

::od-query{into="scuoleComune" sql="SELECT nome AS nome, grado AS grado, indirizzo AS indirizzo FROM scuole WHERE codice_istat = '{#comune}' ORDER BY grado, nome" limit="200"}

:::table{path="scuoleComune" headers="Scuola,Grado,Indirizzo" pagesize="15"}
{nome} | {grado} | {indirizzo}
:::

:::::

:::::page{title="La mappa" icon="🗺️"}

## Il reddito medio per regione

La stessa Italia vista dall'alto: ogni regione colorata per reddito medio
dichiarato. Passa il mouse per il valore.

::od-query{into="mappa" sql="SELECT r.regione AS regione, r.geojson AS geojson, m.reddito AS reddito FROM istat_confini_regioni r JOIN (SELECT c.cod_reg, round(sum(x.reddito_complessivo) / sum(x.dichiaranti)) AS reddito FROM istat_confini_comuni c JOIN mef_redditi x ON x.codice_istat = c.codice_istat GROUP BY c.cod_reg) m ON m.cod_reg = r.cod_reg" limit="30"}

:::map{path="mappa" geojson="geojson" fill="reddito" height="30rem"}
**{regione}** — reddito medio {reddito} €
:::

Il colore va dal chiaro (redditi più bassi) allo scuro (più alti): il classico
divario Nord-Sud, in una mappa che si disegna da sola dai dati.

:::::

:::::page{title="Classifiche" icon="🏆"}

## I comuni con il reddito più alto

Solo comuni sopra i 10.000 abitanti, per non far dominare i piccoli centri.

::od-query{into="ricchi" sql="SELECT r.comune AS comune, r.sigla AS sigla, r.reddito_medio AS reddito_medio FROM mef_redditi r JOIN istat_popolazione p ON p.codice_istat = r.codice_istat WHERE p.popolazione >= 10000 ORDER BY r.reddito_medio DESC LIMIT 20" limit="20"}

::chart-bar{data="ricchi" x="comune" y="reddito_medio" height="20rem"}

:::table{path="ricchi" headers="Comune,Prov,Reddito medio €" pagesize="10"}
{comune} | {sigla} | {reddito_medio}
:::

:::::

---

I dati sono ufficiali e aperti: **popolazione e indicatori** ISTAT
(demo.istat.it, CC BY 4.0), **reddito IRPEF** del MEF — Dipartimento delle
Finanze (CC BY 3.0), **farmacie** del Ministero della Salute e **scuole** del
MIUR (IODL 2.0), **raccolta differenziata** ISPRA, **imprese e addetti**
ISTAT ASIA, **elezioni Camera 2022** del Ministero dell'Interno, **risultati
INVALSI** (INVALSI, CC BY 4.0 IT), **parco veicolare** ACI — Autoritratto (CC
BY 4.0), **confini** ISTAT. Si agganciano da soli tramite il codice ISTAT del
comune. Nessun dato tuo lascia il dispositivo.