| Comune | ✓ Dentro confine | ✗ Fuori confine | Totale | % OK | 📍 |
|---|
Questa applicazione ti permette di esplorare i dati dell'ANNCSU l'Anagrafe Nazionale dei Numeri Civici Stradali Urbani gestita dall'Agenzia delle Entrate. Ogni punto sulla mappa è un numero civico italiano: puoi navigare liberamente su tutto il territorio nazionale e osservare come sono distribuiti gli indirizzi nei diversi comuni.
I punti verdi rappresentano civici geocodificati correttamente, cioè la cui posizione geografica ricade all'interno del confine del comune a cui appartengono. I punti rossi segnalano invece civici "fuori confine": la coordinata registrata cade al di fuori del territorio comunale di riferimento, il che può indicare un errore di posizionamento o un dato da verificare.
La barra di ricerca in basso al centro funziona come una ricerca smart: bastano poche lettere per ottenere subito suggerimenti di regioni, province, comuni e indirizzi. Selezionando un risultato, questo diventa un chip visibile nella barra che restringe il contesto: per esempio, scegliendo prima una regione, le ricerche successive mostreranno solo province e comuni di quella regione. Puoi combinare più livelli insieme — regione → provincia → comune → via e numero civico — per trovare esattamente quello che ti serve. Ogni chip ha un pulsante ✕ per rimuoverlo singolarmente e risalire di livello.
Per un controllo più preciso, usa il pulsante Filtro Territorio (icona a griglia): si apre un pannello dove scegliere manualmente regioni, province e comune. Quando uno o più filtri sono attivi, sul pulsante compare un badge numerico. Per azzerare tutto in un colpo solo, premi il pulsante Reset (icona freccia circolare) che appare accanto. I tre pulsanti Tutti, Geocodificati e Fuori limite ti permettono inoltre di isolare rapidamente i civici corretti o quelli anomali. La mappa si aggiorna in tempo reale a ogni modifica.
Il pulsante con la lente + nella barra di ricerca apre uno strumento dedicato che interroga direttamente l'API REST ANNCSU di developers.coseerobe.it. Puoi cercare civici filtrando per comune, via (o parte del nome), tipo di strada (via, corso, piazza…) e numero civico. I risultati appaiono in una tabella affiancata da una mini-mappa interattiva che mostra i punti trovati. Puoi scegliere quanti record recuperare (da 25 fino a tutti) e scaricare i dati in formato CSV o JSON. Il pulsante Reset svuota il form e ripulisce la mappa. Nella stessa finestra trovi anche la sezione download per comune intero: inserendo il codice catastale del comune (es. G273 per Palermo) puoi scaricare tutti i numeri civici in formato GeoParquet compatibile con QGIS (EPSG 4326), DuckDB, Python e altri strumenti GIS oppure in formato GeoPackage.
È possibile condividere un link che apre la mappa già centrata su un comune specifico aggiungendo il parametro ?comune=CODISTAT all'URL, dove CODISTAT è il codice ISTAT del comune (es. ?comune=015146). All'apertura, l'applicazione seleziona automaticamente il comune, applica il filtro e zooma sul suo territorio.
Attivando il layer dei comuni tramite il pulsante mappa nella barra degli strumenti a destra, compaiono i poligoni comunali colorati per aggiudicatario: ogni colore identifica l'azienda o il professionista che ha vinto il contratto per aggiornare i dati ANNCSU in quel comune nell'ambito della Misura 1.3.1 del PNRR. I comuni senza aggiudicatario assegnato appaiono in grigio. Cliccando su un poligono si apre un popup con i dettagli del finanziamento e il conteggio dei civici visibili.
Il pulsante con l'icona a barre (visibile solo quando il layer dei comuni è attivo) apre il pannello di analisi. Qui trovi un riepilogo completo: quanti comuni ha in gestione ciascun aggiudicatario, in quante province e regioni opera, l'importo totale dei finanziamenti ricevuti e la sua quota percentuale sul totale nazionale. Puoi cercare un aggiudicatario specifico usando il campo di ricerca, selezionarlo con un clic per evidenziarne i comuni sulla mappa, centrare la vista su di essi e scaricare tutti i dati in formato CSV.
Il pannello statistiche (icona tabella) mostra un riepilogo dei civici visibili nella porzione di mappa attualmente inquadrata, suddivisi per comune con il numero di indirizzi corretti, quelli fuori confine e la percentuale di qualità. Spostando o zoomando la mappa i valori si aggiornano automaticamente.
Dal pannello di analisi (icona target) puoi vedere l'elenco dei comuni con civici anomali visibili nella vista corrente. Cliccando su un comune i punti relativi vengono evidenziati in giallo sulla mappa e la vista si centra su di essi. È possibile avviare una verifica tramite geocodifica inversa (OpenStreetMap Nominatim) per scoprire in quale territorio ricadono realmente le coordinate fuori confine. Il pulsante CSV esporta tutti i civici anomali visibili con le relative coordinate.
La mappa è realizzata con MapLibre GL JS. I dati vettoriali sono in formato PMTiles, che permette di servire milioni di punti direttamente dal browser senza un server dedicato. La mappa di base è fornita da OpenFreeMap (stili Positron e Dark) su base OpenStreetMap. L'applicazione è open source e gira interamente nel browser, senza installazione.
Viewer ufficiale dei dati ANNCSU, sviluppato da Geobeyond. È la fonte primaria dei numeri civici usati in questa applicazione: i dati sono pre-elaborati e distribuiti in formato PMTiles per garantire alte prestazioni su scala nazionale.
Applicazione realizzata da Matteo Fortini per visualizzare le differenze tra versioni successive dei dati ANNCSU. Strumento prezioso per monitorare l'evoluzione nel tempo della qualità degli indirizzi e individuare le aree dove i dati sono stati aggiornati o corretti. Dalla sezione quality del progetto provengono anche gli snapshot usati nella scheda Qualità (fuori confine oltre 500 m, matrice cross-regione, celle anomale su griglia 10 m) e gli hotspot DBSCAN della mappa bivariata; dalla pagina principale la serie storica dei rilasci mostrata nella scheda Andamento.
Portale curato da OnData che distribuisce i confini comunali, provinciali e regionali italiani in diversi formati geografici (GeoJSON, Shapefile, PMTiles). Da qui provengono i poligoni comunali usati per visualizzare l'estensione territoriale dei finanziamenti PNRR.
Il dataset degli aggiudicatari è stato costruito unendo più fonti open data. Il flusso è stato realizzato da Dennis Angemi, esperto di dati e pipeline di integrazione. Di seguito i passaggi seguiti (operazioni una tantum, non ancora una pipeline automatica riproducibile).
Dataset open data di PA Digitale 2026 con tutte le candidature approvate per la misura PNRR 1.3.1 "Piattaforma Digitale Nazionale Dati". Da questo file si filtrano le sole voci relative all'ANNCSU e si estraggono i codici CUP (Codice Unico di Progetto) dei progetti finanziati.
Dataset dell'Autorità Nazionale Anticorruzione che associa i CUP ai relativi CIG (Codici Identificativi di Gara). Il file è distribuito come archivio ZIP di grandi dimensioni: per estrarre solo le righe rilevanti si può usare il comando unzip -p file.zip | grep -P "cup1|cup2|cup3|..." senza scompattare l'intero archivio. Si ottiene così la lista dei CIG ANNCSU.
Dataset ANAC che per ogni CIG riporta il vincitore del contratto pubblico: denominazione dell'impresa o del professionista, codice fiscale, ruolo e importo aggiudicato. Filtrando per i CIG ottenuti al passo precedente si ricava la lista completa degli aggiudicatari ANNCSU con tutti i dettagli economici.
Plugin per QGIS 3.20+ / 4.x realizzato da Salvatore Fiandaca (@pigreco) che permette di caricare i dati ANNCSU direttamente in QGIS partendo dai file Parquet locali. Ideale per chi lavora con GIS desktop e vuole analizzare, filtrare o elaborare gli indirizzi nazionali all'interno di un ambiente GIS completo.
Vai al repository GitHubUn ringraziamento speciale a Federico Cortese per i preziosi suggerimenti sul trattamento dei dati: l'aggiunta di un fallback sul nome del comune per i comuni privi di codice ISTAT (tra cui i comuni sardi), e la segnalazione del caso in cui il dataset ANAC riporta solo il codice fiscale dell'aggiudicatario senza la denominazione, causando la perdita del campo nel join.
Il pulsante Crea il tuo DataViz in cima alla mappa apre il costruttore di grafici e tabelle. I dati vengono caricati in autonomia, indipendentemente dalla mappa: il pulsante si attiva automaticamente quando tutto è pronto.
Nella prima sezione seleziona la forma del grafico: Barre, Linea, Area, Torta, Ciambella, Radar, Polare, Scatter, Bubble o Mixed (barre + linea sullo stesso asse). L'orientamento orizzontale/verticale e il limite di voci visualizzate si impostano nella sezione Configurazione Dati.
La Dimensione definisce le etichette sull'asse X (cosa raggruppi), la Metrica definisce il valore sull'asse Y (cosa misuri). Le opzioni sono organizzate in tre gruppi:
Una riga per comune, incrociata con il primo aggiudicatore PNRR assegnato. Dimensioni disponibili: Regione, Provincia, Comune, Aggiudicatore, Tipologia Ente, Misura PNRR. Metriche: Totale Civici, N. Comuni, Qualità OK/ERR/Totale.
Una riga per contratto PNRR. Dimensioni: Denominazione, Tipologia Ente, Tipologia Appalto, Misura, Avviso, Stato Candidatura. Metriche: N. Contratti, Importo Finanziamento, Importo Aggiudicazione.
Una riga per contratto arricchita con le statistiche civici del comune corrispondente (collegamento tramite codice ISTAT). Permette combinazioni come "Tipologia Ente → Totale Civici" o "Misura PNRR → Qualità geocodifica". Le dimensioni Join si riconoscono dal prefisso j_ nel selettore.
I filtri si trovano nella sezione Filtri Geografici del pannello sinistro. Usa i radio button per scegliere il livello attivo: Regione, Provincia, Comune o Aggiudicatore. I filtri sono a cascata: seleziona prima una regione, poi passa a Provincia per vedere solo le province di quella regione. Il pulsante Tutte/Tutti seleziona in un click tutte le opzioni visibili. I filtri si combinano in AND: puoi filtrare per regione e aggiudicatore contemporaneamente. Il tasto Reset azzera tutto.
Premi Genera Grafico. Se hai scelto una Dimensione dal gruppo Tabelle Dettaglio viene creata direttamente una tabella multi-colonna senza passare per il grafico.
Dopo la generazione compare il toggle Grafico | Tabella in cima all'area di anteprima. La tabella mostra gli stessi dati aggregati del grafico (con totali in fondo). Per le Tabelle Dettaglio le colonne si espandono su più campi e la tabella è scorrevole orizzontalmente.
Esporta il grafico corrente come immagine PNG ad alta risoluzione, con titolo, legenda e nota sulla fonte.
Esporta i dati visibili nella tabella in formato CSV con codifica UTF-8 + BOM, compatibile con Excel. I filtri geografici attivi vengono rispettati: il file contiene solo le righe effettivamente visualizzate.
Nel selettore Dimensione, in fondo all'elenco, ci sono due opzioni speciali:
Entrambe le tabelle rispettano i filtri geografici attivi e possono essere scaricate in CSV.
Alcuni grafici pronti da replicare in pochi clic.
Confronta le 20 regioni italiane in base alla percentuale di civici geocodificati correttamente e quelli fuori confine.
Le province con il maggior numero di indirizzi civici registrati in ANNCSU.
Quanti civici italiani ricadono in comuni gestiti da un Comune singolo, un'Unione di Comuni, una Provincia o altri enti?
Le aziende e i professionisti che hanno ricevuto il maggior finanziamento PNRR per aggiornare i dati ANNCSU.
Zoom su una singola regione: quali comuni hanno il maggior numero di civici fuori confine?
Per ciascuna misura del PNRR, quanti civici italiani ricadono nei comuni coperti? Utilizza il join per combinare i dati contrattuali con le statistiche degli indirizzi.
Seleziona un aggiudicatore nel filtro e visualizza tutti i comuni che gestisce, con il numero di civici di ciascuno.
Esporta in CSV la lista completa degli aggiudicatori con i comuni assegnati, la qualità geocodifica e gli importi PNRR, filtrata per la regione di interesse.
Grafici combinati e polari per analisi multi-variabile.
Barre per i civici geocodificati correttamente (OK) e fuori confine (ERR), con la terza serie Totale resa come linea sovrapposta. Confronto immediato tra volume assoluto e distribuzione degli errori.
Barre per l'importo totale di finanziamento ricevuto da ciascuna regione, linea per il numero di contratti. Evidenzia se le regioni con più contratti ricevono proporzionalmente più o meno fondi.
Seleziona una regione nel filtro e usa il Radar per confrontare le province su una metrica comune. La forma del poligono rivela subito le province più "forti" o più "deboli" su quel valore.
Radar sulle tipologie ente PNRR (Comune, Unione, Provincia…) con metrica Qualità OK/ERR/Totale. I tre vertici del poligono mostrano immediatamente quale tipologia gestisce più civici in assoluto e con quale qualità.
I 15 comuni più grandi di una provincia con le barre che mostrano OK e ERR, e la linea che sovrappone il totale. Permette di vedere se i comuni con più civici hanno anche una qualità proporzionalmente migliore o peggiore.
Filtra per una regione e visualizza gli aggiudicatori PNRR attivi con il Radar. Ogni asse è un aggiudicatore, il valore è il numero di civici dei comuni che gestisce: la forma mostra chi ha in carico il territorio più grande.
La mappa bivariate evidenzia, a livello comunale, dove il dato mancante o errato di ANNCSU ha il maggiore impatto reale sulla qualità dei servizi che dipendono dalla geocodifica degli indirizzi.
Un comune con pochi civici geocodificati male in una zona rurale disabitata ha un impatto pratico basso. Lo stesso tasso di errore in un comune densamente urbanizzato rappresenta un problema molto più grave. La mappa bivariate mette insieme queste due dimensioni in un'unica visualizzazione.
Percentuale di civici con coordinata corretta, al netto dei falsi positivi: indirizzi a cui il geocoder non ha trovato la posizione esatta e ha assegnato una coordinata di fallback (centroide del comune, centroide della via, posizione del municipio). Questi punti cadono dentro il confine ma sono inutilizzabili — decine o centinaia di indirizzi diversi condividono la stessa coordinata.
Il rilevamento dei cluster di fallback (hotspot DBSCAN con parametri eps = 8 m, min_points = 5) è basato sul lavoro di Matteo Fortini (progetto diff_ANNCSU).
Numero totale di civici diviso la superficie comunale in km². È un proxy efficace per l'urbanizzazione: i comuni densamente abitati hanno molti più indirizzi per unità di superficie rispetto ai comuni rurali o montani.
Entrambe le dimensioni vengono classificate in 3 classi (bassa / media / alta) usando i terzili della distribuzione reale dei comuni con dati ANNCSU disponibili (~5.107 comuni, non tutti i 7.918 comuni italiani). I quantili garantiscono che ogni classe contenga circa ⅓ dei comuni, compensando la forte asimmetria della densità urbana italiana.
Soglia bassa→media: 72,7% · Soglia media→alta: 95,1%
Soglia bassa→media: 45 civ/km² · Soglia media→alta: 114 civ/km²
La palette è derivata dalla metodologia bivariate di Joshua Stevens (2015), progettata per massimizzare la distinguibilità percettiva delle 9 combinazioni qualità × densità.
#be64ac
Massimo impatto reale: molti indirizzi errati in zona urbana. Sono i comuni dove un intervento urgente avrebbe la maggiore ricaduta pratica.
#3b4994
Comuni urbanizzati con buona copertura geocodifica.
#e8e8e8
Errori numerosi ma impatto pratico limitato: pochi servizi dipendono dalla geocodifica in questi territori.
#5ac8c8
Comuni rurali ben geocodificati.
eps=8m, min_points=5) possono includere cluster legittimi in edifici multipiano o piazze dense. La sottrazione degli hotspot è una stima conservativa, non una correzione esatta.Quattro analisi aggiuntive sulla qualità della geocodifica, calcolate da Matteo Fortini nel progetto diff_ANNCSU e riprese qui come snapshot: un workflow GitHub scarica periodicamente i file JSON pubblicati (l'hash nell'URL cambia a ogni build) e li salva nella cartella dati/ di questa app. I numeri sotto sono letti da quegli snapshot. Data del rilascio analizzato: —.
Fonte di tutte le tabelle di questa scheda. Elaborazione di Matteo Fortini sui dati open ANNCSU dell'Agenzia delle Entrate. Metodo e parametri sono documentati sul sito di origine.
Ambito corrente: nazionale. Le tabelle mostrano i primi 15 risultati dell'ambito scelto.
Il conteggio "fuori confine" usato altrove in questa app include anche civici a pochi metri dal limite comunale, spesso errori di confine e non di geocodifica. Questa analisi applica un buffer di 500 m attorno a ogni comune: i civici fuori anche dal buffer sono errori quasi certi.
Caricamento…
Comuni con più civici oltre 500 m
| Comune | Totale | Fuori | Fuori >500 m | % >500 m |
|---|
Fonte: anncsu_comuni_inout.json, diff_ANNCSU (M. Fortini).
Per ogni civico fuori confine, confronto tra la regione attesa (quella del comune) e la regione reale in cui cade la coordinata. "Fuori da tutte" = coordinata in mare o all'estero. Rivela errori sistematici, per esempio scambio lat/lon o comuni omonimi. Questa matrice è disponibile solo a livello regionale: i filtri provincia e comune non la restringono.
| Regione attesa | Regione reale | Civici |
|---|
Fonte: anncsu_cross_region_matrix.json, diff_ANNCSU (M. Fortini). Mostrati i 15 flussi principali.
Alternativa al DBSCAN usato nella mappa bivariata: il territorio è diviso in celle di 10 × 10 m e si contano i civici per cella. Una cella con un numero di civici sopra il 99° percentile nazionale è anomala: decine o centinaia di indirizzi con la stessa coordinata, tipico segno di geocodifica di fallback su centroide.
| Comune | Celle anomale | Max per cella | Civici coinvolti |
|---|
Fonte: anncsu_grid_quality.json, diff_ANNCSU (M. Fortini). Mostrati i 15 comuni con più civici in celle anomale.
Elenco dei comuni in cui i civici georeferenziati nell'ultimo rilascio sono meno dei civici totali presenti in ANNCSU. Ordinati dal completamento più basso: in cima i comuni a zero, cioè quelli che non hanno ancora caricato alcuna coordinata. Per ciascuno è indicato anche quanti dei civici già georeferenziati cadono fuori dal territorio comunale.
Caricamento…
Riepilogo per regione (comuni non completi / comuni della regione)
| Regione | Non completi | A zero | PNRR | Civici mancanti |
|---|
Comuni meno completi
| Comune | Civici totali | Georeferenziati | % completamento | Fuori confine | PNRR 1.3.1 |
|---|
Fonte: anncsu_andamento_spatial.json (totali e georeferenziati) e anncsu_comuni_inout.json (fuori confine), diff_ANNCSU (M. Fortini). Il conteggio fuori confine non è disponibile per i comuni a zero. La colonna PNRR indica la data del primo finanziamento sulla misura 1.3.1 (aggiudicatori.csv).
L'Agenzia delle Entrate pubblica un nuovo rilascio open data ANNCSU circa ogni mese. Matteo Fortini (progetto diff_ANNCSU) confronta ogni rilascio con il precedente e calcola, per Italia, regione e comune, quanti civici sono georeferenziati e quanti sono nuovi, rimossi o spostati. Questa scheda riprende quei numeri come snapshot locali. Rilasci disponibili: —, ultimo del —.
Fonte di tutte le tabelle di questa scheda. Elaborazione di Matteo Fortini sui rilasci mensili open data ANNCSU dell'Agenzia delle Entrate.
Ambito corrente: nazionale.
Per ogni rilascio: civici totali nell'ambito, civici con coordinata e percentuale. Per provincia e comune i valori sono somme esatte per codice ISTAT dei comuni inclusi.
Caricamento…
Rilasci
| Rilascio | Totale | Georef. | % | Nuovi | Rimossi | Spostati |
|---|
Variazioni per rilascio
Fonte: anncsu_stats.json, anncsu_spatial_stats.json, diff_ANNCSU (M. Fortini).
Percentuale di civici georeferenziati nell'ultimo rilascio, regione per regione. Sempre tutte le regioni: con un filtro attivo la regione scelta resta evidenziata e le altre passano in grigio.
| Regione | Totale | Georef. | % |
|---|
Fonte: anncsu_spatial_stats.json, diff_ANNCSU (M. Fortini).
Quanti comuni dell'ambito ricadono in ogni fascia di completamento nell'ultimo rilascio. Una distribuzione a due gobbe (molti comuni vicini a 0% e molti vicini a 100%) indica che la georeferenziazione procede comune per comune, non a piccoli passi diffusi.
Caricamento…
| Fascia | Comuni | % |
|---|
Fonte: anncsu_spatial_stats.json, diff_ANNCSU (M. Fortini).
Civici nuovi, rimossi e spostati tra il penultimo e l'ultimo rilascio. Ordinate per attività totale.
| Regione | Nuovi | Rimossi | Spostati |
|---|
Fonte: anncsu_spatial_stats.json, diff_ANNCSU (M. Fortini).
I 15 comuni con più civici nell'ambito nazionale. Questo elenco segue solo il filtro regione: nel file di origine i comuni sono identificati per nome, senza codice ISTAT, e un incrocio per nome non sarebbe esatto.
| Comune | Ultimo rilascio | Precedente |
|---|
Fonte: anncsu_spatial_stats.json, diff_ANNCSU (M. Fortini).
Per ogni comune, somma dei civici spostati (coordinata cambiata) e rimossi (scomparsi dal rilascio) su tutti i confronti tra rilasci consecutivi. Un comune che ricompare spesso in questa lista sta rimaneggiando i propri dati: può essere una bonifica in corso oppure un'instabilità della geocodifica. Come la sezione 5, segue solo il filtro regione.
Caricamento…
Comuni con più civici spostati o rimossi
| Comune | Spostati | Rimossi | Totale | Rilasci coinvolti |
|---|
Fonte: anncsu_spatial_stats.json, diff_ANNCSU (M. Fortini). Somma su tutti i rilasci disponibili.
Comuni che hanno georeferenziato meno della metà dei civici e non hanno cambiato il numero di georeferenziati da almeno 3 rilasci consecutivi. Hanno iniziato ma sembrano essersi fermati. I comuni ancora a zero non sono inclusi: sono nella scheda Qualità, sezione 4.
Caricamento…
Comuni fermi con più civici mancanti
| Comune | Civici totali | Georeferenziati | % completamento | Rilasci fermi |
|---|
Fonte: anncsu_spatial_stats.json, diff_ANNCSU (M. Fortini). "Rilasci fermi" = rilasci consecutivi, compreso l'ultimo, con lo stesso numero di georeferenziati.
Web app progettata e sviluppata da @gbvitrano in collaborazione con Claude AI (Anthropic), che ha affiancato le scelte architetturali, l'ottimizzazione del codice e lo sviluppo delle funzionalità di visualizzazione geospaziale.
Il codice sorgente di questa applicazione è pubblicamente disponibile su GitHub. Contributi, segnalazioni di bug e suggerimenti sono benvenuti tramite le Issues del repository.
I contenuti di questa applicazione sono rilasciati sotto licenza CC BY 4.0 – Attribuzione 4.0 Internazionale. Sei libero di condividere e adattare il materiale per qualsiasi scopo, anche commerciale, a condizione di citare adeguatamente la fonte.
Il tuo grafico apparirà qui
Seleziona le opzioni e clicca "Genera Grafico"Scarica tutti i numeri civici del comune in formato GeoParquet (compatibile con QGIS (EPSG 4326), DuckDB, Python…)
| # | Città | Prov. | Codice Catastale |
|---|---|---|---|
| 1 | Roma | RM | H501 |
| 2 | Milano | MI | F205 |
| 3 | Napoli | NA | F839 |
| 4 | Torino | TO | L219 |
| 5 | Palermo | PA | G273 |
| 6 | Genova | GE | D969 |
| 7 | Bologna | BO | A944 |
| 8 | Firenze | FI | D612 |
| 9 | Bari | BA | A662 |
| 10 | Venezia | VE | L736 |
Il codice catastale (detto anche codice Belfiore) è composto da una lettera seguita da 3 numeri ed è assegnato dall'Agenzia delle Entrate a ogni comune italiano. Viene usato, tra l'altro, nel calcolo del codice fiscale per identificare il luogo di nascita.