WMS CATASTO ADE: ESTRARRE I DATI CON IL FIELD CALC DI QGIS

Il 24 settembre 2020 è una data storica e rimarrà impressa nella mente di molte persone in quanto le mappe catastali, usufruibili tramite servizio WMS del AdE, diventano utilizzabili grazie alla modifica della licenza da  CC BY-NC-ND 4.0 a CC BY 4.0.

Per scaricare i dati dal WMS esistono vari metodi ma, in questo blog post, descriverò solo quello utilizzabile in QGIS, la logica è presa in prestito dal blog post di Andrea Borruso (grazie mille):

QGIS

Metodo GetFeatureInfo e output in HTML:

Funzione personalizzata da usare nel Calcolatore di campi di QGIS:

# -*- coding: utf-8 -*-
"""
/***************************************************************************
WMS Catasto Agenzia delle Entrate CC BY 4.0
——————-
copyright : (C) 2020 by Giulio Fattori
email : xxxxx.xxxxxxx@xxxxx.it
***************************************************************************/
"""
from qgis.core import *
from qgis.gui import *
import requests
@qgsfunction(args='auto', group='Custom')
def get_parcel_info2(xx, yy, EPSG, feature, parent):
"""
<h1>WMS Catasto Agenzia delle Entrate CC BY 4.0:</h1><br>
La funzione, tramite una richiesta GetFeatureInfo, restituisce le informazioni utili sulla particella che ricade sotto il pixel di mio interesse:
<h2>Esempio:</h2>
<ul>
<li>get_parcel_info(355461.5,4222490.7,'EPSG:3045') -> 'IT.AGE.PLA.G273_0033A0.673'</li>
<li>get_parcel_info("fieldX", "fieldY",'EPSG:3045') -> 'IT.AGE.PLA.G273_0033A0.673'</li>
<li>get_parcel_info("fieldX", "fieldY",@project_crs) -> 'IT.AGE.PLA.G273_0033A0.673'</li>
</ul>
<h2>NB: le coordinate X e Y devono essere espresse nel EPSG utilizzato (gli EPSG disponibili sono:6706,4258,25832/3/4,3044/5/6)</h2>
"""
req = "https://wms.cartografia.agenziaentrate.gov.it/inspire/wms/ows01.php?REQUEST=GetFeatureInfo&SERVICE=WMS&SRS="+EPSG+"&STYLES=&VERSION=1.1&FORMAT=image/png&BBOX="+str(xx-1)+&quot;,"+str(yy-1)+","+str(xx+1)+","+str(yy+1)+"&HEIGHT=9&WIDTH=9&LAYERS=CP.CadastralParcel&QUERY_LAYERS=CP.CadastralParcel&INFO_FORMAT=text/html&X=5&Y=5"
r = requests.get(req, auth=('user', 'pass'))
a = r.text.partition("InspireId localId</th><td>")[2]
b = a.partition("</td>")[0]
return b
view raw WMS_catasto.py hosted with ❤ by GitHub

il file zippato è scaricabile cliccando qui.

Dove mettere il file

Scaricare lo script WMS_catasto.py e metterlo nella seguente cartella:

Per Windows:
C:\Users\nomeUtente\AppData\Roaming\QGIS\QGIS3\profiles\default\python\expressions

Per OSX:
/Users/[NAME USER]/Library/Application Support/QGIS/QGIS3/profiles/default/python/expressions

al riavvio di QGIS, trovate la funzione nel calcolatore di campi di QGIS nel gruppo Custom:

Come usare la funzione personalizzata

La funzione è get_parcel_info(), come da esempio nella guida in linea, richiede due argomenti (le coordinate X e Y) ovvero è possibile dargli in pasto due campi che contengono le coordinate X e Y.

In questo video è spiegato tutto: nella InfoBox trovate i marcatori di capitolo:


NOTE FINALI: Per favore non abusare di questo servizio, con questo metodo descritto sopra potrai mandare in tilt i server dell AdE e rischiare di far chiudere il servizio.

Un ringraziamento particolare ad Andrea Borruso, che ha pensato, realizzato e condiviso questi metodi.

Nel gist trovate le espressioni utilizzate per i campi virtuali.


RINGRAZIAMENTI

RIFERIMENTI


Se il blog post vi è piaciuto cliccate su ‘Mi piace’, grazie!!!
if you liked the blog post click on ‘Like’, thank you !!!

SE IL POST VI È STATO UTILE CONTRIBUITE A MANTENERLO AGGIORNATO PAYPAL


39 pensieri su “WMS CATASTO ADE: ESTRARRE I DATI CON IL FIELD CALC DI QGIS

  1. Provato…funziona perfettamente….grazie
    Una domanda: come si potrebbe modificare la procedura per estrarre dati di un gruppo di particella senza doverle cliccare una ad una??

    Piace a 1 persona

      1. Intanto grazie per il tuo lavoro preziosissimo e fatto veramente bene, anche perchè dici quei piccoli dettagli che ad un neofita sono molto ma molto utili.
        Ti scrivo, da neofita per capire 2 cose:
        – creare un file, file in excel con 2 colonne e relative coordinate (X,Y o Y,X)?
        – funzione personalizzata: quale è, dove si trova?

        Grazie ancora 🙂

        "Mi piace"

      2. Hai scritto: “Basta creare un file con due campi X e Y, li popoli con le coordinate e poi usi la funzione personalizzata.”
        Il fatto e che le coordinate le devo estrapolare da un file KML quindi vorrei sapere se il file da creare posso farlo esterno a qgis e poi importarlo, se cio è possibile, lo creo in excel e lo importo ma non saprei come fare a inserire le coordinate presenti nel file excel dentro la tabella attributi.
        grazie

        "Mi piace"

      3. Il post lo ho scritto più di un anno fa, ma non trovo scritto nulla di quello che virgoletti.

        Se hai un file KML puoi importarlo in QGIS e estrapolare le coordinate.

        Capisco che sei neofita, ma questi problemi vanno oltre il post.

        Se hai bisogno di una consulenza contattami tramite il mio canale Telegram https://t.me/pigrecoinfinito

        Piace a 1 persona

  2. Grazie delle informazioni chiare e puntuali che ci concedi…
    Ho provato la funzione sopra indicata, ed opera egregiamente…DOMANDA: sarebbe possibile ottimizzare la funzione per un estrazione del dato catastale su un ingombro poligonale o lineare?

    "Mi piace"

  3. Ciao Totò,
    se abbiamo ad esempio l’ingombro di una strada di 3 mt di larghezza e mt 100 di lunghezza che attraversa una serie di particelle, sarebbe possibile estrarre le informazioni dal wms catastale relativamente alle particelle intersecate dal tracciato? non avremmo più quindi dei punti con delle coordinate x-y ma uno shape poligonale o lineare georeferenziato.
    pensavo ad una possibile applicazione per le procedure di esproprio ricavando i dati foglio e particella dal wms catastale incrociandoli con i dati .ter ecc. dell’agenzia delle entrate automatizzando in questo modo la ricerca delle proprietà, tipologia della coltura etc.

    (ps. attualmente procedo con la rototraslazione dei fogli .cxf convertendoli poi in shape ed intersecandoli con un eventuale tracciato, ma non sempre i fogli .cxf sono disponibili o aggiornati)

    Piace a 1 persona

  4. Buongiorno sono un GeoDataAnalyst e mi sto approcciando da poco alle tematiche catastali. Volevo sapere se c’è modo di estrarre dal WMS le bounding box dei fogli e delle particelle in automatico presenti in una regione o in tutta Italia direttamente? Senza dover mettere io dei punti a definire quali voglio scaricare. Grazie in anticipo

    "Mi piace"

    1. Buongiorno Mattew,
      che io sappia dal WMS è possibile estrarre i BBOX delle particelle, per i foglio non lo so.

      Il WMS però è sottoposto a token con validità di circa 10 minuti e valido per provincia.

      saluti

      "Mi piace"

  5. Buongiorno, è possibile tramite una tabella in input, contenente i dati di comune, foglio e mappale risalire alla posizione in modo automatico della particella sulla mappa wms e contrassegnarla con un elemento vettoriale. Mi si pone il problema, in quanto dovrei individuare la posizione di parecchie decine di particelle sulla mappa. Grazie

    Piace a 1 persona

  6. ciao, ho provato e riprovato ma non sembra funzionare. il campo catasto non vuol saperne di popolarsi. ho provato con diversi EPSG calcolando il campo con get_parcel_info2( “x” , “y” , ‘EPGS:6706’ ), get_parcel_info2( “x” , “y” , ‘EPGS:3045’ ) oppure get_parcel_info2( “x” , “y” , @project_crs ) (la funzione è copiata tal quale dal tuo tutorial) ma il campo resta vuoto….

    "Mi piace"

      1. ciao, grazie per la risposta. ho testato il tutto con EPGS 3045 come suggerito, impostandolo come sr del progetto e del layer ma purtroppo non ne vuol sapere di funzionare…

        "Mi piace"

      2. Scusami, ma EPSG:3045 è quello usato nei test e nel video, quindi funziona, guarda bene i valori che scrivi, per esempi vedo che tu usi EPGS al posto di EPSG, forse è questo uno dei problemi.

        "Mi piace"

  7. Ciao,
    intendo i vertici che delimitano l’area in cui è inserito il poligono (l’area rossa che si crea selezionando la particella catastale dalla geometria).

    Grazie

    "Mi piace"

  8. Domanda banale forse, perdono: collegandomi al wms catasto AdE ottengo “vestizioni, particelle, etc” ma non uno shape puntuale “catasto”. Mi manca l’inizio quindi per seguire il ragionamento. Mi dareste una spinta ? Grazie mille !

    "Mi piace"

  9. Buongiorno,
    sono una studentessa di GIS al politecnico di Barcellona e non essendo abituata a ricercare dati italiani mi trovo un po’ in difficoltà. Vedo che l’agenzia delle entrate rende ormai facilmente disponibili le geometrie ma non i dati di catasto (oltre a quelli che appaiono nel tutorial). Sarebbe possibile adattare l’esempio usato per le particelle per ottenere informazioni sui ‘buildings’, come ad esempio per ottenere la tipologia?

    Piace a 1 persona

  10. Ciao sto cercando di realizzare un progetto per calcolare l’area e il volume di alcuni laghi segnati da punti sulla mappa,
    Ho seguito la tua guida che mi ha aiutato moltissimo solo che adesso vorrei inserire all’interno della “Tabella attributi” una voce con l’area intorno ad ogni punto segnato, si intende che l’area la selezioni con la funzione “misura area”, cosa mi consigli di fare?
    Grazie

    "Mi piace"

  11. Ciao! Io avrei bisogno di ricercare p.lle catastali come da te indicato nel video presente su Youtube e datato 04/02/2022. Domanda: La procedura è sempre la stessa da te indicata nel video su questo blog?

    Grazie mille

    "Mi piace"

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.