[mapserver-users] ms7 How to use FILTER

Lime, Steve D (MNIT) Steve.Lime at state.mn.us
Thu Mar 26 07:56:17 PDT 2015


With Postgres I'd use the DATA statement. I don't use Oracle so someone else might be in a better position to comment.

From: Steve.Toutant at inspq.qc.ca [mailto:Steve.Toutant at inspq.qc.ca]
Sent: Thursday, March 26, 2015 9:27 AM
To: Lime, Steve D (MNIT)
Cc: mapserver-users at lists.osgeo.org
Subject: RE: [mapserver-users] ms7 How to use FILTER

Thanks Steve, yes it helps!

If an SQL query is needed, would you suggest to do it in the DATA statement as a subquery or use PROCESSING "native_filter=native SQL string"

steve

"Lime, Steve D (MNIT)" <Steve.Lime at state.mn.us<mailto:Steve.Lime at state.mn.us>>

2015-03-26 10:20

A

"Steve.Toutant at inspq.qc.ca<mailto:Steve.Toutant at inspq.qc.ca>" <Steve.Toutant at inspq.qc.ca<mailto:Steve.Toutant at inspq.qc.ca>>, "mapserver-users at lists.osgeo.org<mailto:mapserver-users at lists.osgeo.org>" <mapserver-users at lists.osgeo.org<mailto:mapserver-users at lists.osgeo.org>>

cc

Objet

RE: [mapserver-users] ms7 How to use FILTER









MapServer FILTERs are now only written using MapServer expression syntax (e.g. ("[someitem]" != "someval")). Drivers can support translation capabilities to create native SQL under the hood. This was done to standardize the syntax across all drivers. Prior to 7.0 the syntax varied by driver. In addition, FILTER values are preserved when used with WFS or native MapServer attribute queries.

With database backends there has been little reason to use FILTERs since you could often just extend the DATA statement.

Note that if need to you can still define a native SQL independently of the DATA statement using the processing tag "native_filter", for example:

  PROCESSING "native_filter=native SQL string"

This is also preserved with WFS. Does this help?

Steve

From: mapserver-users-bounces at lists.osgeo.org<mailto:mapserver-users-bounces at lists.osgeo.org> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Steve.Toutant at inspq.qc.ca<mailto:Steve.Toutant at inspq.qc.ca>
Sent: Thursday, March 26, 2015 8:20 AM
To: mapserver-users at lists.osgeo.org<mailto:mapserver-users at lists.osgeo.org>
Subject: [mapserver-users] ms7 How to use FILTER

I'm confused on how to use FILTER when datasource is postgis or Oracle Spatial (Native Connection)

In an old thread, I was told to not use FILTER, but use a WHERE clause in the Data statement.
In the ms7 Mapfile-Layer-Data doc, I see for Oracle
"Note that there are important performance impacts when using spatial subqueries however. Try using MapServer's FILTER<http://mapserver.org/mapfile/layer.html#filter> whenever possible instead."

I remember I had a bug with MS6 when using FILTER using WFS. A getfeature on the layer with a spatial or logical filter, the FILTEr in the mapfile was overwritten.

Please, how should we define/use FILTER int a mapfile with postgis and also oracle (using native connection, not ogr)?

THANKS!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20150326/3eb8eb12/attachment.html>


More information about the mapserver-users mailing list