= The Symbology Exchange: Vector Symbols = Welcome to The Symbology Exchange. This section is for vector symbols. Post your cool symbols here. We hope you find something useful. Guidelines: * Please post a description of your symbols. While "railroad" is useful, it doesn't indicate how your railroad symbol differs from anyone else's. Is it just different? Does it handle antialiasing and transparency at the same time? Does it look good at a wide variety of sizes? * If you can post a link to see your symbol in action, that would be great. === Nice roads === Posted by HostGIS 2007-08-08 We use this styling for our roads. It gives them that nice thick effect, a la Google. The far-out roads are beige-yellow in color, giving way to grey-on-grey for the smaller roads. The classifications used here are oriented around conventions used in the USA's TIGER street data: the CFCC field indicates the street's type, and range from A1 (interstate highway) to A7 (small road). It should be easily adaptable to other road data, though. First, define a symbol for "solid": {{{ SYMBOL NAME "line_solid" TYPE ellipse POINTS 1 1 END FILLED true END }}} Now for the classes and styling: {{{ CLASSITEM "CFCC" CLASS EXPRESSION /^A[67]/ NAME "Other" MAXSCALE 30000 STYLE SYMBOL 'line_solid' COLOR 170 170 170 SIZE 1 END LABEL COLOR 0 0 0 OUTLINECOLOR 200 200 200 MINFEATURESIZE 10 FONT "Vera" TYPE truetype POSITION AUTO SIZE 8 END END CLASS EXPRESSION /^A[45]/ NAME "City" MAXSCALE 60000 STYLE SYMBOL 'line_solid' COLOR 180 180 180 SIZE 3 END STYLE SYMBOL 'line_solid' COLOR 255 255 255 SIZE 1 END LABEL COLOR 0 0 0 OUTLINECOLOR 200 200 200 MINFEATURESIZE 25 FONT "Vera" TYPE truetype POSITION AUTO ANGLE AUTO MINDISTANCE 200 BUFFER 10 OFFSET 0 -4 SIZE 9 END END CLASS EXPRESSION /^A[23]/ NAME "Highway" MAXSCALE 20000000 STYLE SYMBOL 'line_solid' COLOR 140 140 140 SIZE 5 END STYLE SYMBOL 'line_solid' COLOR 255 250 115 SIZE 3 END LABEL COLOR 0 0 0 OUTLINECOLOR 235 235 235 MINFEATURESIZE 10 FONT "Vera" TYPE truetype POSITION AUTO ANGLE AUTO PARTIALS FALSE OFFSET 0 -5 MINDISTANCE 250 BUFFER 15 SIZE 10 END END CLASS EXPRESSION /^A1/ NAME "Interstate" MAXSCALE 40000000 TEXT ([FENAME]) STYLE SYMBOL 'line_solid' COLOR 120 120 120 SIZE 6 END STYLE SYMBOL 'line_solid' COLOR 242 191 36 SIZE 4 END LABEL OUTLINECOLOR 235 235 235 COLOR 0 0 0 MINFEATURESIZE 10 FONT "Vera" TYPE truetype POSITION AUTO ANGLE AUTO OFFSET 0 -7 MINDISTANCE 300 BUFFER 15 PARTIALS FALSE SIZE 11 END END }}} === Dave Fawcett's symbols from the old Mapserver wiki === Posted by HostGIS at 2007-08-09 This defines a pair of symbols which, when overlaid on each other, creates a thick line with a dashed line down the middle. This is appropriate for highways, for example. {{{ SYMBOL name "circle" Type ELLIPSE Filled true POINTS 1 1 END END SYMBOL name "dashed" Type ELLIPSE FILLED true POINTS 1 1 END STYLE 5 3 END END CLASS NAME "Highway" STYLE SYMBOL circle SIZE 7 COLOR 0 0 0 END STYLE SYMBOL circle SIZE 5 COLOR 255 255 0 END STYLE SYMBOL dashed SIZE 1 COLOR 0 0 0 END END }}} === From Dave Fawcett's wiki page: railroad tracks === Posted by HostGIS at 2007-08-09 Here's a method for drawing railroad tracks. THis is the usual line with shorter lines ("ties") across it. {{{ SYMBOL NAME 'line' TYPE ellipse FILLED true POINTS 1 1 END END SYMBOL NAME 'tie' TYPE Ellipse FILLED TRUE POINTS 1 1 END STYLE 1 3 END END SYMBOL 'railroad' SIZE 1 OVERLAYSYMBOL 'tie' OVERLAYSIZE 3 END }}} === From Dave Fawcett's wiki page: Some fill patterns for polygons === Posted by HostGIS at 2007-08-09 {{{ # A hatch pattern tilted 45 degrees SYMBOL NAME "fill45" TYPE vector POINTS 0 1 1 0 END END # Horizontal & vertical hatching SYMBOL NAME "fillrect" TYPE vector POINTS 0 0 1 0 1 1 END END # Double cross hatching SYMBOL NAME "fillcross" TYPE vector POINTS 0 0 1 1 -1 -1 1 0 0 1 END END # wave hatching SYMBOL NAME "fillwave" TYPE vector POINTS 0 0 1 1 2 0 END END # Horizontal hatching SYMBOL NAME "fill0" TYPE vector POINTS 0 0 1 0 -1 -1 0 1 1 1 END END # Vertical hatching SYMBOL NAME "fill90" TYPE vector POINTS 0 0 0 1 -1 -1 1 0 1 1 END END }}} === Swamp/Marsh fill pattern and Railroad === Posted by Bill Thoen at 2007-08-10 This is a self contained sampler of two symbol types. The first is a polygon fill pattern for swamp land. The second is a railroad symbol and while not particularly special, it illustrates the method of combining multiple styles to build up a decorated line type. The example consists of two files: a MAP file and its associated HTML file. Copy them both and then simply run the MAP file with mapserv to see the symbology. {{{ sym_sampler.html ================ Symbology Viewer

Cartographic Symbols

sym_sampler.map =============== MAP NAME 'Symbology' EXTENT 0 0 400 400 SIZE 400 400 SYMBOL NAME 'swamp' TYPE VECTOR FILLED FALSE POINTS 5 6 4 5 -99 -99 6 6 5 4 -99 -99 7 6 7 3 -99 -99 8 6 9 4 -99 -99 9 6 10 5 -99 -99 19 13 18 12 -99 -99 20 13 19 11 -99 -99 21 13 21 10 -99 -99 22 13 23 11 -99 -99 23 13 24 12 END END SYMBOL NAME 'track' TYPE ELLIPSE FILLED TRUE POINTS 1 1 END END SYMBOL NAME "tie" TYPE cartoline LINECAP butt LINEJOIN miter LINEJOINMAXSIZE 3 STYLE 1 10 1 10 END END WEB TEMPLATE "/var/www/html/blt/sym_sampler.html" IMAGEPATH "/var/www/html/tmp/" IMAGEURL "/tmp/" END LAYER NAME "Wetlands" TYPE POLYGON STATUS DEFAULT FEATURE POINTS 5 345 105 345 105 395 5 395 5 345 END END CLASS COLOR 240 255 240 OUTLINECOLOR 128 255 128 STYLE SYMBOL "swamp" SIZE 22 COLOR 96 128 64 END END END LAYER TYPE LINE STATUS DEFAULT NAME "Railroad" FEATURE POINTS 115 345 148 395 182 345 215 395 END END CLASS STYLE SYMBOL 'track' SIZE 1 COLOR 0 0 0 ANTIALIAS TRUE END STYLE SYMBOL 'tie' SIZE 5 COLOR 0 0 0 ANTIALIAS TRUE END END END LAYER NAME "label2" TYPE ANNOTATION STATUS OFF FEATURE POINTS 165 345 END TEXT "Railroad" END CLASS LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 0 POSITION lc END END END LAYER NAME "Labels" TYPE ANNOTATION STATUS DEFAULT FEATURE POINTS 53 345 END TEXT "Swamp or Marsh" END FEATURE POINTS 165 345 END TEXT "Railroad" END CLASS LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 128 POSITION lc END END END END }}} === Symbol for Orchard and Scrub === Posted by Anton Sizo at 2008-03-17 {{{ CLASS NAME 'Orchard' STYLE COLOR 231 255 170 END STYLE SYMBOL "octahedron" SIZE 10 COLOR 100 100 100 END END #CLASS SYMBOL NAME 'octahedron' TYPE VECTOR POINTS 20 18 22 18 24 20 24 22 22 24 20 24 18 22 18 20 20 18 END FILLED FALSE END CLASS NAME 'Scrub' STYLE COLOR 231 255 170 END STYLE SYMBOL "scrub" SIZE 30 COLOR 100 100 100 END END #CLASS SYMBOL NAME 'scrub' TYPE VECTOR POINTS 88 122 90 122 92 124 92 126 90 128 88 128 86 126 86 124 88 122 -99 -99 120 122 122 122 124 124 124 126 122 128 120 128 118 126 118 124 120 122 -99 -99 106 84 108 84 110 86 110 88 108 90 106 90 104 88 104 86 106 84 -99 -99 107 102 109 102 111 106 111 108 109 110 107 110 103 108 103 106 107 102 -99 -99 END FILLED FALSE END }}} === Plane symbol === Posted by John Zastrow at 2008-05-05 I've been working on an improved version of the Itasca.map and taught myself how to make vector symbols (based on this excellent site! http://umn.mapserver.ch/index_en.php ). The symbol is below, but perhaps more importantly I created a little Excel to help me and included a brief explanation how to use it. http://northredoubt.com/mapserver/mapserver-vector-symbol-designer.xls An improved itasca.map is also available (a work in progress) http://northredoubt.com/mapserver/itasca.map.html {{{ SYMBOL NAME 'plane' TYPE VECTOR FILLED TRUE POINTS 0.5 0.025 0.45 0.075 0.45 0.225 0.45 0.3 0.225 0.325 0.175 0.375 0.45 0.425 0.45 0.6 0.475 0.675 0.425 0.725 0.575 0.725 0.525 0.675 0.55 0.6 0.55 0.425 0.825 0.375 0.775 0.325 0.55 0.3 0.55 0.225 0.55 0.075 0.5 0.025 END END }}} === Polygon fills: Marsh symbols, as used in orienteering maps === Posted by HÃ¥vard Tveite at 2010-10-13 Three different marsh symbols for polygon fills as specified in the International Specification for Orienteering Maps [http://www.orienteering.org/i3/index.php?/iof2006/content/download/866/4026/file/International%20Specification%20for%20Orienteering%20Maps%202000.pdf]. Exploits the way Mapserver is currently implementing vector symbols (using 0,0 as the upper left corner of the symbol, and the maximum x and y values as the lower right corner). Works well for GD. tile boundaries will appear at certain scales in AGG. {{{ SYMBOL NAME "marsh_isom" TYPE vector FILLED true POINTS 0 0.6666666 100 0.666666 100 1 0 1 0 0.66666666 END END SYMBOL NAME "uncrossablemarsh_isom" TYPE vector FILLED true POINTS 0 0.25 100 0.25 100 0.5 0 0.5 0 0.25 END END SYMBOL NAME "indistinctmarsh_isom" TYPE vector FILLED true POINTS 0 0.2 0.45 0.2 0.45 0.3 0 0.3 0 0.2 -99 -99 0.7 0.2 1.15 0.2 1.15 0.3 0.7 0.3 0.7 0.2 -99 -99 0.125 0.5 1.025 0.5 1.025 0.6 0.125 0.6 0.125 0.5 END END }}}