[Gfoss] Informazioni su impiego CSW del RNDT

Salvatore Larosa lrssvtml a gmail.com
Mer 6 Mar 2013 15:32:42 CET


Ciao Andrea,

Il giorno 06 marzo 2013 09:23, Andrea Peri <aperi2007 a gmail.com> ha scritto:

> >mi è capitato sott'occhio questa pagina:
> >       http://gis-lab.info/qa/cswclient-eng.html
> >
> >nell'immagine a metà pagina si vede CSW version 2.0.2: prova a vedere
> >se ti dice qualcosa;
>
> Grazie della segnalazione Giuliano,
> molto acuto!
>
> Questo riisponde indirettamente alla mia domanda. Il plugin supporta
> (o ritiene di supportare) il CSW 2.0.2 almeno nei suoi costrutti
> principali.
> Per completezza spiego meglio per evitare equivoci:
>
> quella scritta che si vede nell'immagine è il report di cio' che il
> plugin ha ricevuto dal server csw quando ha inviato il comando
> getcapabilities.
>
> Li ci sta scritto che il server csw a cui il plugin si e' collegato
> nell'esempio è un server csw 2.0.2.
>
> Non sta scritto direttamente che il plugin è compatibile csw 2.0.2, ma
> bensi'c he il plugin ha appena interrogato un server CSW 2.0.2.
>
> Pero' da questo se ne puo' ricavare la risposta indiretta che il
> plugin sia (o pretenda di essere) compatibile con CSW 2.0.2.
>
> Infatti se nell'esempio di chi ha scritto il plugin usano un server
> 2.0.2 vuol dire che ci gira. :)
>

> Quindi ora il mio problema diviene capire come mai invece con il
> server csw del RNDT il plugin da errore.
>
> Ho provato a inserire nella stringa di chiamata anche il parametro
> &version=1.0.0
>
> fosse mai che come nel wms si puo' abbassare la versione usata nel
> colloquio, ma l'errore persiste.
>
> Per riprova ho provato a scriverci una versione che non esiste:
>
> &version=1.1.1
> e in questo caso il server CSW del rndt ha risposto correttamente un
> errore:
>
> -----
> <?xml version="1.0" encoding="utf-8"?>
> <ExceptionReport xmlns="http://www.opengis.net/ows"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2.0"
> xsi:schemaLocation="
> http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd">
> <Exception exceptionCode="BadArgument">
> <ExceptionText>Bad Argument: the request includes illegal arguments,
> is missing required arguments, includes a repeated argument, or values
> for arguments have an illegal syntax</ExceptionText>
> </Exception>
> </ExceptionReport>
> ----
>
> Mentre invece con il valore
>
> &version=1.0.0
> non ritorna alcun errore.
> Ergo lo accetta.
>
> Pero' alla ricerca continua a restituire errore di mancato attributo.
> Per cui al momento la ricerca non funziona ne' con formato CSW 2.0.2
> ne' con formato CSW 1.0.0.
>
> Per capire meglio ho provato a usare uno dei server CSW disponibili in
> bundle con il plugin:
>
> http://aiolos.survey.ntua.gr/pycsw/csw.py
>
> anche questo di tipo CSW 2.0.2
>
> E ho provato a fare una ricerca senza alcun parametro.
> In questo caso alla fine il plugin risponde (evidentemente è la
> risposta ricevuta dal server csw)
> "there is no record matching your criteria"
>
> Quindi la risposta del server csw di rndt che era :
> "element tree object has no attribute tag"
>

le ho provate tutte, ma non sono mai riuscito a vedere quell'errore.
l'unico errore che vedo è:

"Bad Argument: the request includes illegal arguments, is missing required
arguments, includes a repeated argument, or values for arguments have an
illegal syntax"


Stai usando la versione 0.0.14 del plugin ?




>
> non è la risposta di una ricerca andata a vuoto, ma un vero e proprio
> "lack of compatibility".
>
> Per cui a questo punto appare ovvio che uno dei due sbaglia, o il
> plugin csw di qgis oppure il csw di rndt.
>
> Pero' leggo sul sito di rndt che il loro server CSW è conforme (per
> gli inglesi compliant) con le specifiche
> "Catalogue Services Specification 2.0.2 - ISO Metadata Application
> Profile for CSW 2.0"
>
> Invece sul sito del plugin csw di qgis non vi è scritto niente.
>

il plugin usa owslib [http://geopython.github.com/OWSLib/] (una libreria
scritta in python) stando a quanto
riportato sullo stesso sito dovrebbe essere conforme alle stesse specifiche
del RNDT.

Io ho eseguito dei test direttamente nella python console (di QGIS)
ottenendo sempre lo stesso errore.
Di seguito le operazioni eseguite (recuperate dallo stesso sito della
libreria utilizzata dal plugin)

>>> from owslib.csw import CatalogueServiceWeb
>>> csw = CatalogueServiceWeb('http://www.rndt.gov.it/RNDT/CSW?')
>>> csw.identification.type
'CSW'

fin qui siamo tranquilli che si tratta di un CSW !
proseguendo:

>>> [op.name for op in csw.operations]
['GetCapabilities', 'DescribeRecord', 'GetRecords', 'GetRecordById',
'Harvest']

sappiamo che il CSW supporta quelle operazioni/proprietà quindi conforme
con INSPIRE/OGC
(almeno per gli elementi 'mandatory')

>>> csw.getdomain('GetRecords.resultType')
.........
HTTPError: HTTP Error 500: Internal Server Error

Infatti il GetDomain è tra le proprietà "Opzionali" non obbligatorie, ma mi
sarei aspettato un
ExceptionReport: 'Operation not supported: GetDomain'
continuando provo a fare una ricerca inserendo come testo da ricercare
'wms':

>>> csw.getrecords(keywords=['wms'], maxrecords=10)
.........
ExceptionReport: 'Bad Argument: the request includes illegal arguments, is
missing required arguments, includes a repeated argument, or values for
arguments have an illegal syntax'

ho provato anche con una query (csw:AnyText like "%wms%") ma
ottengo sempre lo stesso risultato, qualsiasi sia la keyword.


> Ergo sbaglia il plugin.
>

ho dei dubbi, ma è evidente che da qualche parte manchi qualcosa !

Qualcuno dovrebbe/potrebbe testarlo con qualche altro client !/?
o quantomeno farci capire dove stiamo sbagliando !


Saluti,

-SL


>
> E quindi molto semplicemente da QGIS non puo' interrogare il server CSW di
> rndt.
>
> Due mondi che ancora non si parlano.
>
> Saluti,
>
> --
> -----------------
> Andrea Peri
> . . . . . . . . .
> qwerty àèìòù
> -----------------
> _______________________________________________
> Gfoss a lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 638 iscritti al 28.2.2013




-- 
Salvatore Larosa
linkedIn: http://linkedin.com/in/larosasalvatore
twitter: @lrssvt
skype: s.larosa
IRC: lrssvt on freenode
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20130306/d2d005ac/attachment-0001.html>


Maggiori informazioni sulla lista Gfoss