Il 18 giugno 2015 è stata rilasciata la versione 2.0.0 di GDAL/OGR. Una delle novità è legata a un nuovo driver di OGR “Catalog Service for the Web (CSW)”, che consente di accedere a cataloghi di risorse cartografiche esposti sul web.
La sintassi di base per leggere le informazioni da queste fonti è:
ogrinfo -ro -al -noextent CSW:http//catalogo.it/csw
L’utility di riferimento è ogrinfo, e sono a disposizione quindi tutte le altre opzioni del comando.
I cataloghi CSW sono un po’ come quei cassetti pieni di calzini in cui, in occasione di una importante ricorrenza, cerchiamo quelli lilla a pois bianchi (sono an pendant con l’ultima nostra meravigliosa giacca), ma per troppa abbondanza e varietà non riusciremo mai a trovare. Bisogna anche saper cercare
OGR è l’ultimo arrivato tra gli strumenti di accesso e ricerca. Ecco qualche semplice esempio, basato sul catalogo del Repertorio Nazionale dei Dati Territoriali (RNDT).
Avere l’elenco di tutti i record del server
ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -oo MAX_RECORDS=100
Sul catalogo RNDT sono presenti più di 17000 record, quindi la risposta al comando sarà “lunga”. L’opzione MAX_RECORDS fissa il numero massimo di record che è possibile ricevere ciclicamente durante una chiamata. Nell’esempio di sopra, per 17000 record quindi 170 cicli, ognuno composto da 100 record di output.
Tutti i record all’interno di una determinata area
ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -spat 12 35 15 38 -oo MAX_RECORDS=100
Ogni record di un catalogo CSW è associato ad un’estensione geografica. Inserendo il parametro -spat si impostano le coordinate del boundig box (xmin ymin xmax ymax, in EPSG:4326) all’interno del quale si vuole eseguire la ricerca: in risposta si avranno tutti i record ricadenti in quell’area.
Tutti i record che contengono una determinata parola (stringa di testo) in uno dei campi esposti dal catalogo
ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -where \"abstract LIKE '%geologia%'\" -oo MAX_RECORDS=100
In questo modo si cercheranno tutti i record che contengono la parola “geologia” nel campo “abstract”. Ad oggi sono 31.
Gli altri campi che è possibile sfruttare per fare ricerche sono:
- identifier (String)
- other_identifiers (StringList)
- type (String)
- subject (String)
- other_subjects (StringList)
- references (String)
- other_references (StringList)
- modified (String)
- abstract (String)
- date (String)
- language (String)
- rights (String)
- format (String)
- other_formats (StringList)
- creator (String)
- source (String)
Tutti i record che contengono una determinata stringa in un campo qualsiasi
ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -where \"anytext LIKE '%frane%'\" -oo MAX_RECORDS=100
La stringa cercata è “frane”, e si ottengono 52 record.
Tutti i record della ricerca precedente ma in formato ISO 19115/19119
ogrinfo -ro -al -noextent CSW:http://www.rndt.gov.it/RNDT/CSW -where \"anytext LIKE '%frane%'\" -oo OUTPUT_SCHEMA=gmd -oo MAX_RECORDS=100
L’output in questo caso è secondo lo schema descritto qui http://www.isotc211.org/2005/gmd. Se invece si scrive OUTPUT_SCHEMA=csw, sarà secondo queste specifiche http://www.opengis.net/cat/csw/2.0.2.
Tutte le altre novità su GDAL/OGR 2.0.0 le trovate sintetizzate nel post di Even Rouault e purtroppo il catalogo RNDT non è ancora nel registro INSPIRE!
I contenuti potrebbero non essere più adeguati ai tempi!
By capooti on lug 31, 2015
bello!
Per i pythonisti si possono otterere risultati simili, che consentono forse anche piu flessibilita, usando owslib:
https://geopython.github.io/OWSLib/#csw
By Andrea Borruso on lug 31, 2015
Bello leggerti!
Grazie Paolo