[mapserver-users] Expression Syntax

Jay Kapalczynski jkapalczynski at ci.maple-grove.mn.us
Thu Dec 10 14:05:29 PST 2009


Last thought....

Now that this is working:
FILTER ('[USE1_DESC]'='%idOwnerQueryDESC%' AND '[BLOCK]'='%idOwnerQueryBLOCK%')

I am trying to get them to be wild cards...this worked individually:  BUT does not work in the full string.
FILTER /.*%idOwnerQueryDESC%.*/i


Not Working:
FILTER ('[USE1_DESC]'=' /.*%idOwnerQueryDESC%.*/i' AND '[BLOCK]'='%idOwnerQueryBLOCK%')

FILTER ('[USE1_DESC]'= /.*%idOwnerQueryDESC%.*/i AND '[BLOCK]'='%idOwnerQueryBLOCK%')

FILTER ('[USE1_DESC]'=' .*%idOwnerQueryDESC%*.' AND '[BLOCK]'='%idOwnerQueryBLOCK%')



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:57 PM
To: 'Fawcett, David (MPCA)'; 'Emiliano Castañeda'
Cc: mapserver-users at lists.osgeo.org
Subject: RE: [mapserver-users] Expression Syntax

Thanks all for your thoughts....

Got it...I had to add ' ' around the textbox id as well when referencing the textbox id names
Notice( '%idOwnerQueryDESC%' and '%idOwnerQueryBLOCK%' )

FILTER ('[USE1_DESC]'='%idOwnerQueryDESC%' AND '[BLOCK]'='%idOwnerQueryBLOCK%')

Dan thanks for your thoughts...I am going to be moving to 2.x soon....but have to have the time to lean this all over again...moving to open layers that is....
One step at a time...I have a ton programmed into 1.6 that's going to take me some time to convert...

Thanks again all....very appreciated


From: Fawcett, David (MPCA) [mailto:David.Fawcett at state.mn.us]
Sent: Thursday, December 10, 2009 3:26 PM
To: Jay Kapalczynski; 'Emiliano Castañeda'
Cc: mapserver-users at lists.osgeo.org
Subject: RE: [mapserver-users] Expression Syntax

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/2c116bc3/attachment.htm>


More information about the MapServer-users mailing list