1<!-- 2 3stylesheet by Markus Straub, code@ravage.at, 2011 4 5error_red: illegal value for cycleway 6attention_cyan: usage of cycleway:left or cycleway:right 7 8black street: cycling is forbidden (motorways, trunk, bicycle=no) 9 10white street: all vehicles can go in both directions 11light pink street: oneway (except for bicycles) 12dark pink street: oneway (for all vehicles) 13 14fat grey border: lane 15fat blue border: track 16 17blue: cycleway 18dashed blue-red (with little red): cycleway with pedestrians allowed 19dashed blue-red (with a lot of red): pedestrian street/way where cycling is allowed 20 21--> 22 23<!DOCTYPE mapStyle [ 24<!ENTITY drivableRoads "[highway] isoneof (primary, primary_link, secondary, secondary_link, tertiary, tertiary_link, unclassified, residential, living_street, pedestrian, minor, service, ford, road)"> 25<!ENTITY drivableRoads_minor "[highway] isoneof (living_street, pedestrian, minor, service, ford, road)"> 26<!ENTITY error_red "#FF0000fc"> 27<!ENTITY attention_cyan "#00FFFFfc"> 28<!ENTITY forbidden_black "#333333fc"> 29<!ENTITY pedestrian_red "#ff8888fc"> 30<!ENTITY cycle_blue "#0000FFfc"> 31<!ENTITY normal_road_white "#fffffffc"> 32<!ENTITY open_oneway_pink "#E1CAFAfc"> 33<!ENTITY closed_oneway_violet "#FF53B8fc"> 34<!ENTITY lane_border_gray "#777777fc"> 35]> 36 37<mapStyle> 38 39<painter 40 backgroundColor="&lane_border_gray;" backgroundScale="0.1" backgroundOffset="0.1" 41 fillColor="#777777fc" 42 drawTrafficDirectionMarks="no" labelColor="#333333fc" labelScale="5" labelOffset="5" 43 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelHalo="yes" labelArea="yes"> 44 <selector expr="[area] isoneof (yes , true)"/> 45</painter> 46 47<!-- //////////////////////// SPECIAL //////////////////////// --> 48 49<!-- invalid values for cycleway --> 50<painter 51 backgroundColor="&error_red;" backgroundScale="2" backgroundOffset="3" 52 foregroundColor="&error_red;" foregroundScale="1" foregroundOffset="2" 53 zoomUnder="0.1" zoomUpper="1e+07" 54 drawTrafficDirectionMarks="yes" labelColor="#ddddddff" labelScale="1.2" labelOffset="3" 55 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelBackgroundColor="#ffffff7c" labelBackgroundTag="" 56> 57 <selector expr="not [cycleway] is _NULL_ and not [cycleway] isoneof (lane, track, opposite, opposite_lane, opposite_track)"/> 58</painter> 59 60<!-- usage of cycleway:left of cycleway:right --> 61<painter 62 backgroundColor="&attention_cyan;" backgroundScale="2" backgroundOffset="3" 63 foregroundColor="&attention_cyan;" foregroundScale="1" foregroundOffset="2" 64 zoomUnder="0.1" zoomUpper="1e+07" 65 drawTrafficDirectionMarks="yes" labelColor="#ddddddff" labelScale="1.2" labelOffset="3" 66 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelBackgroundColor="#ffffff7c" labelBackgroundTag="" 67> 68 <selector expr="not [cycleway:left] is _NULL_ or not [cycleway:right] is _NULL_"/> 69</painter> 70 71<!-- roads where bikes are not allowed: completely gray --> 72<painter 73 backgroundColor="&forbidden_black;" backgroundScale="1.2" backgroundOffset="3" 74 foregroundColor="&forbidden_black;" foregroundScale="1" foregroundOffset="2" 75> 76 <selector expr="[highway] isoneof (motorway, motorway_link, trunk, trunk_link) or [bicycle] isoneof (0, no)"/> 77</painter> 78 79<!-- in living streets cyclists can ignore oneways --> 80<painter 81 backgroundColor="&lane_border_gray;" backgroundScale="0.7" backgroundOffset="3" 82 foregroundColor="&open_oneway_pink;" foregroundScale="0.5" foregroundOffset="2" 83 drawTrafficDirectionMarks="yes" 84> 85 <selector expr="[highway] is living_street and [oneway] is yes"/> 86</painter> 87 88 89<!-- //////////////////////// ONEWAYS //////////////////////// --> 90 91<!-- drivable road & oneway & cycleway=opposite_track: slight violet with fat blue border --> 92<painter 93 backgroundColor="&cycle_blue;" backgroundScale="2.5" backgroundOffset="3" 94 foregroundColor="&open_oneway_pink;" foregroundScale="1" foregroundOffset="2" 95 drawTrafficDirectionMarks="yes" 96> 97 <selector expr="&drivableRoads; and [oneway] is yes and [cycleway] is opposite_track"/> 98</painter> 99 100<!-- drivable road & oneway & cycleway=opposite_lane: slight violet with fat border --> 101<painter 102 backgroundColor="&lane_border_gray;" backgroundScale="2.5" backgroundOffset="3" 103 foregroundColor="&open_oneway_pink;" foregroundScale="1" foregroundOffset="2" 104 drawTrafficDirectionMarks="yes" 105> 106 <selector expr="&drivableRoads; and [oneway] is yes and [cycleway] is opposite_lane"/> 107</painter> 108 109<!-- drivable road & oneway & cycleway=opposite: slight violet with gray border --> 110<painter 111 backgroundColor="&lane_border_gray;" backgroundScale="1.2" backgroundOffset="3" 112 foregroundColor="&open_oneway_pink;" foregroundScale="1" foregroundOffset="2" 113 drawTrafficDirectionMarks="yes" 114> 115 <selector expr="&drivableRoads; and [oneway] is yes and [cycleway] is opposite"/> 116</painter> 117 118<!-- drivable road & oneway & cycleway=track: heavy violet with fat blue border --> 119<painter 120 backgroundColor="&cycle_blue;" backgroundScale="2.5" backgroundOffset="3" 121 foregroundColor="&closed_oneway_violet;" foregroundScale="1" foregroundOffset="2" 122 drawTrafficDirectionMarks="yes" 123> 124 <selector expr="&drivableRoads; and [oneway] is yes and [cycleway] is track"/> 125</painter> 126 127<!-- drivable road & oneway & cycleway=lane: heavy violet with fat gray border --> 128<painter 129 backgroundColor="&lane_border_gray;" backgroundScale="2.5" backgroundOffset="3" 130 foregroundColor="&closed_oneway_violet;" foregroundScale="1" foregroundOffset="2" 131 drawTrafficDirectionMarks="yes" 132> 133 <selector expr="&drivableRoads; and [oneway] is yes and [cycleway] is lane"/> 134</painter> 135 136<!-- drivable road & oneway: heavy violet with gray border --> 137<painter 138 backgroundColor="&lane_border_gray;" backgroundScale="1.2" backgroundOffset="3" 139 foregroundColor="&closed_oneway_violet;" foregroundScale="1" foregroundOffset="2" 140 drawTrafficDirectionMarks="yes" 141> 142 <selector expr="&drivableRoads; and [oneway] is yes"/> 143</painter> 144 145 146 147 148<!-- //////////////////////// DEDICATED CYCLEWAYS / FOOTWAYS //////////////////////// --> 149 150<painter 151 backgroundColor="&cycle_blue;" backgroundScale="0.7" backgroundOffset="3" 152 foregroundColor="&pedestrian_red;" foregroundScale="0.3" foregroundOffset="2" 153 foregroundDashDown="4" foregroundDashUp="2" 154 drawTrafficDirectionMarks="yes" 155> 156 <selector expr="[highway] isoneof (pedestrian, bridleway, path, footway, steps) and [bicycle] isoneof (1, yes, permissive, destination, official, designated)"/> 157</painter> 158 159<painter 160 backgroundColor="&cycle_blue;" backgroundScale="0.7" backgroundOffset="3" 161 foregroundColor="&pedestrian_red;" foregroundScale="0.3" foregroundOffset="2" 162 foregroundDashDown="1" foregroundDashUp="5" 163 drawTrafficDirectionMarks="yes" 164> 165 <selector expr="[highway] = cycleway and [foot] isoneof (1, yes, permissive, destination, official, designated)"/> 166</painter> 167 168<painter 169 foregroundColor="&cycle_blue;" foregroundScale="0.7" foregroundOffset="2" 170 drawTrafficDirectionMarks="yes" 171> 172 <selector expr="[highway] isoneof (cycleway)"/> 173</painter> 174 175 176<!-- //////////////////////// NORMAL ROADS //////////////////////// --> 177 178<!-- drivable roads & track: white with fat blue border --> 179<painter 180 backgroundColor="&cycle_blue;" backgroundScale="3" backgroundOffset="3" 181 foregroundColor="&normal_road_white;" foregroundScale="1" foregroundOffset="2" 182> 183 <selector expr="&drivableRoads; and [cycleway] is track"/> 184</painter> 185 186<!-- drivable roads & lane: white with fat gray border --> 187<painter 188 backgroundColor="&lane_border_gray;" backgroundScale="3" backgroundOffset="3" 189 foregroundColor="&normal_road_white;" foregroundScale="1" foregroundOffset="2" 190> 191 <selector expr="&drivableRoads; and [cycleway] is lane"/> 192</painter> 193 194<!-- drivable roads (minor): white with gray border (small) --> 195<painter 196 backgroundColor="&lane_border_gray;" backgroundScale="0.7" backgroundOffset="3" 197 foregroundColor="&normal_road_white;" foregroundScale="0.5" foregroundOffset="2" 198> 199 <selector expr="&drivableRoads_minor;"/> 200</painter> 201 202<!-- drivable roads: white with gray border --> 203<painter 204 backgroundColor="&lane_border_gray;" backgroundScale="1.2" backgroundOffset="3" 205 foregroundColor="&normal_road_white;" foregroundScale="1" foregroundOffset="2" 206> 207 <selector expr="&drivableRoads;"/> 208</painter> 209 210 211 212<!-- //////////////////////// POIs //////////////////////// --> 213 214 215<painter 216 zoomUnder="0.2" zoomUpper="1e+07" 217 icon=":/MapIcons/map-icons/square.small/vehicle/bicycle_rental.png" iconScale="0" iconOffset="0" 218> 219 <selector expr="[amenity] is bicycle_rental"/> 220</painter> 221 222<painter 223 zoomUnder="0.2" zoomUpper="1e+07" 224 icon=":/MapIcons/map-icons/square.small/sports/cycling.png" iconScale="0" iconOffset="0" 225> 226 <selector expr="[shop] is bicycle"/> 227</painter> 228 229<painter 230 zoomUnder="0.2" zoomUpper="1e+07" 231 icon=":/MapIcons/map-icons/square.small/vehicle/parking/garage.png" iconScale="0" iconOffset="0" 232> 233 <selector expr="[amenity] is bicycle_parking and [covered] is yes"/> 234</painter> 235 236<painter 237 zoomUnder="0.2" zoomUpper="1e+07" 238 icon=":/MapIcons/map-icons/square.small/misc/information.png" 239> 240 <selector expr="[amenity] is bicycle_parking"/> 241</painter> 242 243 244 245<painter 246 zoomUnder="0.2" zoomUpper="1e+07" 247 icon=":/Art/Mapnik/mini_round.png" iconScale="0" iconOffset="0" 248 drawTrafficDirectionMarks="no"> 249 <selector expr="[highway] is mini_roundabout"/> 250</painter> 251<painter 252 zoomUnder="0.2" zoomUpper="1e+07" 253 icon=":/MapIcons/map-icons/square.small/vehicle/restrictions/traffic-light.png" iconScale="0" iconOffset="0" 254 drawTrafficDirectionMarks="no"> 255 <selector expr="[highway] is traffic_signals"/> 256</painter> 257 258 259 260<!-- //////////////////////// AREAS //////////////////////// --> 261 262<painter 263 fillColor="#999933cd" 264 drawTrafficDirectionMarks="no" labelColor="#333333ff" labelScale="1.5" labelOffset="6" 265 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelHalo="yes" labelArea="yes"> 266 <selector expr="not [building] is _NULL_"/> 267</painter> 268<painter 269 zoomUnder="0.02" zoomUpper="1e+07" 270 fillColor="#b6fdb6cd" 271 drawTrafficDirectionMarks="no" labelColor="&forbidden_black;" labelScale="7" labelOffset="5.5" 272 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelHalo="yes" labelArea="yes"> 273 <selector expr="[leisure] is park"/> 274</painter> 275<painter 276 zoomUnder="0.02" zoomUpper="1e+07" 277 fillColor="#8ad3afcd" 278 drawTrafficDirectionMarks="yes"> 279 <selector expr="[leisure] is pitch"/> 280</painter> 281<painter 282 zoomUnder="0.02" zoomUpper="1e+07" 283 foregroundColor="#770000fc" foregroundScale="0" foregroundOffset="1" 284 fillColor="#ff777777" 285 drawTrafficDirectionMarks="yes"> 286 <selector expr="[leisure] is track"/> 287</painter> 288<painter 289 zoomUnder="0.002" zoomUpper="1e+07" 290 fillColor="#aed1a0cd" 291 drawTrafficDirectionMarks="yes"> 292 <selector expr="[natural] is wood"/> 293</painter> 294<painter 295 zoomUnder="0.002" zoomUpper="1e+07" 296 fillColor="#aed1a0cd" 297 drawTrafficDirectionMarks="yes"> 298 <selector expr="[natural] is meadow"/> 299</painter> 300<painter 301 zoomUnder="0.002" zoomUpper="1e+07" 302 foregroundColor="#007700fc" foregroundScale="0" foregroundOffset="1" 303 fillColor="#bccf8f77" 304 drawTrafficDirectionMarks="yes"> 305 <selector expr="[natural] is scrub"/> 306</painter> 307<painter 308 zoomUnder="0.002" zoomUpper="1e+07" 309 foregroundColor="#007700fc" foregroundScale="0" foregroundOffset="1" 310 fillColor="#55994477" 311 drawTrafficDirectionMarks="yes"> 312 <selector expr="[natural] is heath"/> 313</painter> 314<painter 315 zoomUnder="0.002" zoomUpper="1e+07" 316 fillColor="#b5d0d0cd" 317 drawTrafficDirectionMarks="no" labelColor="#6699ccfc" labelScale="7" labelOffset="6" 318 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelHalo="yes" labelArea="yes"> 319 <selector expr="[natural] is water"/> 320</painter> 321<painter 322 fillColor="#b5d0d0cd" 323 drawTrafficDirectionMarks="yes"> 324 <selector expr="[natural] is fell"/> 325</painter> 326<painter 327 fillColor="#f2efe9cd" 328 drawTrafficDirectionMarks="yes"> 329 <selector expr="[natural] is land"/> 330</painter> 331<painter 332 zoomUnder="0.03" zoomUpper="1e+07" 333 icon=":/Art/Mapnik/peak.png" iconScale="0" iconOffset="0" 334 drawTrafficDirectionMarks="no" labelColor="#333333ff" labelScale="4.0" labelOffset="9" 335 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelHalo="yes"> 336 <selector expr="[natural] is peak"/> 337</painter> 338<painter 339 zoomUnder="0.2" zoomUpper="1e+07" 340 icon=":/MapIcons/map-icons/square.small/misc/landmark/spring.png" iconScale="0" iconOffset="0" 341 drawTrafficDirectionMarks="no" labelColor="#333333ff" labelScale="3.5" labelOffset="3" 342 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelHalo="yes"> 343 <selector expr="[natural] is spring"/> 344</painter> 345<painter 346 zoomUnder="0.2" zoomUpper="1e+07" 347 foregroundColor="#797979fc" foregroundScale="0.3" foregroundOffset="1" 348 touchupColor="#000000ff" touchupScale="0.5" touchupOffset="1" 349 touchupDashDown="1" touchupDashUp="1" 350 drawTrafficDirectionMarks="yes" labelColor="#333333ff" labelScale="3.5" labelOffset="3" 351 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelHalo="yes"> 352 <selector expr="[natural] is cliff"/> 353</painter> 354 355<painter 356 foregroundColor="#b5d0d0fc" foregroundScale="0" foregroundOffset="2" 357 drawTrafficDirectionMarks="yes" labelColor="#6699ccff" labelScale="1.3" labelOffset="3" 358 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelHalo="yes"> 359 <selector expr="[waterway] isoneof (river , canal)"/> 360</painter> 361<painter 362 foregroundColor="#b5d0d0fc" foregroundScale="0" foregroundOffset="2" 363 drawTrafficDirectionMarks="yes" labelColor="#6699ccff" labelScale="1.1" labelOffset="3" 364 labelFont="DejaVu Sans Condensed,12,-1,5,50,0,0,0,0,0" labelTag="name" labelHalo="yes"> 365 <selector expr="[waterway] isoneof (stream , drain)"/> 366</painter> 367<painter 368 fillColor="#b5d0d0cd" 369 drawTrafficDirectionMarks="yes"> 370 <selector expr="[waterway] is riverbank"/> 371</painter> 372<painter 373 fillColor="#444444cd" 374 drawTrafficDirectionMarks="yes"> 375 <selector expr="[sport] is basketball"/> 376</painter> 377<painter 378 fillColor="#c85656cd" 379 drawTrafficDirectionMarks="yes"> 380 <selector expr="[sport] is tennis"/> 381</painter> 382<painter 383 fillColor="#00aa7fcd" 384 drawTrafficDirectionMarks="yes"> 385 <selector expr="[sport] is soccer"/> 386</painter> 387<painter 388 fillColor="#00aa7fcd" 389 drawTrafficDirectionMarks="yes"> 390 <selector expr="[sport] is football"/> 391</painter> 392<painter 393 fillColor="#00aa7fcd" 394 drawTrafficDirectionMarks="yes"> 395 <selector expr="[sport] is athletics"/> 396</painter> 397<painter 398 fillColor="#00aa7fcd" 399 drawTrafficDirectionMarks="yes"> 400 <selector expr="[sport] is skating"/> 401</painter> 402<painter 403 fillColor="#00c38fcd" 404 drawTrafficDirectionMarks="yes"> 405 <selector expr="[sport] is multi"/> 406</painter> 407<painter 408 backgroundColor="&cycle_blue;" backgroundScale="0" backgroundOffset="3" 409 fillColor="#a0b6ffcd" 410 drawTrafficDirectionMarks="yes"> 411 <selector expr="[sport] is swimming"/> 412</painter> 413<painter 414 zoomUnder="0.1" zoomUpper="1e+07" 415 backgroundColor="#707070fc" backgroundScale="0.1" backgroundOffset="0" 416 drawTrafficDirectionMarks="no"> 417 <selector expr="[power] is line"/> 418</painter> 419<painter 420 zoomUnder="0.2" zoomUpper="1e+07" 421 icon=":/Art/Mapnik/power_tower.png" iconScale="0" iconOffset="0" 422 drawTrafficDirectionMarks="no"> 423 <selector expr="[power] is tower"/> 424</painter> 425 426</mapStyle> 427