WFS performance issue

Frank Warmerdam fwarmerdam at GMAIL.COM
Tue Feb 1 13:47:17 EST 2005

On Tue, 01 Feb 2005 13:34:47 -0500, Yewondwossen Assefa
<assefa at> wrote:
> Just some info on how the WFS GetFeature with <Filter> is done
> internally in mapserver :
>    the <Filter> part is transformed into mapserver class expressions and
> then a normal spatial query (querybyrect or querybypoint) is performed.


When you say it is turned into a mapserver class expression, where
it is set?  Is a CLASS setup on the layer with this as it's EXPRESSION?
Does the WFS code then classify all features, and only return those
matching this query class?

Would it make sense to try and use the layer level filter?

As implemented now, aren't we pretty much trapped into evaluating
all features withi mapserver instead of allowing underlying RDBMS's
to do the attribute searches quickly?   Is this how we will be leaving
things indefinately?

I am concerned that it is very hard for folks with large datasets in
a database to take advantage of some of MapServers features
efficiently when we just fallback to reading everything and evaluating
alots of stuff in MapServer.

> If the <Filter> is soemhow complex (ex It contains several spatial
> queries plus attribute queries), the <Filter> is broken into several
> small pieces and then  queries are done for each piece and the results
> are  merged to provide the final set of results.

Whew, that must have been a bit of work.

Best regards,
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at
light and sound - activate the windows |
and watch the world go round - Rush    | Geospatial Programmer for Rent

More information about the mapserver-dev mailing list