wiki:Styles/PriorityRoad

Priority Road

Description

The mappaint style "Priority Road" displays the value of priority_road=* coloured.

Additional it reports wrong values of priority_road.

Left-hand and right-hand traffic are always taken into account.

You can adjust the colours in the preference window of JOSM.

You can use the Priority Road mappaint style together with the default JOSM internal mappaint style. You can disable the names of highways in the style settings of the internal style if they bother you.

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.

Example images

Example of Priority Road:

example (NOZIP)

(data used for image ©OpenStreetMap contributors ODbL)

Legend:

legend (NOZIP)

Testcenter for quality assurance of this style.

Changelog

(Latest change first)

Version 1.2

  • fix interfering display of street name and error messages on ways by hiding street names in these cases (#24210)
  • remove deactivation of core_tiger layer which was removed long ago from internal mappaint style elemstyles.mapcss

Version 1.1

  • fix low zoom display
  • prioritize display of =end over =yes_unposted over designated
  • add warning for usage on nodes

Version 1.0

  • inital version

Code

meta {
    title: "Priority Road";
    version: "1.2.11_2025-03-11";
    description: "Displays priority_road=* coloured.";
    icon: "priority_road_icon.svg";
    author: "Klumbumbus";
    link: "https://josm.openstreetmap.de/wiki/Styles/PriorityRoad";
    /* min-josm-version: "????"; not sure if there is one */
}

meta[lang=de] {
    title: "Vorfahrtsstraße";
    description: "Zeigt priority_road=* farbig an.";
    link: "https://josm.openstreetmap.de/wiki/Styles/PriorityRoad";
}

/* display priority_road on ways */
    /* designated */
way["priority_road"="designated"]::priority_road_layer {
    left-casing-color: priority_road_designated#00FF00;
    right-casing-color: priority_road_designated#00FF00;
    set correct_priority_road_value;
    left-casing-width: 10;
    right-casing-width: 10;
}
way["priority_road:forward"="designated"]:righthandtraffic::priority_road_layer {
    right-casing-color: priority_road_designated#00FF00;
    set correct_fw_priority_road_value;
    right-casing-width: 10;
}
way["priority_road:backward"="designated"]:righthandtraffic::priority_road_layer {
    left-casing-color: priority_road_designated#00FF00;
    set correct_bw_priority_road_value;
    left-casing-width: 10;
}
way["priority_road:forward"="designated"]!:righthandtraffic::priority_road_layer {
    left-casing-color: priority_road_designated#00FF00;
    set correct_fw_priority_road_value;
    left-casing-width: 10;
}
way["priority_road:backward"="designated"]!:righthandtraffic::priority_road_layer {
    right-casing-color: priority_road_designated#00FF00;
    set correct_bw_priority_road_value;
    right-casing-width: 10;
}

    /* yes_unposted */
way["priority_road"="yes_unposted"]::priority_road_layer {
    left-casing-color: priority_road_yes_unposted#FFEE00;
    right-casing-color: priority_road_yes_unposted#FFEE00;
    set correct_priority_road_value;
    left-casing-width: 10;
    right-casing-width: 10;
    z-index: 0.1;
}
way["priority_road:forward"="yes_unposted"]:righthandtraffic::priority_road_layer {
    right-casing-color: priority_road_yes_unposted#FFEE00;
    set correct_fw_priority_road_value;
    right-casing-width: 10;
    z-index: 0.1;
}
way["priority_road:backward"="yes_unposted"]:righthandtraffic::priority_road_layer {
    left-casing-color: priority_road_yes_unposted#FFEE00;
    set correct_bw_priority_road_value;
    left-casing-width: 10;
    z-index: 0.1;
}
way["priority_road:forward"="yes_unposted"]!:righthandtraffic::priority_road_layer {
    left-casing-color: priority_road_yes_unposted#FFEE00;
    set correct_fw_priority_road_value;
    left-casing-width: 10;
    z-index: 0.1;
}
way["priority_road:backward"="yes_unposted"]!:righthandtraffic::priority_road_layer {
    right-casing-color: priority_road_yes_unposted#FFEE00;
    set correct_bw_priority_road_value;
    right-casing-width: 10;
    z-index: 0.1;
}
    /* end */
way["priority_road"="end"]::priority_road_layer {
    left-casing-color: priority_road_end#FF0000;
    right-casing-color: priority_road_end#FF0000;
    set correct_priority_road_value;
    left-casing-width: 10;
    right-casing-width: 10;
    z-index: 0.2;
}
way["priority_road:forward"="end"]:righthandtraffic::priority_road_layer {
    right-casing-color: priority_road_end#FF0000;
    set correct_fw_priority_road_value;
    right-casing-width: 10;
    z-index: 0.2;
}
way["priority_road:backward"="end"]:righthandtraffic::priority_road_layer {
    left-casing-color: priority_road_end#FF0000;
    set correct_bw_priority_road_value;
    left-casing-width: 10;
    z-index: 0.2;
}
way["priority_road:forward"="end"]!:righthandtraffic::priority_road_layer {
    left-casing-color: priority_road_end#FF0000;
    set correct_fw_priority_road_value;
    left-casing-width: 10;
    z-index: 0.2;
}
way["priority_road:backward"="end"]!:righthandtraffic::priority_road_layer {
    right-casing-color: priority_road_end#FF0000;
    set correct_bw_priority_road_value;
    right-casing-width: 10;
    z-index: 0.2;
}

/* zoom dependency */
way|z17.correct_priority_road_value::priority_road_layer,
way|z17.correct_fw_priority_road_value:righthandtraffic::priority_road_layer,
way|z17.correct_bw_priority_road_value!:righthandtraffic::priority_road_layer {
    right-casing-width: 8;
}
way|z17.correct_priority_road_value::priority_road_layer,
way|z17.correct_fw_priority_road_value!:righthandtraffic::priority_road_layer,
way|z17.correct_bw_priority_road_value:righthandtraffic::priority_road_layer {
    left-casing-width: 8;
}
way|z-16.correct_priority_road_value::priority_road_layer,
way|z-16.correct_fw_priority_road_value:righthandtraffic::priority_road_layer,
way|z-16.correct_bw_priority_road_value!:righthandtraffic::priority_road_layer {
    right-casing-width: 6;
}
way|z-16.correct_priority_road_value::priority_road_layer,
way|z-16.correct_fw_priority_road_value!:righthandtraffic::priority_road_layer,
way|z-16.correct_bw_priority_road_value:righthandtraffic::priority_road_layer {
    left-casing-width: 6;
}

/* z index */
way.correct_priority_road_value::priority_road_layer,
way.correct_fw_priority_road_value::priority_road_layer,
way.correct_bw_priority_road_value::priority_road_layer {
    major-z-index: 1.9; /* below bridge layer of default style, to see the bridge */
}


/* report wrong value of priority_road */
way["priority_road"][!is_prop_set("correct_priority_road_value", "priority_road_layer")] { /* in default layer to override street name */
    color: yellow;
    dashes-background-color: red;
    dashes: 4,24;
    opacity: 1;
    width: 5;
    text: tr("no correct value for priority_road!");
    text-color: black;
    font-size: 11;
    text-halo-color: red;
    text-halo-radius: 2;
    casing-width: 1;
    casing-color: yellow;
}
way["priority_road:forward"][!is_prop_set("correct_fw_priority_road_value", "priority_road_layer")] {
    color: yellow;
    dashes-background-color: red;
    dashes: 4,24;
    opacity: 1;
    width: 5;
    text: tr("no correct value for priority_road:forward!");
    text-color: black;
    font-size: 11;
    text-halo-color: red;
    text-halo-radius: 2;
    casing-width: 1;
    casing-color: yellow;
}
way["priority_road:backward"][!is_prop_set("correct_bw_priority_road_value", "priority_road_layer")] {
    color: yellow;
    dashes-background-color: red;
    dashes: 4,24;
    opacity: 1;
    width: 5;
    text: tr("no correct value for priority_road:backward!");
    text-color: black;
    font-size: 11;
    text-halo-color: red;
    text-halo-radius: 2;
    casing-width: 1;
    casing-color: yellow;
}

way["priority_road:backward"][oneway?], /* in default layer to also not hide the oneway arrows */
way["priority_road:forward"][oneway=-1]
{
    color: yellow;
    dashes-background-color: red;
    dashes: 4,24;
    opacity: 1;
    width: 5;
    text: tr("priority_road opposed to oneway direction!");
    text-color: black;
    font-size: 11;
    text-halo-color: red;
    text-halo-radius: 2;
    casing-width: 1;
    casing-color: yellow;
}
node["priority_road"]::priority_road_layer,
node["priority_road:forward"]::priority_road_layer,
node["priority_road:backward"]::priority_road_layer {
    symbol-shape: triangle;
    symbol-fill-color: red;
    symbol-size: 30;
    symbol-stroke-color: yellow;
    text: tr("priority_road on a node. Use traffic_sign=* instead.");
    font-size: 10;
}

Styles_PriorityRoad-style.mapcss, Styles_PriorityRoad.zip

Last modified 2 months ago Last modified on 2025-03-11T18:48:14+01:00

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.