[mapserver-users] Expression Syntax
Fawcett, David (MPCA)
David.Fawcett at state.mn.us
Thu Dec 10 13:26:22 PST 2009
At a minimum, I think that you will need to add quotes around the query columns. (just use single quotes, not the fancy Microsofty ones below...)
FILTER ('[USE1_DESC]'=%idOwnerQueryDESC% AND '[BLOCK]'=%idOwnerQueryBLOCK%)
Try setting a filter with static values from your data to get the filter format working before you add the complexity of passing the values in with variables.
FILTER ('[USE1_DESC]'='myUse' AND '[BLOCK]'='myBlock')
David.
From: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Jay Kapalczynski
Sent: Thursday, December 10, 2009 3:21 PM
To: 'Emiliano Castañeda'
Cc: mapserver-users at lists.osgeo.org
Subject: RE: [mapserver-users] Expression Syntax
Emiliano thanks for the response....yea I looked at the documentation and it was a bit fuzzy to me...
If I do them individually it works:
#FILTERITEM 'USE1_DESC'
#FILTER /.*%idOwnerQueryDESC%.*/i
#FILTERITEM 'BLOCK'
#FILTER /.*%idOwnerQueryBLOCK%.*/i
FILTER ([USE1_DESC]=%idOwnerQueryDESC% AND [BLOCK]=%idOwnerQueryBLOCK%)
ERROR: msEvalExpression: Expression parser error. Failed to parse expression: =Residential AND =006
FILTER (USE1_DESC=%idOwnerQueryDESC% AND BLOCK=%idOwnerQueryBLOCK%)
I seemed to get a bunch of returns that were incorrect...seems like it grabbed all of them.
Thoughts?
From: Emiliano Castañeda [mailto:emilianocastaneda at suremptec.com.ar]
Sent: Thursday, December 10, 2009 2:13 PM
To: Jay Kapalczynski
Cc: mapserver-users at lists.osgeo.org
Subject: Re: [mapserver-users] Expression Syntax
Jay,
you must use FILTERITEM only for simple FILTER expressions (string comparison only)
for example:
FILTER "2005" ->fieldvalue
FILTERITEM "year" ->fieldname
For Logical FILTER expressions you do not define FILTERITEM. In this case you must place the FILTER between parentheses, and fieldnames between brackets
for example:
FILTER ([field1]<4000 AND "[field2]"=="Museum") -->observe quotes on both sides on text fields
See http://mapserver.org/mapfile/expressions.html#expressions for detail on how to build logical expressions
Regards,
Emiliano
2009/12/10 Jay Kapalczynski <jkapalczynski at ci.maple-grove.mn.us<mailto:jkapalczynski at ci.maple-grove.mn.us>>
I looked on map server website in the documentation and cant get the synstax correct
I have two textboxes idOwner and idOwner2
I am a bit confused on the FILTERITEM because I am trying to write the expression to include two fields.
USE1_DESC and BLOCK are the two fields that form the query
LAYER # Parcels Owner Layer
NAME 'Parcels'
DATA 'parcels/parcels.shp'
STATUS DEFAULT
TYPE POLYGON
METADATA
qstring_validation_pattern '.'
END
TEMPLATE 'parcels/itemquery_parcels_Owner.html'
FILTERITEM 'USE1_DESC'
FILTER (* WHERE USE1_DESC = '%idOwner%' and BLOCK = '%idOwner2%')
END
_______________________________________________
mapserver-users mailing list
mapserver-users at lists.osgeo.org<mailto:mapserver-users at lists.osgeo.org>
http://lists.osgeo.org/mailman/listinfo/mapserver-users
--
Ing. Emiliano Castañeda
SUR Emprendimientos Tecnológicos
Ing. Huergo 1189 (C1007AOL)
Ciudad de Buenos Aires, Argentina
Tel. +54 (11) 5811-4552 ext. 107
emilianocastaneda at suremptec.com.ar<mailto:emilianocastaneda at suremptec.com.ar>
www.suremptec.com<http://www.suremptec.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20091210/8fff01fc/attachment.htm>
More information about the MapServer-users
mailing list