icon

CatastoIT GML Merger Pro

Plugin QGIS per il download e la fusione di dati catastali italiani — v0.9.2

Introduzione

CatastoIT GML Merger Pro è un plugin per QGIS 3.22+ che consente di scaricare, estrarre e unire automaticamente i dati catastali vettoriali italiani pubblicati dall'Agenzia delle Entrate (AdE) tramite il RNDT (Repertorio Nazionale Dati Territoriali).

Con pochi clic è possibile ottenere layer pronti in QGIS per province e comuni selezionati, con campi aggiuntivi calcolati automaticamente (foglio, particella, sezione censuaria, nome comune).

I dati catastali vettoriali sono in formato GML (Geography Markup Language) e vengono automaticamente convertiti in GeoPackage (.gpkg), formato nativo di QGIS ad alte prestazioni.

Installazione

Da QGIS Plugin Manager Consigliato

  1. Aprire QGIS e andare su Plugin → Gestisci e installa plugin
  2. Cercare CatastoIT GML Merger Pro
  3. Cliccare Installa plugin
  4. Il plugin appare nella barra degli strumenti di QGIS

Installazione manuale

  1. Scaricare il file .zip dalla pagina Release
  2. In QGIS: Plugin → Gestisci e installa plugin → Installa da ZIP
  3. Selezionare il file scaricato e installare
  4. Riavviare QGIS se richiesto

Requisiti

ComponenteVersione minima
QGIS3.22+
Python3.7+
GDAL/OGRincluso in QGIS
Connessione internetrichiesta per il download

Flusso di lavoro

  1. Scegli Regione e Province
    Seleziona la regione italiana dal menù a tendina. Scegli una o più province dall'elenco (CTRL+clic per selezione multipla).
  2. Filtro Comuni [Opzionale]
    Se vuoi elaborare solo alcuni comuni della provincia, cerca e sposta i comuni nel pannello di destra tramite doppio clic o il tasto →. Se lasci vuoto il pannello, verranno elaborati tutti i comuni della provincia.
  3. Tipo di file
    Scegli se scaricare Mappe (MAP), Particelle (PLE) o Entrambi.
  4. Opzioni campi aggiuntivi
    Attiva/disattiva i checkbox: Aggiungi Sezione Censuaria (solo PLE) e Aggiungi Nome Comune (valido per MAP e PLE).
  5. Cartella di destinazione
    Seleziona dove salvare i file GeoPackage prodotti. Opzionalmente specifica una cartella temporanea su disco con spazio sufficiente.
  6. Granularità Output
    Scegli come aggregare i dati nel GeoPackage di output: Unico file (tutti i comuni), Un file per provincia o Un file per comune. Vedi la sezione Granularità Output per i dettagli.
  7. Nome file output
    Inserisci il nome del file di output (senza estensione). L'estensione .gpkg viene aggiunta automaticamente. Se hai applicato un filtro per comuni, il nome viene arricchito con i codici Belfiore selezionati.
  8. Riproiezione [Opzionale]
    Il CRS nativo dei dati AdE è EPSG:6706 (RDN2008 Geographic 2D). Se il tuo progetto usa un sistema diverso (es. EPSG:32633 UTM33N), selezionalo qui per ottenere il file già riproiettato.
  9. Elabora
    Clicca il pulsante verde Elabora. Il processo gira in background; il log in basso mostra lo stato in tempo reale. Al termine, se hai attivato Carica layer in QGIS, i layer vengono aggiunti automaticamente al progetto.

Interfaccia

Interfaccia del plugin
ElementoDescrizione
Scegli RegioneSeleziona la regione italiana da cui scaricare i dati
ProvinceSelezione multipla province (CTRL+clic)
Filtro Comuni [Opzionale]Transfer widget per selezionare i singoli comuni
Tipo FileMAP, PLE o Entrambi
Aggiungi Sezione CensuariaCheckbox – aggiunge il campo sez_censuaria solo nelle PLE
Aggiungi Nome ComuneCheckbox – aggiunge il campo comune per MAP e PLE
URL (Download)URL generato automaticamente dal plugin – non modificare
Cartella destinazioneDove salvare i GeoPackage finali
Cartella temporaneaCartella per file intermedi (opzionale, usa temp di sistema se vuota)
Formato OutputSolo GeoPackage (.gpkg)
Granularità OutputUnico file / per provincia / per comune (vedi sezione dedicata)
Nome File MAPPE / PARTICELLENome del file di output senza estensione
RiproiettaCRS di destinazione opzionale (default EPSG:6706)
Carica layer in QGISAggiunge i layer al progetto al termine
ElaboraAvvia il processo in background

Tipi di file

MAP – Mappe catastali Vettoriale Poligoni

Contiene i fogli di mappa catastale (particelle grafiche). Ogni feature corrisponde a un'unità cartografica catastale delimitata dai confini del foglio di mappa. Il campo calcolato foglio viene estratto automaticamente dal gml_id.

PLE – Particelle Vettoriale Poligoni

Contiene le particelle catastali (unità immobiliari fondiarie). Campi calcolati disponibili: foglio, particella, sez_censuaria (opzionale).

Nota fonte dati: I dati vengono scaricati dal servizio WFS dell'Agenzia delle Entrate tramite il portale RNDT. URL formato: https://wfs.cartografia.agenziaentrate.gov.it/inspire/wfs/GetDataset.php?dataset={REGIONE}.zip

Campi calcolati

Il plugin aggiunge automaticamente campi calcolati a partire dal campo gml_id (presente nei GML originali) e dal campo ADMINISTRATIVEUNIT (codice Belfiore del comune).

Struttura del gml_id

CadastralParcel.IT.AGE.PLA.M011_000100.1
                           ^^^^─────────────── Belfiore (es. M011 = Palermo)
                               ^─────────────── Sezione censuaria (1 char)
                                ^^^^──────────── Foglio (4 char, posizioni 32-35)
                                    ^^────────── Particella (da posizione 39)
CampoTipoDisponibileDescrizione
foglio String MAP + PLE Numero del foglio catastale (4 cifre, estratto da gml_id[32:36])
particella String Solo PLE Numero della particella catastale (estratto da gml_id[39:])
sez_censuaria String (1) Solo PLE – opzionale Sezione censuaria (1 carattere, estratto da gml_id[31:32]). Attivabile con il checkbox.
comune String MAP + PLE – opzionale Nome del comune ricavato dal codice Belfiore contenuto in ADMINISTRATIVEUNIT. Attivabile con il checkbox Aggiungi Nome Comune.
Campo ADMINISTRATIVEUNIT: contiene il codice Belfiore del comune (es. M011 = Palermo, A662 = Agrigento). Questo campo è già presente nei GML originali e viene conservato nell'output.

Filtro Comuni

Il filtro per comune consente di elaborare solo i comuni selezionati all'interno delle province scelte, riducendo i tempi di elaborazione e le dimensioni dei file di output.

Come funziona il transfer widget

Se non viene selezionato nessun comune, il plugin elabora tutti i comuni della/delle province scelte.
Attenzione: le province dei comuni selezionati devono essere selezionate anche nell'elenco province. Se clicchi Elabora con comuni selezionati le cui province non sono spuntate, il plugin mostra un avviso che elenca le province mancanti e blocca l'avvio fino a quando non le selezioni.

Suffisso nel nome file

Quando il filtro è attivo, il nome del file di output viene automaticamente suffisso con i codici Belfiore dei comuni selezionati. Esempio:

particelle_catastali_A662_A089.gpkg   ← filtro con 2 comuni

Granularità Output

La combobox Granularità (nella stessa riga di Formato Output) controlla come i dati vengono aggregati nei file GeoPackage prodotti.

Unico file (tutti i comuni) Default

Comportamento classico: tutti i comuni delle province selezionate vengono fusi in un unico GeoPackage per tipo (MAP e/o PLE).

mappe_catastali_RM_LT.gpkg
particelle_catastali_RM_LT.gpkg

Un file per provincia Nuovo

Il plugin produce un GeoPackage separato per ogni provincia elaborata. Al nome base viene aggiunto il codice provincia come suffisso.

mappe_catastali_RM.gpkg
mappe_catastali_LT.gpkg
particelle_catastali_RM.gpkg
particelle_catastali_LT.gpkg

Se l'opzione Carica layer in QGIS è attiva, tutti i layer vengono caricati all'interno di un gruppo nel pannello Layer denominato Catasto – per provincia.

Un file per comune Nuovo

Il plugin produce un GeoPackage separato per ogni comune elaborato. Al nome base viene aggiunto il codice provincia e il codice Belfiore del comune come suffisso.

particelle_catastali_RM_H501.gpkg   ← Roma (provincia RM)
particelle_catastali_AG_A662.gpkg   ← Agrigento (provincia AG)
particelle_catastali_MI_F205.gpkg   ← Milano (provincia MI)

Se l'opzione Carica layer in QGIS è attiva, tutti i layer vengono caricati all'interno di un gruppo nel pannello Layer denominato Catasto – per comune.

Nota sulla riproiezione: se è selezionato un CRS diverso da EPSG:6706, ogni file di output viene riproiettato individualmente. Se la riproiezione di un singolo file fallisce, il file viene comunque caricato nel CRS originale EPSG:6706.

Output

File GeoPackage (.gpkg)

I file prodotti sono GeoPackage standard, apribili in QGIS, GRASS, GDAL e qualsiasi GIS compatibile con OGR.

CampoNote
fidIdentificatore univoco feature
gml_idIdentificatore originale GML (AdE)
ADMINISTRATIVEUNITCodice Belfiore del comune
foglioNumero foglio catastale
particellaNumero particella (solo PLE)
sez_censuariaSezione censuaria (opzionale, solo PLE)
comuneNome comune (opzionale, MAP e PLE)

CRS

Il CRS nativo dei dati AdE è EPSG:6706 (RDN2008 Geographic 2D – coordinate in gradi decimali). I GeoPackage prodotti vengono etichettati come EPSG:4326 (WGS84): le coordinate sono identiche a RDN2008 (differenza <1 m per l'Italia), ma EPSG:4326 garantisce la corretta visualizzazione in QGIS con mappe di sfondo (es. OpenStreetMap) su versioni GDAL 3.12+ / PROJ 9.7+ che introducono una mappatura degli assi lat/lon che causa problemi con EPSG:6706.

Per lavorare in UTM o altri sistemi metrici, usa il widget Riproietta.

Proiezioni comuni consigliate: EPSG:32632 (UTM32N), EPSG:32633 (UTM33N), EPSG:6875 (RDN2008/Italy zone), EPSG:3857 (Web Mercator).

Note tecniche

Strategia di merge (3 livelli)

Il plugin tenta il merge con tre strategie in cascata:

  1. QGIS mergevectorlayers – metodo principale, il più veloce
  2. Merge a batch da 10 file – usato se il metodo 1 fallisce
  3. Merge OGR diretto – fallback finale, usa GDAL/OGR nativo

Struttura ZIP dei dati AdE

REGIONE.zip
└── {PROV}.zip
    └── {BELFIORE}_{NOME}.zip
        ├── {BELFIORE}_{NOME}_ple.gml
        └── {BELFIORE}_{NOME}_map.gml

Gestione memoria

I file ZIP delle province vengono estratti in memoria (BytesIO) senza scrivere file intermedi su disco. Solo i GML necessari vengono estratti su disco nella cartella temporanea. La cartella viene pulita alla chiusura del plugin.

Elaborazione in background

Tutta l'elaborazione avviene in un QgsTask dedicato, così QGIS rimane reattivo durante il download e il merge.

FAQ

Il layer appare a (0,0) o non si vede sulla mappa

Questo problema può avere due cause:

  • CRS non assegnato (versioni < v0.5): usa Imposta SRS layer in QGIS per assegnare EPSG:6706 ai file esistenti.
  • Layer invisibile con sfondo OSM (GDAL 3.12+ / PROJ 9.7+): EPSG:6706 produce una mappatura degli assi lat/lon (2,1) che impedisce la corretta riproiezione verso EPSG:3857. I file prodotti dalla v0.8 sono già etichettati come EPSG:4326 e non presentano questo problema. Per i file precedenti, riassegna il CRS come EPSG:4326 in QGIS.

L'elaborazione è lenta per province grandi

Province con molti comuni (es. Roma, Milano) possono richiedere diversi minuti. Usa il Filtro Comuni per elaborare solo i comuni di interesse e ridurre drasticamente i tempi.

Il campo comune è vuoto per alcune feature

Accade se il codice Belfiore in ADMINISTRATIVEUNIT non è riconosciuto (comune soppresso, fusione recente, ecc.). Il campo viene lasciato vuoto senza interrompere l'elaborazione.

Errore "No module named" all'avvio del plugin

Assicurati di aver installato la versione corretta e di avere solo una versione del plugin nella cartella dei plugin di QGIS. Crea un nuovo profilo QGIS se il problema persiste.

Posso usare il plugin offline?

No. Il download dei dati richiede connessione internet verso il server dell'Agenzia delle Entrate (wfs.cartografia.agenziaentrate.gov.it).

Crediti

RuoloNomeProfilo
Sviluppo principale Totò Fiandaca @pigreco
Co-sviluppatore Giulio Fattori @giuliofattori

Fonte dati

Licenza

Il plugin è rilasciato sotto licenza GNU General Public License v2.

Repository GitHub  ·  Segnala un bug  ·  Releases