Zone CAP Italia v2: da Voronoi a 3,4 milioni di particelle catastali

Il dataset CAP subcomunali Italia v2 ricostruisce 576 zone in 37 città usando particelle catastali e 5 fonti dati. Accuratezza 97,1%, download gratuito in GeoPackage, GeoJSON e Shapefile.

Team Zornade
11 min di lettura
Immagine di copertina per: Zone CAP Italia v2: da Voronoi a 3,4 milioni di particelle catastali

Zone CAP Italia v2: da Voronoi a 3,4 milioni di particelle catastali

I codici di avviamento postale italiani restano uno dei paradossi aperti dell'open data nazionale. Un'infrastruttura usata ogni giorno da milioni di persone, gestita come dato proprietario da Poste Italiane. A settembre 2025 abbiamo pubblicato la prima versione del dataset CAP subcomunali, basata su diagrammi di Voronoi e indirizzi OpenStreetMap. Ha funzionato, ma con un limite strutturale: i confini erano approssimazioni geometriche, non confini reali.

La versione 2 cambia radicalmente approccio. Invece di Voronoi, usa 3.435.296 particelle catastali dall'Agenzia delle Entrate come base, con una pipeline a 9 fasi che incrocia 5 fonti dati indipendenti. Le zone delle 37 città multicap sono state ricostruite da zero. Il risultato: 97,1% di accuratezza validata su Reggio Emilia, contro l'84,3% della v1.

Il dataset è gratuito e scaricabile in tre formati GIS dalla pagina download dataset.


Cosa cambia dalla v1 alla v2

La v1 aveva un approccio elegante ma approssimativo: prendeva gli indirizzi OpenStreetMap con tag addr:postcode, costruiva diagrammi di Voronoi e tagliava il risultato sui confini comunali ISTAT. Produceva zone CAP con bordi rettilinei e artificiali.

La v2 ribalta il metodo. Parte dalle particelle catastali — le unità fisiche del territorio italiano (ogni terreno, edificio, cortile è una particella) — e assegna un CAP a ciascuna usando dati da 5 fonti. Poi dissolve le particelle adiacenti con lo stesso CAP per ottenere le zone.

Aspetto v1 (2025) v2 (2026)
Base geometrica Diagrammi di Voronoi Particelle catastali
Fonti dati per CAP 1 (OpenStreetMap) 5 (OSM + OpenAddresses + Foursquare + Stradari + Catasto)
Particelle processate 3.435.296
Fasi pipeline 5 9
Accuratezza (Reggio Emilia) 84,3% Jaccard 97,1% per particella
Zone totali 9.440 9.228
Zone multicap 817 (Voronoi) 576 (catasto) + 23 (dati.gov.it) + 6 (OSM)
Copertura particelle 100%

Le zone sono diminuite (da 9.440 a 9.228) perché i Voronoi frammentavano artificialmente il territorio. Milano, ad esempio, passa da 62 a 38 zone — non perché mancano CAP, ma perché la v1 creava zone spurie. Il numero di CAP realmente serviti resta invariato: 4.627.


Le 37 città ricostruite

La v2 ricalcola le zone multicap di 37 città italiane. Le zone monocap (8.623 comuni con un solo CAP) restano invariate dalla v1, così come Bologna e Reggio Emilia che mantengono i dati ufficiali pubblicati dai rispettivi comuni.

Città Zone v1 Zone v2 Superficie km²
Roma 91 73 1.183
Genova 65 43 235
Milano 62 38 158
Trieste 53 28 85
Messina 43 42 205
Padova 39 21 87
Torino 35 33 110
Palermo 34 26 153
Napoli 33 25 101
Firenze 26 21 93
Verona 25 20 190
Venezia 21 17 409
Perugia 21 14 441
Brescia 20 15 83
Bari 18 11 111
La Spezia 17 13 49
Pescara 17 9 32
Cagliari 16 11 83
Reggio di Calabria 16 14 232
Livorno 15 8 100
Salerno 14 14 57
Ancona 11 10 121
Catania 11 10 177
Pisa 10 8 180
Ravenna 10 5 638
Ferrara 10 4 394
Bergamo 9 9 37
Modena 8 6 176
Verbania 6 5 36
Taranto 6 3 243
Parma 6 6 255
Rimini 4 4 130
Cesena 4 2 242
Pesaro 4 2 149
Alessandria 3 2 199
Foggia 3 2 497
Piacenza 2 2 116
Totale 788 576 7.784 km²

Superficie totale coperta dalle zone ricalcolate: 7.784 km².


La pipeline a 9 fasi

Ogni particella catastale riceve un CAP e un punteggio di confidenza (da 0 a 1). Le fasi lavorano in sequenza: ciascuna assegna un CAP alle particelle ancora scoperte, con tecniche progressivamente più aggressive.

Fase 0 — Pre-pulizia

Filtraggio dei CAP invalidi e rimozione degli outlier spaziali. Per ogni punto, si controlla che almeno l'80% dei 10 punti più vicini appartenga allo stesso CAP. I punti isolati vengono penalizzati (-0,60 confidenza).

Fase 1 — Scoring confidenza

Ogni punto riceve un punteggio basato sulla fonte di provenienza:

Fonte Confidenza base
OpenStreetMap (addr:postcode) 0,80
OpenAddresses + stradario (concordi) 0,95
OpenAddresses + stradario (singolo) 0,85
Stradari pubblici 0,70
Foursquare Open Places 0,50

Bonus di +0,20 quando due fonti indipendenti concordano sullo stesso CAP per lo stesso punto. Il principio è: più fonti dicono la stessa cosa, più alta la fiducia.

Fase 2 — Spatial join (16,2% delle particelle)

Ogni punto viene assegnato alla particella che lo contiene. Se una particella contiene più punti con CAP diversi, vince il voto di maggioranza pesato per confidenza. 557.737 particelle ricevono il CAP in questa fase.

Fase 3 — Buffer strade (33,2% delle particelle)

Per le particelle senza punti interni, si cerca se sono entro 30 metri da una strada con CAP noto. La logica: le particelle lungo una via prendono il CAP della via. 1.143.982 particelle assegnate.

Fase 4 — KNN da punti (46,0% delle particelle)

I 15 punti più vicini (entro 1.000 m) votano con peso inversamente proporzionale alla distanza, moltiplicato per la confidenza. È la fase che copre il volume maggiore: 1.584.309 particelle.

Fase 5 — KNN da parcelle (4,6% delle particelle)

Propagazione dai vicini già assegnati. Fino a 500 m, 3 iterazioni. 158.956 particelle assegnate.

Fase 6 — Smoothing

Correzione delle isole: particelle con confidenza ≤ 0,7 il cui CAP diverge da tutti i vicini entro 200 m. 12.316 correzioni.

Fase 7 — Post-processing

Analisi topologica: le particelle isolate (meno del 10% della zona connessa circostante) vengono riassegnate alla zona dominante. 7.722 correzioni.

Fase 8 — Nearest unlimited (1,2% delle particelle)

L'ultima rete di sicurezza: le particelle residue (concentrate in zone rurali di Foggia, Reggio Calabria, Taranto, Catania) ricevono il CAP del vicino assegnato più prossimo, senza limite di distanza. 40.937 particelle con confidenza 0,1.


5 fonti dati, non una sola

La v1 dipendeva interamente da OpenStreetMap. La v2 incrocia 5 fonti indipendenti:

Particelle catastali (base geometrica)

3.435.296 unità dal servizio WFS dell'Agenzia delle Entrate. Sono il substrato fisico: ogni terreno, edificio, cortile è una particella.

OpenStreetMap

Tutti i nodi e way con tag addr:postcode nei 37 comuni multicap. Resta la fonte primaria di punti georiferiti con CAP (confidenza base 0,80).

OpenAddresses

Indirizzi geocodificati da openaddresses.io (dati governativi aperti). Arricchiti con CAP tramite matching con gli stradari comunali. Quando il match è positivo, la confidenza è 0,85–0,95.

Foursquare Open Places

POI con codice postale dal dataset pubblico Foursquare. Fonte secondaria (confidenza 0,50), utile soprattutto per la cross-validazione: se Foursquare concorda con OSM, la fiducia sale.

Stradari pubblici

Due stradari indipendenti che associano nomi di strade ai CAP. Quando entrambi concordano, la confidenza raggiunge 0,95. Permettono anche di assegnare CAP a strade OSM senza tag addr:postcode.


Validazione: 97,1% su Reggio Emilia

Reggio Emilia è il banco di prova ideale: il comune ha pubblicato in open data i poligoni ufficiali delle 4 zone CAP (42121–42124). Per ogni particella catastale (72.382 in totale), il CAP assegnato dalla pipeline viene confrontato con il CAP della zona ufficiale.

Metrica Valore
Particelle confrontate 72.382
Accuratezza complessiva 97,1%
Accuratezza alta confidenza (≥ 0,70) 99,4%
Indice di Jaccard medio 81,3%

Dettaglio per zona

CAP Accuratezza Jaccard
42121 (centro storico) 96,8% 55,3%
42122 97,4% 91,9%
42123 96,3% 91,1%
42124 97,5% 86,8%

Perché Jaccard è più basso della v1

Il Jaccard areale scende da 84,3% a 81,3%. Sembra un peggioramento, ma non lo è. Nella v1, il Jaccard confrontava la sovrapposizione areale tra poligoni Voronoi e poligoni ufficiali — due forme geometriche simili nella scala. Nella v2, anche un piccolo scostamento nel confine tra due zone produce una fascia di disaccordo ampia. L'accuratezza per particella (97,1%) è la metrica che conta per l'uso pratico: il 97,1% delle particelle finisce nella zona CAP corretta.


Post-processing delle geometrie

Dopo il dissolve delle particelle in zone CAP, le geometrie passano per tre fasi di pulizia:

  1. Validazione: buffer(0), make_valid, rimozione geometrie vuote, conversione a Polygon/MultiPolygon.
  2. Riempimento buchi: 107.324 buchi iniziali → 2.515 finali (97,7% rimossi). I micro-buchi da dissolve (97.530) vengono eliminati. I buchi da strade, fiumi, ferrovie (7.279) vengono riempiti espandendo le zone adiacenti.
  3. Ricalcolo metriche: superficie e perimetro in EPSG:6875 (proiezione conica conforme ottimizzata per l'Italia).

Struttura del dataset

Campo Tipo Descrizione
cap string Codice di Avviamento Postale
comune string Nome del comune
comune_cap string Range CAP del comune
codice_bel string Codice Belfiore
regione string Regione
provincia string Provincia
provincia_ string Sigla provincia
superficie float Superficie in km²
perimetro_ float Perimetro in km
numpunti float Numero di particelle catastali aggregate
fonte string Origine dei dati (catasto+osm, comuni_singlecap, dati.gov.it, osm)
ultimo_agg string Data ultimo aggiornamento
geometry MultiPolygon WGS84 (EPSG:4326)

Il campo fonte è la chiave per l'affidabilità: le zone catasto+osm (576) sono le nuove, ricostruite dalla pipeline a 9 fasi. Le zone dati.gov.it (23) sono ufficiali. Le zone comuni_singlecap (8.623) hanno il confine del comune intero. Le zone osm (6) sono residue dalla v1.


Download

Il dataset v2 è disponibile in tre formati dalla pagina download:

Formato Dimensione
GeoPackage (.gpkg) 204 MB
GeoJSON 464 MB
Shapefile 202 MB

Per esplorare le zone CAP su una mappa interattiva, usa la Mappa CAP Italia.


Il paradosso dei CAP italiani (ancora)

Nel 2006, in preparazione della privatizzazione, Poste Italiane ha reso il database CAP un prodotto commerciale (CAP Zone). Maurizio Napolitano lo ha documentato nel suo articolo "Lo sai vero che i CAP non sono open data?".

Solo due comuni italiani hanno pubblicato autonomamente le mappe CAP in open data: Bologna e Reggio Emilia. Questi dati ufficiali sono inclusi nel dataset v2 e usati come benchmark di validazione.

La ricostruzione da particelle catastali non è la soluzione ideale — quella sarebbe la pubblicazione ufficiale da parte di Poste Italiane. Ma con 5 fonti indipendenti e 97,1% di accuratezza, è la migliore approssimazione open disponibile oggi per l'Italia.


Prossimi passi

  • Aggiornamenti trimestrali del dataset su /data-downloads
  • Estensione della validazione ad altri comuni con dati confrontabili
  • Miglioramento Fase 8: ridurre la distanza mediana per le particelle rurali residue (attualmente 800–2.000 m)
  • Integrazione con la documentazione API per query CAP programmatiche

Riferimenti

Hai bisogno di integrare dati catastali nei tuoi sistemi?

Abbiamo già realizzato piattaforme PropTech, integrazioni Sister e dashboard territoriali per aziende immobiliari e PA. Possiamo fare lo stesso per te.

Richiedi un preventivo gratuito