Il 11/30/2014 06:36 PM, Rahkonen Jukka (Tike) scrisse:
I would spend some time with studying what happens with the WFS
request that is feeding data for the WPS process. I can imagine that
if the filter used for filtering WFS is not accepted then it will be
ignored and WFS returns the whole featuretype. In this case the WPS
process would always report the full BBOX as bounds.
Hi Jukka,
I'm a little bit confused by the results of my tests and by my limited knowledge of geoserver and its parts.
I followed your suggestion and used the Demo requests to retrieve the filtered data.
I get the expected results:
- if I filter by geometry looking for Points I get null (my fetaures are lines)
- if I filter by propertyName I get only the features whose attribute has the value I entered in the filter.
So wfs alone works.
On the other hand, if WFS returns only the right features and the WPS
process still computes wrong extents then there must be something
badly wrong with the code of the process. Because all the processes
you have tried behave similarly as if the results from WFS were not
filtered at all I would suspect even stronger that it is the truth
and WFS filters are ignored.
I tried the vec.Query function using a CQL filter and it works.
I tried it using the WPS request builder but I don't know the syntax and the wfs syntax doesn't work.
I cose vec:Query, VECTOR_LAYER and my layer. As filter type I chose TEXT and entered in the textbox:
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>tags</ogc:PropertyName>
<ogc:Literal>53</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
Executing I got:
<wps:ProcessFailed><ows:ExceptionReport version="1.1.0"><ows:Exception exceptionCode="NoApplicableCode"><ows:ExceptionText>Process failed during execution
Process execution c023f90b-b4d4-4c2f-bad2-12ffbdd34e77 failed
Failed to retrieve value for input filter
The prefix "ogc" for element "ogc:Filter" is not bound.</ows:ExceptionText></ows:Exception></ows:ExceptionReport></wps:ProcessFailed>
In the geoserver log the error is more specific:
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 13; The prefix "ogc" for element "ogc:Filter" is not bound.
I don't know the meaning of not bound in this context (sorry).
I don't know if this is related to the problem in my original post.
If I try to execute the wps in my original post, the geoserver log reports:
2014-11-30 17:05:09,441 INFO [geoserver.wps] -
Request: execute
service = WPS
version = 1.0.0
baseUrl = http://localhost:8080/geoserver/
identifier:
value = gs:Bounds
dataInputs:
input[0]:
identifier = net.opengis.ows11.impl.CodeTypeImpl@anonymised.com (value: features, codeSpace: null)
reference = net.opengis.wps10.impl.InputReferenceTypeImpl@anonymised.com (body: net.opengis.wfs.impl.GetFeatureTypeImpl@anonymised.com (handle: null, service: WFS, version: 1.0.0, baseUrl: null, providedVersion: null, extendedProperties: {}) (maxFeatures: null, outputFormat: GML2, resultType: <unset>, traverseXlinkDepth: null, traverseXlinkExpiry: null, formatOptions: null, metadata: null, startIndex: null, viewParams: null), encoding: null, href: http://geoserver/wfs, method: POST, mimeType: text/xml; subtype=wfs-collection/1.0, schema: null)
responseForm:
rawDataOutput:
identifier = net.opengis.ows11.impl.CodeTypeImpl@anonymised.com (value: bounds, codeSpace: null)
I hope all these infos can help some of you to address me in the right direction.
Thank you
maxx