in questo post vi parlo di un sogno diventato realtà.
Mi sto riferendo alla crescente disponibilità di dati geografici sul web, guarda caso l'argomento con il quale ho aperto questo blog. Nel febbraio scorso avevo però trattato questa tematica limitando le mie considerazioni ai servizi di mappa in quanto, fra tutti i web services utilizzati nel settore GIS, sono certamente i più diffusi.
Questo post ha invece come oggetto i servizi di download impostati sullo standard WFS (Web Feature Service), strumenti che consentono di scaricare strati informativi di tipo vettoriale utilizzando un protocollo, definito a livello internazionale, che garantisce l'interoperabilità fra differenti sistemi.
La disponibilità di questi servizi non è certo una novità e anche in Italia alcuni enti - ancora pochi in realtà - espongono risorse di questo tipo.
Da parte mia ho notato, proprio nell'ultimo periodo, un'attenzione crescente intorno a questa tematica.
In effetti collegarsi ad un sito web, scegliere lo strato informativo di proprio interesse e poterlo scaricare liberamente in locale, è sicuramente un'opportunità da non sottovalutare anzi, per molto tempo, è stato "il sogno" di qualsiasi utente GIS.
In questa sede illustrerò come impostare ArcCatalog per connettersi ai servizi WFS e, ovviamente, come utilizzarli in ambiente ArcMap.
Giusto per chiarire il concetto, vi mostro qui sotto l'anteprima del servizio WFS esposto dal Portale Cartografico Italiano (PCN) e relativo alle province del nord Italia.
Come ho anticipato nell'ultimo post, ho preso spunto dalla richiesta che Marco, il 10 novembre, ha inserito nel nuovo "spazio commenti".
In realtà ero pronto a pubblicare l'articolo già venerdì 20 novembre. Facendo un'ultima verifica, mi sono invece accorto che l'esempio scelto - i servizi WFS del PCN - non erano più in linea.
Inizialmente ho pensato ad una interruzione temporanea (in effetti anche i servizi WMS e WCS presentavano lo stesso problema), magari per una manutenzione programmata del sistema. Poi, dopo alcuni giorni di inutile attesa, ho deciso di inviare una mail al supporto del PCN e, magicamente, venerdì 27 ho verificato che i servizi erano di nuovo online.
Ad un certo punto ho addirittura pensato fosse colpa di Marco, avevo il sospetto che quell'ingordo, a furia di scaricare dati, avesse stressato il server del ministero al punto da provocarne il crash.
Scherzi a parte, chi si occupa di GIS sa bene che uno dei temi più interessanti del momento riguarda proprio l'interoperabilità, il cui obiettivo è quello di facilitare l'interazione fra sistemi differenti, in particolare per quanto concerne l'accesso ai dati.
In questo contesto assumono grande importanza gli standard definiti da OGC (Open Geospatial Consortium). Per conoscere meglio questa organizzazione mi approprio di un passaggio della pagina di Wikipedia, l'enciclopedia libera ( http://it.wikipedia.org/wiki/Open_Geospatial_Consortium ):
"Open Geospatial Consortium (OGC, in precedenza OpenGIS Consortium) è un'organizzazione internazionale no-profit, basata sul consenso volontario, che si occupa di definire specifiche tecniche per i servizi geospaziali e di localizzazione (location based). OGC è formato da oltre 280 membri (governi, industria privata, università) con l'obiettivo di sviluppare ed implementare standard per il contenuto, i servizi e l'interscambio di dati geografici (GIS - Sistema informativo geografico) che siano "aperti ed estensibili". Le specifiche definite da OGC sono pubbliche (PAS) e disponibili gratuitamente."
Come primo passo è opportuno comprendere cosa si intenda per servizio, in particolare per web service.
Sempre da Wikipedia, vi consiglio la lettura delle prime 10 righe della pagina http://it.wikipedia.org/wiki/Web_service , dovrebbero chiarire bene il concetto.
In estrema sintesi possiamo affermare che un Web Service nasce per supportare l'interoperabilità tra diversi sistemi informativi.
Caratteristica fondamentale dei servizi basati sugli standard OGC è la totale indipendenza da qualsiasi tecnologia e piattaforma GIS, e ciò, ovviamente, a tutto vantaggio di una migliore interoperabilità fra differenti sistemi.
Grazie agli standard OGC, sistemi diversi possono "dialogare" utilizzando lo stesso "linguaggio".
ESRI, che è uno dei membri principali di OGC, conosce molto bene l'importanza di questo approccio e infatti ArcGIS è da sempre la tecnologia che implementa il maggior numero di standard OGC (per maggior informazioni vi consiglio la lettura della brochure, in italiano, "ArcGIS: standard e interoperabilità", potete scaricarla cliccando sul seguente link http://www.esriitalia.it/index.php?option=com_docman&task=doc_download&gid=10&Itemid=388&lang=it ).
Come già anticipato, lo standard OGC più diffuso è certamente il WMS (Web Map Service), ormai utilizzato da moltissimi enti pubblici italiani per esporre servizi di mappa (per approfondire l'argomento vi consiglio la lettura, sempre su Wikipedia, della seguente pagina: http://it.wikipedia.org/wiki/Web_Map_Service ).
Si noti però che il WMS non è l'unico servizio di mappa, probabilmente i servizi di mappa più diffusi sono quelli "nativi" di ArcIMS o di MapServer.
Vi segnalo inoltre che anche i servizi esposti tramite ArcGIS Server stanno conquistando sempre più consensi, soprattutto per la loro estrema velocità. Per farvi un'idea date un occhio alle ortofoto 2007 che il GeoPortale della regione Lombardia espone, insieme alla CTR e ad uno stradario, direttamente nella sua Home Page: i tempi di risposta sono veramente impressionanti!
Il WFS - ovvero il protagonista di questo post - è invece uno standard OGC di tipo "Download service" (per maggiori informazioni consultate, ancora da Wikipedia, la seguente pagina http://it.wikipedia.org/wiki/Web_Feature_Service ).
Servizi utilizzati per distribuire "fisicamente" tematismi in formato vettoriale: quindi oggetti geografici più i relativi attributi.
Una volta caricati in ArcMap, l'utilizzo di questi dati è identico a quanto avviene con uno shapefile o una feature class.
Per completare il quadro vorrei dedicare anche un rapidissimo accenno ai servizi WCS (Web Coverage Service) che, in pratica, sono complementari ai WFS. Sono infatti utilizzati per distribuire dati di tipo raster: celle (GRID) più i relativi attributi. Si pensi ad esempio ad un DTM (Modello Digitale del Terreno) e all'associazione tra ogni cella e il corrispondente valore di quota.
Se volete approfondire anche questo argomento, vi consiglio la lettura, sempre su Wikipedia, della seguente pagina: http://it.wikipedia.org/wiki/Web_Coverage_Service
Dopo questa lunga ma doverosa premessa, veniamo ora agli aspetti più operativi!
Per connettervi ai servizi WFS, nel caso specifico quelli del PCN, dovete innanzi tutto accedere alla pagina http://www.pcn.minambiente.it/PCNDYN/catalogowfs.jsp?lan=it .
1 - scegliete il tematismo di vostro interesse - nel mio esempio le regioni - e cliccate sulla voce capabilities (attenzione a non confondersi con i servizi regioni fuso 32 e regioni fuso 33, ovvero lo stesso tematismo ma già proiettato e suddiviso nei 2 fusi UTM);
2 - apparirà una pagina in formato XML che illustra le caratteristiche del servizio. Ovviamente potete leggere tutto il documento ma, ai nostri fini, è sufficiente copiare in memoria l'indirizzo URL di questa pagina ovvero http://wms.pcn.minambiente.it/cgi-bin/mapserv.exe?map=/ms_ogc/wfs/regioni_wfs.map&service=wfs&request=getCapabilities
3 - aprite ArcCatalog, fate doppio click sulla voce Interoperability Connections e poi su Add Interoperability Connection (nel caso la voce non fosse disponibile, occorre accedere al menu Tools e cliccare sulla voce Options, selezionate poi la scheda General e, nell'elenco superiore, inserite un flag in corrispondenza della voce Interoperability Connections);
4 - nella maschera che appare, selezionate come Format la voce WFS (Web Feature Service) e, nella casella Dataset, incollate l'indirizzo copiato al punto 2. Se avete seguito le mie indicazioni dovreste trovarvi nella situazione rappresentata qui sotto.

5 - cliccate sul pulsante Settings e poi, nella maschera che appare, agite sul pulsante che trovate alla destra della casella Table List;
6 - apparirà la maschera qui sotto, inserite un flag accanto alla voce Select all per selezionare entrambi i tematismi: regioni_f32 (Regioni) e regioni_f33 (Regioni);
7 - cliccate sui vari pulsanti OK per chiudere tutte le maschere e attivare così il collegamento che, salvo rimozione, d'ora innanzi sarà sempre disponibile in ArcCatalog.
A questo punto potete visualizzare la Preview dei 2 servizi per verificare se avete ottenuto il risultato atteso che, salvo inconvenienti, dovrebbe coincidere con le 2 immagini qui sotto (nota: la prima visualizzazione richiede qualche secondo di attesa).

Si noti che per caricare un servizio WFS in ArcView non è richiesto l'acquisto dell'estensione Data Interoperability, è però necessario che tale estensione sia installata (la stessa considerazione vale per ArcEditor e ArcInfo).
Sembrerebbe un controsenso ma non è così: vi ricordo infatti che i DVD di ArcGIS Desktop consentono l'installazione di tutte le estensioni, l'effettivo utilizzo è invece subordinato al possesso, ovvero all'acquisto, della corrispondente licenza d'uso.
Sembrerebbe un controsenso ma non è così: vi ricordo infatti che i DVD di ArcGIS Desktop consentono l'installazione di tutte le estensioni, l'effettivo utilizzo è invece subordinato al possesso, ovvero all'acquisto, della corrispondente licenza d'uso.
Per verificare se Data Interoperability è installata sul vostro PC, potete lanciare l'utility ArcGIS Desktop Administrator e verificare se nella colonna Installed della scheda Availability appare la voce Yes. In caso contrario dovete solo recuperare il DVD e procedere ad un'installazione Custom che aggiunga questa estensione.
Per caricare i servizi WFS è quindi sufficiente la sola licenza ArcView.
Una riprova, semmai ve ne fosse bisogno, della completezza funzionale del "piccolo" di casa ArcGIS.
Per connettersi ad altri strati informativi in formato WFS, basta ripetere la procedura che vi ho descritto, avendo cura di inserire, al punto 4, la stringa di vostro interesse.
Attenti però ai servizi con molti oggetti associati! Aste fluviali, edificato e diversi altri strati, richiedono molto tempo per essere caricati ... o forse sarebbe meglio dire "scaricati" (nota: trovate una possibile soluzione a questo problema nell'articolo pubblicato il 21 gennaio 2010).
In effetti ArcCatalog crea autonomamente una copia "volatile" dei dati nella memoria del vostro PC.
La scheda Data Interoperability presente nelle opzioni di ArcCatalog o ArcMap (vedi immagine qui sotto), consente proprio l'impostazione di alcuni parametri associati alla Cache generata dal sistema.
Se invece volete salvare i dati in modo permanente, ammesso che ciò abbia senso, caricate il servizio WFS in ArcMap, cliccate con il tasto destro sul nome del layer, scegliete la voce Data e poi Export Data.
Se vi servono ulteriori dettagli su questo passaggio, chiedete pure a Marco: a giudicare dal commento che ha lasciato in coda alla mia risposta, deve aver fatto una vera e propria indigestione di dati!
In merito all'utilizzo di questi strati informativi, tenete presente che sono sottoposti a specifiche condizioni d'uso. Per chiarirmi le idee ho letto la pagina relativa ai termini di utilizzo ma, in tutta sincerità, ammetto di avere ancora molti dubbi: mi è sembrato di capire che lo stesso ente che mette a disposizione i servizi WFS (nati appositamente per il download dei dati) vieta espressamente la possibilità di effettuare una copia dei dati.
Di fronte a questa incongruenza - reale o presunta - nei giorni scorsi ho deciso di inoltrare una mail al supporto del PCN chiedendo chiarimenti. Purtroppo, ad oggi, non ho ancora ricevuto risposta...
Vi segnalo poi che, oltre al PCN, vi sono altri enti - ancora pochi in realtà - che espongono servizi WFS, ecco tre validi esempi:
Portale Geocartografico Trentino - l'elenco delle capabilities di tutti i servizi è disponibile al seguente link http://www.territorio.provincia.tn.it/portal/server.pt?open=514&objID=23011&mode=2 (la figura seguente mostra l'anteprima delle sezioni di censimento).
In questo caso consentitemi un plauso particolare ai tecnici ed agli amministratori di questo portale perchè mi sembra che senza troppi "fronzoli" forniscano un servizio eccellente!
Premesso che NON ho il piacere di conoscerli personalmente e che la mia valutazione si riferisce - per ora - solo ai servizi WFS, ho trovato il loro approccio di una semplicità e di una chiarezza disarmanti.
Vi esorto poi a leggere i termini di utilizzo oppure la guida operativa del servizio, sono certo che vi ritroverete nel mio giudizio...
Premesso che NON ho il piacere di conoscerli personalmente e che la mia valutazione si riferisce - per ora - solo ai servizi WFS, ho trovato il loro approccio di una semplicità e di una chiarezza disarmanti.
Vi esorto poi a leggere i termini di utilizzo oppure la guida operativa del servizio, sono certo che vi ritroverete nel mio giudizio...
Provincia di Lodi - utilizzate il seguente indirizzo URL http://sit.provincia.lodi.it/cartografia_generale.asp per accedere a tutti gli strati informativi esposti come WFS (la figura qui sotto mostra l'anteprima dei confini comunali).
Regione Sardegna - utilizzate il seguente indirizzo URL http://webgis.regione.sardegna.it/geoserver/wfs?request=getcapabilities per accedere a tutti gli strati informativi esposti come WFS .
Vi faccio però notare che nella documentazione di questo servizio (è pubblicata nella seguente pagina http://www.sardegnaterritorio.it/j/v/241?s=29692&v=2&c=2871&t=1 ) si precisa che, per evitare il sovraccarico del server, la regione limita il download a "soli" 1000 oggetti per ogni tematismo.
Vorrei farvi notare come questa scelta - un pò "fuori dal coro" - limiti pesantemente l'utilizzo del servizio: in pratica ho la certezza di aver scaricato tutte le features che compongono uno strato informativo solo se il numero totale di oggetti risulta inferiore a 1.000 (come nel caso del layer rappresentativo dei confini provinciali mostrato nella figura qui sotto).
Come al solito non posso concludere l'articolo senza ricordarvi che:
Un caro saluto.- la guida online di ArcGIS Desktop dedica un intero capitolo ai servizi OGC. Una lettura certamente utile per chiarire i molti aspetti che NON ho trattato in questo post, il link diretto è: http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Using_OGC_services_as_map_layers ;
- attenti ai sistemi di riferimento! I servizi del PCN sono esposti sia in coordinate geografiche che cartografiche, entrambe però fanno riferimento al sistema geodetico WGS84. Per sovrapporre questi dati con strati informativi riferiti ai sistemi Roma40 o ED50, è fondamentale impostare le corrette trasformazioni di datum...
PaoloGIS
PS: prima o poi cercherò di pubblicare un video in cui illustro le modalità finora descritte nel blog per accedere a risorse web: WMS, WFS, servizi ArcIMS e servizi ArcGIS Server...
Forse - ma solo se riesco a non ridere - proverò ad inserire anche qualche commento vocale.