[mapserver-users] RE: CLASS EXPRESSION regex help?

Stephen Woodbridge woodbri at swoodbridge.com
Fri Jul 23 15:20:22 EDT 2010


Johan,

Your wording would be better and maybe Jeff can address this and some of 
the other comments in this thread to improve the documentation.

Jeff,

Another common misunderstanding that people seem to have is that the 
order of the classes controls the order of the drawing of features in 
the layer. This is NOT the case. Features are always draw in the order 
they are return from the data source. If users WANT features drawn in 
some particular order then they need to pre-order the features. I good 
example of this is when drawing roads, one might want to draw all minor 
roads first then the major roads over them to control how intersection 
look on the map. This would require sorting the shapefile so minor roads 
are before the major roads. This can also be problematic if you are 
using tile indexes. In that case you need to separate minor and major 
roads into two separate layers.

-Steve

Johan Forsman wrote:
> Hmm, at the substantial risk of sounding obtuse I must confess that
> when I read that sentence I see "all features", not "all features
> except the ones that have a defined class membership" or "all
> remaining features".
> 
> If MapServer excludes any defined class memberships from the default
> class and dumps any remaining features into the default class, then
> perhaps the documentation can be rephrased to indicate that more
> clearly?
> 
> My 1.5 cents, and thanks for all the help. /Johan.
> 
>> -----Original Message----- From:
>> mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users- 
>> bounces at lists.osgeo.org] On Behalf Of Lime, Steve D (DNR) Sent:
>> Friday, July 23, 2010 11:50 AM To: Jeff McKenna;
>> mapserver-users at lists.osgeo.org Subject: RE: [mapserver-users] RE:
>> CLASS EXPRESSION regex help?
>> 
>>> From the class.html file under the EXPRESSION property:
>> 
>> "Four types of expressions are now supported to define class
>> membership. String comparisons, regular expressions, simple logical
>> expressions, and string functions. If no expression is given, then
>> all features are said to belong to this class."
>> 
>> Perhaps not the best explanation but the last sentence is pretty
>> clear.
>> 
>> Steve
>> 
>> -----Original Message----- From:
>> mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users- 
>> bounces at lists.osgeo.org] On Behalf Of Jeff McKenna Sent: Friday,
>> July 23, 2010 11:43 AM To: mapserver-users at lists.osgeo.org Subject:
>> Re: [mapserver-users] RE: CLASS EXPRESSION regex help?
>> 
>> Are all of these tricks discussed here documented somewhere?
>> 
>> -jeff
>> 
>> 
>> 
>> -- Jeff McKenna MapServer Consulting and Training Services 
>> http://www.gatewaygeomatics.com/
>> 
>> 
>> 
>> 
>> Lime, Steve D (DNR) wrote:
>>> If all of your classes have expressions then there is no default
>>> and
>> some features will not be drawn. You kinda get the best of both
>> worlds with this approach...
>>> Steve
>>> 
>>> -----Original Message----- From:
>>> mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-
>> bounces at lists.osgeo.org] On Behalf Of Johan Forsman
>>> Sent: Friday, July 23, 2010 10:39 AM To:
>>> mapserver-users at lists.osgeo.org Subject: [mapserver-users] RE:
>>> CLASS EXPRESSION regex help?
>>> 
>>> Thanks Steve, that appears to work!
>>> 
>>> I did not realize MapServer would on its own accord exclude the
>>> already
>> CLASSified records from the second CLASS unless I explicitly
>> instructed it what to exclude. I presumed it would just draw them
>> again together with the rest. Nice!
>>> Thanks!
>>> 
>>> Now back to monitoring the brewing storm in the Gulf.
>>> 
>>>> -----Original Message----- From: Lime, Steve D (DNR)
>>>> [mailto:Steve.Lime at state.mn.us] Sent: Friday, July 23, 2010
>>>> 10:01 AM To: Johan Forsman; mapserver-users at lists.osgeo.org 
>>>> Subject: RE: CLASS EXPRESSION regex help?
>>>> 
>>>> Hi Johan: Are you looking for just two classes, one for records
>>>> that
>> start
>>>> with "LADE" and another for everything else? If so you can just
>>>> omit
>> the
>>>> expression from the second class and it will function as a
>>>> default
>> class
>>>> so everything that doesn't match the first will be assigned the
>>>> second. It's faster to execute than trying to expressly define
>>>> a second regex. Doesn't solve the regex error but then again
>>>> you may not need to.
>>>> 
>>>> Steve
>>>> 
>>>> -----Original Message----- From:
>>>> mapserver-users-bounces at lists.osgeo.org
>>>> [mailto:mapserver-users- bounces at lists.osgeo.org] On Behalf Of
>>>> Johan Forsman Sent: Friday, July 23, 2010 9:20 AM To:
>>>> mapserver-users at lists.osgeo.org Subject: [mapserver-users]
>>>> CLASS EXPRESSION regex help?
>>>> 
>>>> All:
>>>> 
>>>> Regex neophyte, using MS 5.4.2 in FGS on Ubuntu Server 9.10, I
>>>> wish to render two classes based on content in a PostGIS field.
>>>> 
>>>> 
>>>> For the first CLASS I want all records that start with "LADE",
>>>> and
>> using
>>>> NAME "LADE" EXPRESSION /^LADE.*/
>>>> 
>>>> appears to return the expected records.
>>>> 
>>>> However, for the second CLASS I want all records that DO NOT
>>>> start with "LADE", but using
>>>> 
>>>> NAME "Other" EXPRESSION /^(?!LADE).*/
>>>> 
>>>> does not return any records and the log contains
>>>> 
>>>> msEvalExpression() error: Regular expression error. Invalid
>>>> regular expression.
>>>> 
>>>> Examples out in the ether all indicate that this "negative
>>>> lookahead"
>> is
>>>> supposed to do exactly what I want.
>>>> 
>>>> What am I doing wrong in this instance?
>>>> 
>>>> Thanks! /Johan.
>>>> 
>>>> ---------------------- Johan Forsman Geologist Safe Drinking
>>>> Water Program Louisiana Department of Health and Hospitals 
>>>> Office of Public Health Telephone: 225.342.7309 Telefax:
>>>> 225.342.7303
>>>> 
>>>> 
>> _______________________________________________ mapserver-users
>> mailing list mapserver-users at lists.osgeo.org 
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users 
>> _______________________________________________ mapserver-users
>> mailing list mapserver-users at lists.osgeo.org 
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
> _______________________________________________ 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