[mapserver-users] Does WFS filter use spatial index?

Steve.Toutant at inspq.qc.ca Steve.Toutant at inspq.qc.ca
Mon Jan 26 06:31:43 PST 2015


I'm using mapserver 6.4.1 and postgis 2.1

using OpenLayers 2.13.1 I draw a small polygon that I use for a within 
spatial filter of a WFS getfeature request. The problem is that mapserver 
is not sending this polygon to postgis, it is sending the extent of the 
mapfile as filter...

The wfs POST Request (created and send by OpenLayers client)
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc
"><ogc:Within><ogc:PropertyName>msGeometry</ogc:PropertyName><gml:Polygon 
xmlns:gml="http://www.opengis.net/gml" 
srsName="urn:ogc:def:crs:EPSG::3857"><gml:exterior><gml:LinearRing><gml:posList>-8081644.2511244 
5835062.56996 -8081707.5505384 5834980.1612889 -8081638.2794815 
5834913.2788892 -8081533.1785677 5834988.5215889 -8081644.2511244 
5835062.56996</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></ogc:Within></ogc:Filter> 


In Mapserver log, I see
FLTLayerApplyPlainFilterToLayer():  ([shape]  within  fromText('POLYGON 
((-8081644.2511243997141719 5835062.5699599999934435, 
-8081707.5505384001880884 5834980.1612889003008604, 
-8081638.2794815003871918 5834913.2788891997188330, 
-8081533.1785677000880241 5834988.5215889001265168, 
-8081644.2511243997141719 5835062.5699599999934435))'))

But, in postgis log I see this query, See the
select * from msp.aq_v2_3857 where geom_p && 
ST_GeomFromText('POLYGON((-9239517 5465442,-9239517 9349764,-5565974 
9349764,-5565974 5465442,-9239517 5465442))',3857);

See the polygon definition is different, postgis receive the extent 
defined in the mapfile
EXTENT -9239517 5465442 -5565974 9349764

Why Mapserver is sending this polygon to postgis?


Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20150126/577f813e/attachment.html>


More information about the mapserver-users mailing list