Hi There,

Would you please let me know what is the underlying layer's format that OGR is using; It might help to to reproduce the problem?

From reading this, the OGC filter has been translated into an sql statement and passed to OGR (something like "WHERE row BETWEEN 2 AND 4"). From my understanding, OGR passes sql statements to underlying drivers that support sql or parses it it self when the driver does not support it.

I have opened a bug on it http://trac.osgeo.org/mapserver/ticket/3510 and will update it as I find the problem.

You can maybe also try your filter by converting the between operator to >= and <= as a work around.

best regards,


On 04/08/2010 6:27 AM, Arnd Wippermann wrote:
Hi

if I use a SLD filter "Between" for filter the WFS getfeature, I get the
following error:

<?xml version='1.0' encoding="ISO-8859-1" ?>
<ServiceExceptionReport version="1.2.0" xmlns="http://www.opengis.net/ogc";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://www.opengis.net/ogc
http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd";>
   <ServiceException code="NoApplicableCode" locator="mapserv">
msWFSGetFeature(): WFS server error. FLTApplyFilterToLayer() failed
msOGRFileWhichShapes(): OGR error. SetAttributeFilter( (row BETWEEN 2 AND
4)) failed on layer Squares.
Failed to identify operation:BETWEEN
   </ServiceException>
</ServiceExceptionReport>

Is it a known bug, or is perhaps the post request incorrect?

That's the post request

post

<wfs:getfeature xmlns:wfs="http://www.opengis.net/wfs"; service="WFS"
version="1.0.0" maxFeatures="100"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
<wfs:query typeName="Squares">
<ogc:propertyname
xmlns:ogc="http://www.opengis.net/ogc";>name</ogc:propertyname>
<ogc:propertyname
xmlns:ogc="http://www.opengis.net/ogc";>description</ogc:propertyname>
<ogc:propertyname
xmlns:ogc="http://www.opengis.net/ogc";>row</ogc:propertyname>
<ogc:propertyname
xmlns:ogc="http://www.opengis.net/ogc";>column</ogc:propertyname>
<ogc:propertyname
xmlns:ogc="http://www.opengis.net/ogc";>indice</ogc:propertyname>
<ogc:propertyname
xmlns:ogc="http://www.opengis.net/ogc";>msGeometry</ogc:propertyname>
<ogc:filter xmlns:ogc="http://www.opengis.net/ogc";>
<ogc:propertyisbetween>
<ogc:propertyname>row</ogc:propertyname>
<ogc:lowerboundary>
<ogc:literal>2</ogc:literal>
</ogc:lowerboundary>
<ogc:upperboundary>
<ogc:literal>4</ogc:literal>
</ogc:upperboundary>
</ogc:propertyisbetween>
</ogc:filter>
</wfs:query>
</wfs:getfeature>

MapServer 5.6.1

I hope someone has a clue.

Arnd

_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users



--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst

Email: yass...@dmsolutions.ca
http://www.dmsolutions.ca/

Phone: (613) 565-5056 (ext 14)
Fax:   (613) 565-0925
----------------------------------------------------------------


_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to