[mapserver-users] Problems when using complex expressions

Adrian Popa adrian_gh.popa at romtelecom.ro
Tue Jul 21 08:19:21 EDT 2009


I managed to find a workaround for my problem: I used a FILTER statement 
in the layer definition and an EXPRESSION in my classes:

LAYER
    ...
    FILTERITEM "myColumn1"
    FILTER /MYREGEXP/i

    CLASS
       NAME "Test"
       EXPRESSION ( "[myColumn2]" eq "1" )
       ....
    END
END

This configuration seems to work - I will test it some more...
If anywone has an idea why the previous examples didn't work - I'd be 
happy to hear it out...

Regards,
Adrian

Adrian Popa wrote:
> Thanks, Andreas,
>
> I've tried your solution (and already looked over the manual) but it 
> still doesn't match anything...
>
> Also - EXPRESSION ("[myColumn]" =~ /MYREGEXP/i) doesn't match anything
> and EXPRESSION "[myColumn]" =~ /MYREGEXP/i   complains of a syntax error.
>
> myColumn is the exact same thing as what I use in the layer's 
> CLASSITEM definition.
>
> I am puzzled... I think I'm using the EXPRESSION syntax the wrong way, 
> but I'm not sure what I'm doing wrong.
>
> Regards,
> Adrian
>
> Andreas Albarello wrote:
>> Adrian Popa wrote:
>>> EXPRESSION (/MYREGEXP/i)    -> doesn't work (doesn't match anything)
>>> EXPRESSION /MYREGEXP/i      -> works
>>> EXPRESSION "[myColumn]" ==1 -> doesn't work (loadClass(): Unknown 
>>> identifier. Parsing error near (=))
>>> EXPRESSION ("[myColumn]" ==1) -> doesn't work (doesn't match anything)
>>> EXPRESSION ("[myColumn]" eq "1") -> works
>>>
>>> EXPRESSION (/MYREGEXP/i) && ("[myColumn]" eq "1")  -> doesn't work 
>>> (doesn't match anything)
>>> EXPRESSION /MYREGEXP/i && ("[myColumn]" eq "1")  -> doesn't work 
>>> (loadClass(): Unknown identifier. Parsing error near (&))
>>> EXPRESSION ((/MYREGEXP/i) && ("[myColumn]" eq "1"))  -> doesn't work 
>>> (doesn't match anything)
>>>
>>> I have checked my data and it should match - most likely, my 
>>> expression is wrong. Any suggestions? What is the correct syntax for 
>>> mixing regular expressions with other values?
>>
>> Adrian,
>>
>> have a look at this: http://mapserver.org/mapfile/expressions.html
>>
>> As far as mixing regular and other expressions goes, this is the 
>> correct way to do it:
>>
>> EXPRESSION (("[myColumn]" =~ /MYREGEXP/i) && ("[myColumn]" eq "1"))
>>
>> Best regards,
>
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>




More information about the mapserver-users mailing list