[Gfoss] Cataloghi CSW

Paolo Corti pcorti a gmail.com
Lun 17 Mar 2014 23:34:13 CET


ciao

2014-03-17 18:08 GMT+01:00 Antonio Rotundo <anto.rotundo a gmail.com>:
> Premesso che, forse, sarebbe utile che nel plugin si desse la possibilità
> all'utente di poter scegliere anche il metodo tra GET e POST, apporteremo le
> necessarie modifiche per superare il problema e consentire a QGis di poter
> interrogare correttamente il CSW del RNDT.
> Saluti,
> Antonio
>

Il problema risiede nella libreria OWSLib utilizzata da MetaSearch.
Il metodo incriminato e' getrecords [1], dovrebbe essere abbastanza
triviale fare in modo che venga fatta una GET invece di una POST, cosi
come e' stato recentemente fatto per getrecordsbyid.

Piuttosto, mi chiedo, da profano dei cataloghi, se non sia
penalizzante il limite di 2048 caratteri nelle GET?
Voglio dire, basta mettere qualche filtro qui e li, e si supera facilmente...
Gia' con l'esempio della documentazione di OWSLib ci si arriva quasi,
e con un semplice filtrino sulle keywords (1425 solo i caratteri dei
dati in GET):

>>> from owslib.csw import CatalogueServiceWeb
>>> csw = CatalogueServiceWeb('http://geodiscover.cgdi.ca/wes/serviceManagerCSW/csw')
>>> csw.getrecords(keywords=['birds'], maxrecords=20)
>>>len(csw.request)
1425
>>> print csw.request
 '<?xml version="1.0" encoding="ISO-8859-1"
standalone="no"?>\n<csw:GetRecords
xmlns:xs2="http://www.w3.org/XML/Schema"
xmlns:gml="http://www.opengis.net/gml"
xmlns:dif="http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:gco="http://www.isotc211.org/2005/gco"
xmlns:gmd="http://www.isotc211.org/2005/gmd"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xmlns:ows="http://www.opengis.net/ows"
xmlns:fgdc="http://www.opengis.net/cat/csw/csdgm"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dct="http://purl.org/dc/terms/"
xmlns:ogc="http://www.opengis.net/ogc"
outputSchema="http://www.opengis.net/cat/csw/2.0.2"
outputFormat="application/xml" version="2.0.2" resultType="results"
service="CSW" maxRecords="20"
xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2
http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"><csw:Query
typeNames="csw:Record"><csw:ElementSetName>summary</csw:ElementSetName><csw:Constraint
version="1.1.0"><ogc:Filter><ogc:PropertyIsLike wildCard="%"
singleChar="_" escapeChar="\\"><ogc:PropertyName>csw:AnyText</ogc:PropertyName><ogc:Literal>%birds%</ogc:Literal></ogc:PropertyIsLike></ogc:Filter></csw:Constraint></csw:Query></csw:GetRecords>'

Insomma, non sarebbe sempre preferibile che il POST sia sempre disponibile?

p

[1] https://github.com/geopython/OWSLib/blob/master/owslib/csw.py#L165


-- 
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti


Maggiori informazioni sulla lista Gfoss