MapServer LAYER>CLASS>EXPRESSION Object
For more information on the use of EXPRESSIONs please refer to the MapServer Documentation.
With a CLASSITEM
If you wish to use more complicated styles for say OS MasterMap layers then you can use the following which will colour according to the value of a field name using EXPRESSION. It is also advisable to have a CLASS entry at the bottom of the list as a “catch all” style for the layer:
POLYGON – OS MasterMap GoLoader
CLASSITEM "OSMMSTYLE_NAME" CLASS EXPRESSION "buildingFill" STYLE COLOR 255 204 153 OUTLINECOLOR 204 204 204 END END CLASS EXPRESSION "multipleSurfaceFill" STYLE COLOR 255 255 204 OUTLINECOLOR 204 204 204 END END CLASS EXPRESSION "0001 Building outline" STYLE COLOR 0 0 0 WIDTH 2 END END
POLYGON – OS MasterMap TranspOSe / SuperpOSe
CLASSITEM "Legend" CLASS EXPRESSION "0321 Building" STYLE COLOR 255 204 153 OUTLINECOLOR 204 204 204 END END CLASS EXPRESSION "0385 Nonconiferous - scattered" STYLE COLOR 0 0 0 OUTLINECOLOR 204 204 204 SYMBOL "0385Scattered" #[Draws a bitmap fill type] END END
POLYLINE – OS MasterMap GoLoader
CLASSITEM "OSMMSTYLE_NAME" CLASS EXPRESSION "defaultTopographicLine" STYLE COLOR 102 102 102 END END CLASS EXPRESSION "buildingLine" STYLE COLOR 0 0 0 WIDTH 2 END END
POLYLINE – OS MasterMap TranspOSe / SuperpOSe
CLASSITEM "Legend" CLASS EXPRESSION "0030 Obstructing feature" STYLE COLOR 102 102 102 END END CLASS EXPRESSION "0001 Building outline" STYLE COLOR 0 0 0 WIDTH 2 END END
With a LABELITEM
GoLoader holds text as lines that require labeling.
LABELITEM - GoLoader
LABELITEM "TEXTSTRING" #LABELANGLEITEM "OGR:LabelAngle" MINSCALE 1 MAXSCALE 4000 #REQUIRES "![Aerial]" #STYLEITEM "auto" CLASSITEM "FEATURECODE" CLASS EXPRESSION ([FEATURECODE] == 10026 OR [FEATURECODE] == 10166 OR [FEATURECODE] == 10178 OR [FEATURECODE] == 10184) LABEL FONT "arial" TYPE TRUETYPE ANTIALIAS TRUE COLOR 0 0 0 OUTLINECOLOR 230 230 230 SIZE 7 POSITION cc ANGLE AUTO END END CLASS EXPRESSION ([FEATURECODE] == 10033) LABEL FONT "arialbd" TYPE TRUETYPE #ANTIALIAS TRUE COLOR 153 153 153 #OUTLINECOLOR 255 255 255 SIZE 15 POSITION cc ANGLE AUTO END END
TranspOSe / SuperpOSe holds text as an annotation layer therefore no labeling is required.
ANNOTATION – TranspOSe / SuperpOSe
LAYER NAME CartoText TYPE ANNOTATION STATUS DEFAULT CONNECTIONTYPE OGR CONNECTION "Base/MasterMap/Carto_Text.TAB" MINSCALE 1 MAXSCALE 6000 STYLEITEM "auto" CLASS END END