Version 10 (modified by 10 years ago) ( diff ) | ,
---|
[[Image(...)]] Maxspeed style
Description
This style adds display of driving speed related information to the map. Therefore the keys maxspeed, maxspeed:forward and maxspeed:backward are evaluated. Left-hand and right-hand traffic are taken into account. Example:
You can change the colors in the preferences of JOSM. The default colors are shown below.
For ideas/questions/bugs/suggestions or similar please write a message to Klumbumbus.
Feel free to translate this wiki page into more languages. Already translated languages see top right.
Changelog
Version 1.5 to 2.0.xx
- change from xml to mapcss
- support of maxspeed:forward and maxspeed:backward (considering left and right hand traffic)
- support of maxspeed:variable, maxspeed:variable:forward and maxspeed:variable:backward (dashed line)
- highlight color is now below the highway line, to see the highway type (residential, secondary, motorway,...)
- removed support of values without space between number and unit (e.g. 35mph)
- added error message for wrong maxspeed values (like 35mph or 35 m/h)
- added error message if maxspeed direction is opposed to oneway direction
- adjusted to most used values according to taginfo
- added 20, 45, none
- removed unused values like 32.19
- adjusted opacities, widths and some colors for better display and distinction between the colors
- widths depends on zoom level
Code
meta { title: "Maxspeed"; version: "2.0.47_2024-05-20"; description: "Display maxspeed values in JOSM map display."; icon: "http://josm.openstreetmap.de/raw-attachment/wiki/Styles/Maxspeed/maxspeed_icon.png"; author: "Rubke, Dirk Stöcker, Vclaw, Klumbumbus"; link: "http://josm.openstreetmap.de/wiki/Styles/Maxspeed"; watch-modified: true; min-josm-version: "7193"; /* because of pseudoclass :righthandtraffic */ } meta[lang=de] { title: "Höchstgeschwindigkeit"; description: "Anzeige der Höchstgeschwindigkeiten in der JOSM-Kartenanzeige."; link: "http://josm.openstreetmap.de/wiki/De:Styles/maxspeed"; } /* disable tiger layer from default internal mappaint style */ way["tiger:reviewed"=no]::core_tiger { opacity: 0; } /* disable street names from default internal mappaint style */ way[highway] { text: none; } /* display maxspeed=* */ way["maxspeed"="none"]::maxspeed { set maxspeed; color: speed_none#b8b8b8; } /* km/h */ way["maxspeed"="10"]::maxspeed { set maxspeed; color: speed_10#b80022; } way["maxspeed"="15"]::maxspeed { set maxspeed; color: speed_15#00da8b; } way["maxspeed"="20"]::maxspeed { set maxspeed; color: speed_20#e3cc82; } way["maxspeed"="30"]::maxspeed { set maxspeed; color: speed_30#4d4dff; } way["maxspeed"="40"]::maxspeed { set maxspeed; color: speed_40#4d4d00; } way["maxspeed"="45"]::maxspeed { set maxspeed; color: speed_45#ff529a; } way["maxspeed"="50"]::maxspeed { set maxspeed; color: speed_50#07f807; } way["maxspeed"="60"]::maxspeed { set maxspeed; color: speed_60#9f9fff; } way["maxspeed"="70"]::maxspeed { set maxspeed; color: speed_70#ee8b00; } way["maxspeed"="80"]::maxspeed { set maxspeed; color: speed_80#f90808; } way["maxspeed"="90"]::maxspeed { set maxspeed; color: speed_90#07f8f8; } way["maxspeed"="100"]::maxspeed { set maxspeed; color: speed_100#f807f8; } way["maxspeed"="110"]::maxspeed { set maxspeed; color: speed_110#7807f8; } way["maxspeed"="120"]::maxspeed { set maxspeed; color: speed_120#ccad24; } way["maxspeed"="130"]::maxspeed { set maxspeed; color: speed_130#c0f100; } /* mph */ way["maxspeed"="5 mph"]::maxspeed { set maxspeed; color: speed_5_mph#b80022; } way["maxspeed"="10 mph"]::maxspeed { set maxspeed; color: speed_10_mph#00da8b; } way["maxspeed"="15 mph"]::maxspeed { set maxspeed; color: speed_15_mph#e3cc82; } way["maxspeed"="20 mph"]::maxspeed { set maxspeed; color: speed_20_mph#4d4dff; } way["maxspeed"="25 mph"]::maxspeed { set maxspeed; color: speed_25_mph#4d4d00; } way["maxspeed"="30 mph"]::maxspeed { set maxspeed; color: speed_30_mph#ff529a; } way["maxspeed"="35 mph"]::maxspeed { set maxspeed; color: speed_35_mph#07f807; } way["maxspeed"="40 mph"]::maxspeed { set maxspeed; color: speed_40_mph#9f9fff; } way["maxspeed"="45 mph"]::maxspeed { set maxspeed; color: speed_45_mph#ee8b00; } way["maxspeed"="50 mph"]::maxspeed { set maxspeed; color: speed_50_mph#f90808; } way["maxspeed"="55 mph"]::maxspeed { set maxspeed; color: speed_55_mph#07f8f8; } way["maxspeed"="60 mph"]::maxspeed { set maxspeed; color: speed_60_mph#f807f8; } way["maxspeed"="65 mph"]::maxspeed { set maxspeed; color: speed_65_mph#7807f8; } way["maxspeed"="70 mph"]::maxspeed { set maxspeed; color: speed_70_mph#ccad24; } way["maxspeed"="75 mph"]::maxspeed { set maxspeed; color: speed_75_mph#c0f100; } way.maxspeed::maxspeed { opacity: 0.75; width: 14; z-index: -1; } way|z16.maxspeed::maxspeed { width: 12; } way|z-15.maxspeed::maxspeed { width:10; } way.maxspeed[maxspeed:variable]::maxspeed { dashes: 34,6; } /*************************************/ /* display maxspeed:forward=* for righthandtraffic */ /* display maxspeed:backward=* for lefthandtraffic */ way["maxspeed:forward"="none"]:righthandtraffic::maxspeed, way["maxspeed:backward"="none"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_none#b8b8b8; } /* km/h */ way["maxspeed:forward"="10"]:righthandtraffic::maxspeed, way["maxspeed:backward"="10"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_10#b80022; } way["maxspeed:forward"="15"]:righthandtraffic::maxspeed, way["maxspeed:backward"="15"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_15#00da8b; } way["maxspeed:forward"="20"]:righthandtraffic::maxspeed, way["maxspeed:backward"="20"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_20#e3cc82; } way["maxspeed:forward"="30"]:righthandtraffic::maxspeed, way["maxspeed:backward"="30"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_30#4d4dff; } way["maxspeed:forward"="40"]:righthandtraffic::maxspeed, way["maxspeed:backward"="40"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_40#4d4d00; } way["maxspeed:forward"="45"]:righthandtraffic::maxspeed, way["maxspeed:backward"="45"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_45#ff529a; } way["maxspeed:forward"="50"]:righthandtraffic::maxspeed, way["maxspeed:backward"="50"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_50#07f807; } way["maxspeed:forward"="60"]:righthandtraffic::maxspeed, way["maxspeed:backward"="60"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_60#9f9fff; } way["maxspeed:forward"="70"]:righthandtraffic::maxspeed, way["maxspeed:backward"="70"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_70#ee8b00; } way["maxspeed:forward"="80"]:righthandtraffic::maxspeed, way["maxspeed:backward"="80"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_80#f90808; } way["maxspeed:forward"="90"]:righthandtraffic::maxspeed, way["maxspeed:backward"="90"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_90#07f8f8; } way["maxspeed:forward"="100"]:righthandtraffic::maxspeed, way["maxspeed:backward"="100"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_100#f807f8; } way["maxspeed:forward"="110"]:righthandtraffic::maxspeed, way["maxspeed:backward"="110"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_110#7807f8; } way["maxspeed:forward"="120"]:righthandtraffic::maxspeed, way["maxspeed:backward"="120"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_120#ccad24; } way["maxspeed:forward"="130"]:righthandtraffic::maxspeed, way["maxspeed:backward"="130"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_130#c0f100; } /* mph */ way["maxspeed:forward"="5 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="5 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_5_mph#b80022; } way["maxspeed:forward"="10 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="10 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_10_mph#00da8b; } way["maxspeed:forward"="15 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="15 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_15_mph#e3cc82; } way["maxspeed:forward"="20 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="20 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_20_mph#4d4dff; } way["maxspeed:forward"="25 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="25 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_25_mph#4d4d00; } way["maxspeed:forward"="30 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="30 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_30_mph#ff529a; } way["maxspeed:forward"="35 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="35 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_35_mph#07f807; } way["maxspeed:forward"="40 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="40 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_40_mph#9f9fff; } way["maxspeed:forward"="45 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="45 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_45_mph#ee8b00; } way["maxspeed:forward"="50 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="50 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_50_mph#f90808; } way["maxspeed:forward"="55 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="55 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_55_mph#07f8f8; } way["maxspeed:forward"="60 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="60 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_60_mph#f807f8; } way["maxspeed:forward"="65 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="65 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_65_mph#7807f8; } way["maxspeed:forward"="70 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="70 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_70_mph#ccad24; } way["maxspeed:forward"="75 mph"]:righthandtraffic::maxspeed, way["maxspeed:backward"="75 mph"]!:righthandtraffic::maxspeed { set maxspeed_right; right-casing-color: speed_75_mph#c0f100; } way.maxspeed_right::maxspeed { right-casing-opacity: 0.75; right-casing-width: 6; right-casing-offset: 0; } way|z16.maxspeed_right::maxspeed { right-casing-width: 5; } way|z-15.maxspeed_right::maxspeed { right-casing-width: 4; } way.maxspeed_right[maxspeed:variable:forward]:righthandtraffic::maxspeed, way.maxspeed_right[maxspeed:variable:backward]!:righthandtraffic::maxspeed { right-casing-dashes: 34,6; } /*************************************/ /* display maxspeed:forward=* for lefthandtraffic */ /* display maxspeed:backward=* for righthandtraffic */ way["maxspeed:forward"="none"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="none"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_none#b8b8b8; } /* km/h */ way["maxspeed:forward"="10"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="10"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_10#b80022; } way["maxspeed:forward"="15"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="15"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_15#00da8b; } way["maxspeed:forward"="20"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="20"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_20#e3cc82; } way["maxspeed:forward"="30"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="30"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_30#4d4dff; } way["maxspeed:forward"="40"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="40"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_40#4d4d00; } way["maxspeed:forward"="45"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="45"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_45#ff529a; } way["maxspeed:forward"="50"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="50"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_50#07f807; } way["maxspeed:forward"="60"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="60"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_60#9f9fff; } way["maxspeed:forward"="70"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="70"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_70#ee8b00; } way["maxspeed:forward"="80"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="80"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_80#f90808; } way["maxspeed:forward"="90"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="90"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_90#07f8f8; } way["maxspeed:forward"="100"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="100"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_100#f807f8; } way["maxspeed:forward"="110"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="110"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_110#7807f8; } way["maxspeed:forward"="120"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="120"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_120#ccad24; } way["maxspeed:forward"="130"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="130"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_130#c0f100; } /* mph */ way["maxspeed:forward"="5 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="5 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_5_mph#b80022; } way["maxspeed:forward"="10 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="10 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_10_mph#00da8b; } way["maxspeed:forward"="15 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="15 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_15_mph#e3cc82; } way["maxspeed:forward"="20 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="20 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_20_mph#4d4dff; } way["maxspeed:forward"="25 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="25 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_25_mph#4d4d00; } way["maxspeed:forward"="30 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="30 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_30_mph#ff529a; } way["maxspeed:forward"="35 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="35 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_35_mph#07f807; } way["maxspeed:forward"="40 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="40 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_40_mph#9f9fff; } way["maxspeed:forward"="45 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="45 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_45_mph#ee8b00; } way["maxspeed:forward"="50 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="50 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_50_mph#f90808; } way["maxspeed:forward"="55 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="55 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_55_mph#07f8f8; } way["maxspeed:forward"="60 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="60 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_60_mph#f807f8; } way["maxspeed:forward"="65 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="65 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_65_mph#7807f8; } way["maxspeed:forward"="70 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="70 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_70_mph#ccad24; } way["maxspeed:forward"="75 mph"]!:righthandtraffic::maxspeed, way["maxspeed:backward"="75 mph"]:righthandtraffic::maxspeed { set maxspeed_left; left-casing-color: speed_75_mph#c0f100; } way.maxspeed_left::maxspeed { left-casing-opacity: 0.75; left-casing-width: 6; left-casing-offset: 0; } way|z16.maxspeed_left::maxspeed { left-casing-width: 5; } way|z-15.maxspeed_left::maxspeed { left-casing-width: 4; } way.maxspeed_left[maxspeed:variable:forward]!:righthandtraffic::maxspeed, way.maxspeed_left[maxspeed:variable:backward]:righthandtraffic::maxspeed { left-casing-dashes: 34,6; } /*************************************/ /*************************************/ /*************************************/ /* report wrong value of maxspeed */ way[maxspeed=~/^[0-9]+$/]::maxspeed, way[maxspeed=signals]::maxspeed, way[maxspeed=none]::maxspeed, way[maxspeed=~/^[0-9]+ mph/]::maxspeed, way[maxspeed=~/[0-9]+ km\/h/]::maxspeed, way[maxspeed=~/[0-9]+ knots/]::maxspeed { set correct_value; } way[maxspeed:forward=~/^[0-9]+$/]::maxspeed, way[maxspeed:forward=signals]::maxspeed, way[maxspeed:forward=none]::maxspeed, way[maxspeed:forward=~/^[0-9]+ mph/]::maxspeed, way[maxspeed:forward=~/[0-9]+ km\/h/]::maxspeed, way[maxspeed:forward=~/[0-9]+ knots/]::maxspeed { set correct_value_forward; } way[maxspeed:backward=~/^[0-9]+$/]::maxspeed, way[maxspeed:backward=signals]::maxspeed, way[maxspeed:backward=none]::maxspeed, way[maxspeed:backward=~/^[0-9]+ mph/]::maxspeed, way[maxspeed:backward=~/[0-9]+ km\/h/]::maxspeed, way[maxspeed:backward=~/[0-9]+ knots/]::maxspeed { set correct_value_backward; } way["maxspeed"]!.correct_value::maxspeed, way["maxspeed:forward"]!.correct_value_forward::maxspeed, way["maxspeed:backward"]!.correct_value_backward::maxspeed { color: yellow; dashes-background-color: red; dashes: 4,24; opacity: 1; width: 5; text: tr("no correct value for maxspeed!"); text-color: black; font-size: 11; text-halo-color: red; text-halo-radius: 2; casing-width: 1; casing-color: yellow; } /* report if maxspeed direction is opposed to oneway direction */ way["maxspeed:backward"][oneway?], way["maxspeed:forward"][oneway=-1] { color: yellow; dashes-background-color: red; dashes: 4,24; opacity: 1; width: 5; text: tr("maxspeed opposed to oneway direction!"); text-color: black; font-size: 11; text-halo-color: red; text-halo-radius: 2; casing-width: 1; casing-color: yellow; }
Attachments (4)
-
maxspeed_icon.svg
(5.9 KB
) - added by 10 years ago.
Icon
-
maxspeed_legend.png
(58.7 KB
) - added by 7 months ago.
Legend (NOZIP)
-
Testcenter.osm
(262.6 KB
) - added by 7 months ago.
Testcenter (NOZIP)
-
maxspeed_example.png
(461.6 KB
) - added by 7 months ago.
Example (NOZIP)
Download all attachments as: .zip