[OWSLib-devel] [owslib-users] Bug in owslib?

Cinquini, Luca (3980) Luca.Cinquini at jpl.nasa.gov
Fri Sep 6 15:32:35 PDT 2013


Hi Chris,
	it's been a while since I used the WPS client, so I might be totally wrong here, but... 

First of all, are you referring to the output of a WPS DescribeProcess request (not "DescribeCoverage") ? If so, I think the output contains "LiteralData" elements, not "LiteralOutput", for example you can run the following request straight out of the OWSlib package (see below). I don't see any "LiteralOutput" tag... But off course I could be wrong, in which case can you send an example request and response ?

thanks a lot,
Luca

==================================================================================================================

brelay5:examples cinquini$ python wps-client.py -u http://rsg.pml.ac.uk/wps/vector.cgi -r DescribeProcess -i v.mkgrid -v
ARGV      : ['-u', 'http://rsg.pml.ac.uk/wps/vector.cgi', '-r', 'DescribeProcess', '-i', 'v.mkgrid', '-v']
OPTIONS   : [('-u', 'http://rsg.pml.ac.uk/wps/vector.cgi'), ('-r', 'DescribeProcess'), ('-i', 'v.mkgrid'), ('-v', '')]
http://rsg.pml.ac.uk/wps/vector.cgi?identifier=v.mkgrid&version=1.0.0&request=DescribeProcess&service=WPS
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<ns0:ProcessDescriptions xmlns:ns0="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" service="WPS" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsDescribeProcess_response.xsd" xml:lang="en-CA">
    <ProcessDescription statusSupported="true" storeSupported="true" ns0:processVersion="1">
        <ows:Identifier>v.mkgrid</ows:Identifier>
        <ows:Title>Creates a vector map of a user-defined grid.</ows:Title>
        <ows:Abstract>http://grass.osgeo.org/grass70/manuals/html70_user/v.mkgrid.html</ows:Abstract>
        <ows:Metadata xlink:href="http://earthserver.pml.ac.uk/wps/vector.cgi?service=WPS&request=DescribeProcess&version=1.0.0&identifier=v.mkgrid" xlink:title="vector" />
        <ows:Metadata xlink:href="http://earthserver.pml.ac.uk/wps/vector.cgi?service=WPS&request=DescribeProcess&version=1.0.0&identifier=v.mkgrid" xlink:title="geometry" />
        <DataInputs>
            <Input maxOccurs="2" minOccurs="0">
                <ows:Identifier>box</ows:Identifier>
                <ows:Title>Width and height of boxes in grid</ows:Title>
                <LiteralData>
                    <ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#float">float</ows:DataType>
                    <ows:AnyValue />
                </LiteralData>
            </Input>
            <Input maxOccurs="2" minOccurs="0">
                <ows:Identifier>coor</ows:Identifier>
                <ows:Title>Lower left easting and northing coordinates of map</ows:Title>
                <LiteralData>
                    <ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#float">float</ows:DataType>
                    <ows:AnyValue />
                </LiteralData>
            </Input>
            <Input maxOccurs="1" minOccurs="0">
                <ows:Identifier>angle</ows:Identifier>
                <ows:Title>Angle of rotation (in degrees counter-clockwise)</ows:Title>
                <LiteralData>
                    <ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#float">float</ows:DataType>
                    <ows:AnyValue />
                    <DefaultValue>0.0</DefaultValue>
                </LiteralData>
            </Input>
            <Input maxOccurs="1" minOccurs="0">
                <ows:Identifier>breaks</ows:Identifier>
                <ows:Title>Number of horizontal vertex points per grid cell</ows:Title>
                <LiteralData>
                    <ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#integer">integer</ows:DataType>
                    <ows:AnyValue />
                    <DefaultValue>3</DefaultValue>
                </LiteralData>
            </Input>
            <Input maxOccurs="2" minOccurs="2">
                <ows:Identifier>grid</ows:Identifier>
                <ows:Title>Number of rows and columns in grid</ows:Title>
                <LiteralData>
                    <ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#integer">integer</ows:DataType>
                    <ows:AnyValue />
                </LiteralData>
            </Input>
            <Input maxOccurs="1" minOccurs="0">
                <ows:Identifier>-p</ows:Identifier>
                <ows:Title>Create grid of points instead of areas and centroids</ows:Title>
                <LiteralData>
                    <ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</ows:DataType>
                    <ows:AllowedValues>
                            <ows:Value>True</ows:Value>
                            <ows:Value>False</ows:Value>
                    </ows:AllowedValues>
                    <DefaultValue>False</DefaultValue>
                </LiteralData>
            </Input>
            <Input maxOccurs="1" minOccurs="0">
                <ows:Identifier>position</ows:Identifier>
                <ows:Title>Where to place the grid</ows:Title>
                <LiteralData>
                    <ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#string">string</ows:DataType>
                    <ows:AllowedValues>
                            <ows:Value>region</ows:Value>
                            <ows:Value>coor</ows:Value>
                    </ows:AllowedValues>
                    <DefaultValue>region</DefaultValue>
                </LiteralData>
            </Input>
        </DataInputs>
        <ProcessOutputs>
            <Output>
                <ows:Identifier>map</ows:Identifier>
                <ows:Title>Name for output vector map</ows:Title>
                <ComplexOutput>
                    <Default>
                        <Format>
                            <MimeType>text/xml</MimeType>
                            <Encoding>UTF-8</Encoding>
                            <Schema>http://schemas.opengis.net/gml/3.1.1/base/gml.xsd</Schema>
                        </Format>
                    </Default>
                    <Supported>
                        <Format>
                            <MimeType>text/xml</MimeType>
                            <Encoding>UTF-8</Encoding>
                            <Schema>http://schemas.opengis.net/gml/3.1.1/base/gml.xsd</Schema>
                        </Format>
                        <Format>
                            <MimeType>application/xml</MimeType>
                            <Encoding>UTF-8</Encoding>
                            <Schema>http://schemas.opengis.net/gml/3.1.1/base/gml.xsd</Schema>
                        </Format>
                        <Format>
                            <MimeType>text/xml</MimeType>
                            <Encoding>UTF-8</Encoding>
                            <Schema>http://schemas.opengis.net/gml/2.1.2/feature.xsd</Schema>
                        </Format>
                        <Format>
                            <MimeType>application/xml</MimeType>
                            <Encoding>UTF-8</Encoding>
                            <Schema>http://schemas.opengis.net/gml/2.1.2/feature.xsd</Schema>
                        </Format>
                        <Format>
                            <MimeType>text/xml</MimeType>
                            <Encoding>UTF-8</Encoding>
                            <Schema>http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd</Schema>
                        </Format>
                    </Supported>
                </ComplexOutput>
            </Output>
        </ProcessOutputs>
    </ProcessDescription>
</ns0:ProcessDescriptions>
 <class 'owslib.wps.Process'> : {'identifier': 'v.mkgrid', 'verbose': True, 'title': 'Creates a vector map of a user-defined grid.', '_root': <Element 'ProcessDescription' at 0x1007b1f10>, 'statusSupported': True, 'storeSupported': True, 'processVersion': None, 'abstract': 'http://grass.osgeo.org/grass70/manuals/html70_user/v.mkgrid.html'}
	Input:  <class 'owslib.wps.Input'> : {'minOccurs': 0, 'title': 'Width and height of boxes in grid', 'dataType': '//www.w3.org/TR/xmlschema-2/#float', 'defaultValue': None, 'supportedValues': [], 'allowedValues': ['AnyValue'], 'maxOccurs': 2, 'identifier': 'box'}
	Input:  <class 'owslib.wps.Input'> : {'minOccurs': 0, 'title': 'Lower left easting and northing coordinates of map', 'dataType': '//www.w3.org/TR/xmlschema-2/#float', 'defaultValue': None, 'supportedValues': [], 'allowedValues': ['AnyValue'], 'maxOccurs': 2, 'identifier': 'coor'}
	Input:  <class 'owslib.wps.Input'> : {'minOccurs': 0, 'title': 'Angle of rotation (in degrees counter-clockwise)', 'dataType': '//www.w3.org/TR/xmlschema-2/#float', 'defaultValue': '0.0', 'supportedValues': [], 'allowedValues': ['AnyValue'], 'maxOccurs': 1, 'identifier': 'angle'}
	Input:  <class 'owslib.wps.Input'> : {'minOccurs': 0, 'title': 'Number of horizontal vertex points per grid cell', 'dataType': '//www.w3.org/TR/xmlschema-2/#integer', 'defaultValue': '3', 'supportedValues': [], 'allowedValues': ['AnyValue'], 'maxOccurs': 1, 'identifier': 'breaks'}
	Input:  <class 'owslib.wps.Input'> : {'minOccurs': 2, 'title': 'Number of rows and columns in grid', 'dataType': '//www.w3.org/TR/xmlschema-2/#integer', 'defaultValue': None, 'supportedValues': [], 'allowedValues': ['AnyValue'], 'maxOccurs': 2, 'identifier': 'grid'}
	Input:  <class 'owslib.wps.Input'> : {'minOccurs': 0, 'title': 'Create grid of points instead of areas and centroids', 'dataType': '//www.w3.org/TR/xmlschema-2/#boolean', 'defaultValue': 'False', 'supportedValues': [], 'allowedValues': ['True', 'False'], 'maxOccurs': 1, 'identifier': '-p'}
	Input:  <class 'owslib.wps.Input'> : {'minOccurs': 0, 'title': 'Where to place the grid', 'dataType': '//www.w3.org/TR/xmlschema-2/#string', 'defaultValue': 'region', 'supportedValues': [], 'allowedValues': ['region', 'coor'], 'maxOccurs': 1, 'identifier': 'position'}
	Output:  <class 'owslib.wps.Output'> : {'mimeType': None, 'reference': None, 'title': 'Name for output vector map', 'dataType': 'ComplexData', 'defaultValue': <owslib.wps.ComplexData object at 0x1007b96d0>, 'supportedValues': [<owslib.wps.ComplexData object at 0x1007b9450>, <owslib.wps.ComplexData object at 0x1007b9590>, <owslib.wps.ComplexData object at 0x1007b9610>, <owslib.wps.ComplexData object at 0x1007b9690>, <owslib.wps.ComplexData object at 0x1007b9650>], 'allowedValues': [], 'identifier': 'map', 'data': []}
WPS Process: identifier=v.mkgrid
WPS Process: title=Creates a vector map of a user-defined grid.
WPS Process: abstract=http://grass.osgeo.org/grass70/manuals/html70_user/v.mkgrid.html
Process input: identifier=box, data type=//www.w3.org/TR/xmlschema-2/#float, minOccurs=0, maxOccurs=2
Process input: identifier=coor, data type=//www.w3.org/TR/xmlschema-2/#float, minOccurs=0, maxOccurs=2
Process input: identifier=angle, data type=//www.w3.org/TR/xmlschema-2/#float, minOccurs=0, maxOccurs=1
Process input: identifier=breaks, data type=//www.w3.org/TR/xmlschema-2/#integer, minOccurs=0, maxOccurs=1
Process input: identifier=grid, data type=//www.w3.org/TR/xmlschema-2/#integer, minOccurs=2, maxOccurs=2
Process input: identifier=-p, data type=//www.w3.org/TR/xmlschema-2/#boolean, minOccurs=0, maxOccurs=1
Process input: identifier=position, data type=//www.w3.org/TR/xmlschema-2/#string, minOccurs=0, maxOccurs=1
Process output: identifier=map, data type=ComplexData


On Sep 6, 2013, at 9:15 AM, Tom Kralidis wrote:

> Hi Chris: FYI looks like this got sent to the old OWSLib sourceforge mailing list (which I should turn off).  I've cc'd owslib-devel at lists.osgeo.org, which is the list we are currently using (more info at http://lists.osgeo.org/mailman/listinfo/owslib-devel).
> 
> I'm guessing Luca may have some comments per below.
> 
> ..Tom
> 
> 
> Date: Fri, 6 Sep 2013 16:17:12 +0200
> From: christopher.eykamp at tudor.lu
> To: owslib-users at lists.sourceforge.net
> Subject: [owslib-users] Bug in owslib?
> 
> 
> 
> 
> 
> 
>    Hello,
> 
> 
> 
>    I sent this query to the owslib-devel list  a few weeks ago, and got
>    no response.  I'm trying again here.  I've fixed this in my local
>    copy of owslib, but want some reaffirmation that it is actually a
>    bug, and that my fix makes sense.
> 
> 
> 
>    Thanks,
> 
> 
> 
>    Chris
> 
> 
> 
>    -------------------
> 
> 
> 
>    I found what might be a bug in owslib, and want to confirm it.
>    Fortunately, if I am correct, it is a trivial fix. 
> 
> 
> 
>    So this is the issue: 
> 
> 
> 
>    I *think* that when parsing the results
>    of a WPS DescribeCoverage request, literal outputs are included in
>    the LiteralOutput tag. owslib seems to be looking for the
>    LiteralData tag, which is used in the input. 
> 
> 
> 
>    So the fix would be to replace 
> 
> 
> 
>    self._parseLiteralData(outputElement, 'LiteralData') 
> 
> 
> 
>    with 
> 
> 
> 
>    self._parseLiteralData(outputElement, 'LiteralOutput') 
> 
> 
> 
>    in wps.py, line c. 979. 
> 
> 
> 
>    I can be more specific if there is consensus that this is indeed a
>    problem. 
> 
> 
> 
>    Thanks! 
> 
> 
> 
>    Chris 
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
> _______________________________________________
> owslib-users mailing list
> owslib-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/owslib-users 		 	   		  
> _______________________________________________
> OWSLib-devel mailing list
> OWSLib-devel at lists.osgeo.org
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/owslib-devel



More information about the OWSLib-devel mailing list