[MS4W-Users] dynamic line pattern
Robert Sanson
Robert.Sanson at asurequality.com
Wed Mar 27 16:32:53 EDT 2019
Why not use CLASSITEM and CLASS with an EXPRESSION for each possible value? See this layer from a mapfile:
LAYER
NAME elines
GROUP "FMS"
TYPE LINE
STATUS ON
CONNECTION "./elines.ovf"
CONNECTIONTYPE OGR
DATA "elines"
FILTER "WHERE farm_id = '%farmid%' and spatial_feature_type = 3 and end_date is null"
VALIDATION
'farmid' '^[A-Z]{2}[0-9]{5}$'
END
CLASSITEM "sub_area_code"
CLASS
NAME "AWDS"
EXPRESSION "AWDS"
STYLE
PATTERN 5.0 5.0 END
WIDTH 4
COLOR 52 207 173
END
END #CLASS
CLASS
NAME "AWFE"
EXPRESSION "AWFE"
STYLE
WIDTH 4
COLOR 207 52 86
END
END #CLASS
CLASS
NAME "AWPT"
EXPRESSION "AWPT"
STYLE
PATTERN 6.0 7.0 END
WIDTH 4
COLOR 207 52 86
END
END #CLASS
CLASS
NAME "AWUN"
EXPRESSION "AWUN"
STYLE
PATTERN 0.5 7.0 END
WIDTH 4
COLOR 207 52 86
END
END #CLASS
CLASS
NAME "BELT"
EXPRESSION "BELT"
STYLE
WIDTH 6
COLOR 33 145 0
END
END #CLASS
CLASS
NAME "CNAL"
EXPRESSION "CNAL"
STYLE
WIDTH 4
COLOR 192 154 31
END
END #CLASS
CLASS
NAME "DRIN"
EXPRESSION "DRIN"
STYLE
PATTERN 7.0 1.0 END
WIDTH 4
COLOR 255 163 0
END
END #CLASS
CLASS
NAME "PIPE"
EXPRESSION "PIPE"
STYLE
PATTERN 7.0 1.0 END
WIDTH 4
COLOR 255 163 0
END
END #CLASS
CLASS
NAME "RIPA"
EXPRESSION "RIPA"
STYLE
WIDTH 4
COLOR 122 65 0
END
END #CLASS
CLASS
NAME "RPPL"
EXPRESSION "RPPL"
STYLE
PATTERN 0.5 7.0 END
WIDTH 4
COLOR 122 65 0
END
END #CLASS
CLASS
NAME "ROFE"
EXPRESSION "ROFE"
STYLE
WIDTH 3
COLOR 163 207 67
END
END #CLASS
CLASS
NAME "ROPT"
EXPRESSION "ROPT"
STYLE
PATTERN 5.0 7.0 END
WIDTH 3
COLOR 163 207 67
END
END #CLASS
CLASS
NAME "ROUN"
EXPRESSION "ROUN"
STYLE
PATTERN 0.2 6.0 END
WIDTH 3
COLOR 163 207 67
END
END #CLASS
CLASS
NAME "SWTL"
EXPRESSION "SWTL"
STYLE
WIDTH 4
COLOR 158 0 242
END
END #CLASS
CLASS
NAME "WRDR"
EXPRESSION "WRDR"
STYLE
#PATTERN 4.0 4.0 END
WIDTH 3
COLOR 0 0 255
END
END #CLASS
CLASS
NAME "WRNF"
EXPRESSION "WRNF"
STYLE
PATTERN 0.3 6.0 END
WIDTH 3
COLOR 255 153 0
END
END #CLASS
METADATA
"ows_title" "elines"
"ows_abstract" "This is the Environmental Lines layer in NZTM"
"ows_keywordlist" "AGRIBASE"
"wms_opaque" "1"
"wms_group_title" "FMS"
"ows_extent" "1114412.940 4793178.168 2089186.204 6190213.601"
END
END #elines
-----Original Message-----
From: MS4W-Users <ms4w-users-bounces at lists.ms4w.com> On Behalf Of Brent Fraser via MS4W-Users
Sent: Thursday, 28 March 2019 9:23 a.m.
To: MS4W-Users at lists.ms4w.com
Cc: Brent Fraser <bfraser at GeoAnalytic.com>
Subject: Re: [MS4W-Users] dynamic line pattern
Sven,
My old notes on styling:
------ Mapserver Styling Strategies ------ 1. Values hard-coded in mapfile 2. Values substituted from database attribute values (AKA "attribute
binding")
- not all values can use [attribute] as a value, eg PATTERN 3. Entire Style from attribute using STYLEITEM:
STYLEITEM "mystyleattribute" # Mapserver or OGR format
STYLEITEM AUTO # OGR driver only (useful for DXF,DWG, format data
etc)
- since STYLEITEM is a LAYER object, are multiple classes possible?
4. Entire STYLE block from Javascript (STYLEITEM "javascript:///home/user/myscript.js" # absolute path) 5. Style from SLD [URL] reference
(&SLD=http://demo.mapserver.org/ogc-demos/map/sld/sld_line_simple.xml)
You could try #3 (I've never done it but it could work): STYLEITEM <attribute>
Have a look at teh STYLEITEM at https://mapserver.org/mapfile/layer.html
Best Regards,
Brent Fraser
-------- Original Message --------
> From: "Sven Schroeter via MS4W-Users" <ms4w-users at lists.ms4w.com>
> Sent: Wednesday, March 27, 2019 10:57 AM
> To: MS4W-Users at lists.ms4w.com
> Cc: "Sven Schroeter" <schroeter at netgis.de>
> Subject: [MS4W-Users] dynamic line pattern
>
> Hi,
>
> I have a line Layer and want to change the pattern dynamicly from the
> attribute table.
> Is it possible?
>
>
> e.g. I have this working:
>
> CLASS
> NAME "buslines"
> STYLE
> COLOR [linecolor]
> WIDTH 4
> PATTERN 40 10 END
> END
> END # CLASS
>
>
> and I want to get the pattern from an attribute:
>
>
> CLASS
> NAME "buslines"
> STYLE
> COLOR [linecolor]
> WIDTH 4
> PATTERN [pattern] END
> END
> END # CLASS
>
> but this dont work. Any hint?
>
> Thanks
> Sven
>
> _______________________________________________
> MS4W-Users mailing list
> MS4W-Users at lists.ms4w.com
> https://lists.ms4w.com/mailman/listinfo/ms4w-users
_______________________________________________
MS4W-Users mailing list
MS4W-Users at lists.ms4w.com
https://lists.ms4w.com/mailman/listinfo/ms4w-users
More information about the MS4W-Users
mailing list