Changes between Version 12 and Version 13 of Styles/Lane_and_Road_Attributes


Ignore:
Timestamp:
2013-02-20T11:08:56+01:00 (13 years ago)
Author:
imagic
Comment:

Cleanup of one-way handling and added junction=roundabout to one-ways

Legend:

Unmodified
Added
Removed
Modified
  • Styles/Lane_and_Road_Attributes

    v12 v13  
    4444    description: "Visualization of lanes, width, turn lanes, changing the lane, destination, lighting and street lamps, sidewalk, cycletracks, bicycle lanes, bus lanes, psv lanes.";
    4545    author: "Martin Vonwald";
    46     version: "0.99-beta8-[[revision]]_[[date]]";
     46    version: "0.99-beta9-[[revision]]_[[date]]";
    4747    license: "CC-BY-SA";
    4848    min-josm-version: "5714";
     
    101101/* One-ways                                                                                                                                        */
    102102/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
    103 way[is_prop_set(ok)]            { oneway_type:  0; }
    104 way[is_prop_set(ok)][oneway?]   { oneway_type:  1; }
    105 way[is_prop_set(ok)][oneway=-1] { oneway_type: -1; }
     103way[is_prop_set(ok)]                                 { oneway_type:  0; }
     104way[is_prop_set(ok)][oneway?]                        { oneway_type:  1; }
     105way[is_prop_set(ok)][oneway=-1]                      { oneway_type: -1; }
     106way[is_prop_set(ok)][junction=roundabout][!oneway]   { oneway_type:  1; }
    106107
    107108/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
     
    203204way|z17-[is_prop_set(ok)]["change:lanes:forward"],
    204205way|z17-[is_prop_set(ok)]["change:forward"],
    205 way|z17-[is_prop_set(ok)]["change:lanes"][oneway?],
    206 way|z17-[is_prop_set(ok)]["change"][oneway?]
     206way|z17-[is_prop_set(ok)]["change:lanes"][prop(oneway_type)=1],
     207way|z17-[is_prop_set(ok)]["change"][prop(oneway_type)=1]
    207208{
    208209    temp: eval(cond(has_tag_key("change:lanes"),tag("change:lanes"),cond(has_tag_key("change"),tag("change"),
     
    240241way|z17-[is_prop_set(ok)]["change:lanes:backward"],
    241242way|z17-[is_prop_set(ok)]["change:backward"],
    242 way|z17-[is_prop_set(ok)]["change:lanes"][oneway=-1],
    243 way|z17-[is_prop_set(ok)]["change"][oneway=-1]
     243way|z17-[is_prop_set(ok)]["change:lanes"][prop(oneway_type)=(-1)],
     244way|z17-[is_prop_set(ok)]["change"][prop(oneway_type)=(-1)]
    244245{
    245246    temp: eval(cond(has_tag_key("change:lanes"),tag("change:lanes"),cond(has_tag_key("change"),tag("change"),
     
    324325way|z17-[is_prop_set(ok)]["turn:lanes:forward"],
    325326way|z17-[is_prop_set(ok)]["turn:forward"],
    326 way|z17-[is_prop_set(ok)]["turn:lanes"][oneway?],
    327 way|z17-[is_prop_set(ok)]["turn"][oneway?]
     327way|z17-[is_prop_set(ok)]["turn:lanes"][prop(oneway_type)=1],
     328way|z17-[is_prop_set(ok)]["turn"][prop(oneway_type)=1]
    328329{
    329330    temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"),
     
    371372way|z17-[is_prop_set(ok)]["turn:lanes:backward"],
    372373way|z17-[is_prop_set(ok)]["turn:backward"],
    373 way|z17-[is_prop_set(ok)]["turn:lanes"][oneway=-1],
    374 way|z17-[is_prop_set(ok)]["turn"][oneway=-1]
     374way|z17-[is_prop_set(ok)]["turn:lanes"][prop(oneway_type)=(-1)],
     375way|z17-[is_prop_set(ok)]["turn"][prop(oneway_type)=(-1)]
    375376{
    376377    temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"),
     
    419420way|z17-[is_prop_set(ok)]["bus:lanes:forward"],
    420421way|z17-[is_prop_set(ok)]["bus:forward"],
    421 way|z17-[is_prop_set(ok)]["bus:lanes"][oneway?],
    422 way|z17-[is_prop_set(ok)]["bus"][oneway?]
     422way|z17-[is_prop_set(ok)]["bus:lanes"][prop(oneway_type)=1],
     423way|z17-[is_prop_set(ok)]["bus"][prop(oneway_type)=1]
    423424{
    424425    temp: eval(cond(has_tag_key("bus:lanes"),tag("bus:lanes"),
     
    457458way|z17-[is_prop_set(ok)]["bus:lanes:backward"],
    458459way|z17-[is_prop_set(ok)]["bus:backward"],
    459 way|z17-[is_prop_set(ok)]["bus:lanes"][oneway=-1],
    460 way|z17-[is_prop_set(ok)]["bus"][oneway=-1]
     460way|z17-[is_prop_set(ok)]["bus:lanes"][prop(oneway_type)=(-1)],
     461way|z17-[is_prop_set(ok)]["bus"][prop(oneway_type)=(-1)]
    461462{
    462463    temp: eval(cond(has_tag_key("bus:lanes"),tag("bus:lanes"),
     
    490491way|z17-[is_prop_set(ok)]["psv:lanes:forward"],
    491492way|z17-[is_prop_set(ok)]["psv:forward"],
    492 way|z17-[is_prop_set(ok)]["psv:lanes"][oneway?],
    493 way|z17-[is_prop_set(ok)]["psv"][oneway?]
     493way|z17-[is_prop_set(ok)]["psv:lanes"][prop(oneway_type)=1],
     494way|z17-[is_prop_set(ok)]["psv"][prop(oneway_type)=1]
    494495{
    495496    temp: eval(cond(has_tag_key("psv:lanes"),tag("psv:lanes"),
     
    530531way|z17-[is_prop_set(ok)]["psv:lanes:backward"],
    531532way|z17-[is_prop_set(ok)]["psv:backward"],
    532 way|z17-[is_prop_set(ok)]["psv:lanes"][oneway=-1],
    533 way|z17-[is_prop_set(ok)]["psv"][oneway=-1]
     533way|z17-[is_prop_set(ok)]["psv:lanes"][prop(oneway_type)=(-1)],
     534way|z17-[is_prop_set(ok)]["psv"][prop(oneway_type)=(-1)]
    534535{
    535536    temp: eval(cond(has_tag_key("psv:lanes"),tag("psv:lanes"),
     
    563564way|z17-[is_prop_set(ok)]["bicycle:lanes:forward"],
    564565way|z17-[is_prop_set(ok)]["bicycle:forward"],
    565 way|z17-[is_prop_set(ok)]["bicycle:lanes"][oneway?],
    566 way|z17-[is_prop_set(ok)]["bicycle"][oneway?]
     566way|z17-[is_prop_set(ok)]["bicycle:lanes"][prop(oneway_type)=1],
     567way|z17-[is_prop_set(ok)]["bicycle"][prop(oneway_type)=1]
    567568{
    568569    temp: eval(cond(has_tag_key("bicycle:lanes"),tag("bicycle:lanes"),
     
    601602way|z17-[is_prop_set(ok)]["bicycle:lanes:backward"],
    602603way|z17-[is_prop_set(ok)]["bicycle:backward"],
    603 way|z17-[is_prop_set(ok)]["bicycle:lanes"][oneway=-1],
    604 way|z17-[is_prop_set(ok)]["bicycle"][oneway=-1]
     604way|z17-[is_prop_set(ok)]["bicycle:lanes"][prop(oneway_type)=(-1)],
     605way|z17-[is_prop_set(ok)]["bicycle"][prop(oneway_type)=(-1)]
    605606{
    606607    temp: eval(cond(has_tag_key("bicycle:lanes"),tag("bicycle:lanes"),
     
    658659/***************************************************************************************************************************************************/
    659660way|z17-["width:lanes:forward"],
    660 way|z17-["width:lanes"][oneway?]
     661way|z17-["width:lanes"][prop(oneway_type)=1]
    661662{
    662663    temp: eval(cond(has_tag_key("width:lanes:forward"),tag("width:lanes:forward"),tag("width:lanes")));
     
    668669}
    669670way|z17-["width:lanes:backward"],
    670 way|z17-["width:lanes"][oneway=-1]
     671way|z17-["width:lanes"][prop(oneway_type)=(-1)]
    671672{
    672673    temp: eval(cond(has_tag_key("width:lanes:backward"),tag("width:lanes:backward"),tag("width:lanes")));
     
    700701way[is_prop_set(ok)][prop(oneway_type)=0][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"]
    701702        { lanes_all: 2; lanes_fwd: 1; lanes_bwd: 1; lanes_both: 0; }
    702 way[is_prop_set(ok)][oneway?][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"]
     703way[is_prop_set(ok)][prop(oneway_type)=1][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"]
    703704        { lanes_all: 1; lanes_fwd: 1; lanes_bwd: 0; lanes_both: 0; }
    704 way[is_prop_set(ok)][oneway=-1][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"]
     705way[is_prop_set(ok)][prop(oneway_type)=(-1)][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"]
    705706        { lanes_all: 1; lanes_fwd: 0; lanes_bwd: 1; lanes_both: 0; }
    706707
    707708/* One-ways */
    708 way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][oneway?]
     709way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=1]
    709710        { lanes_fwd: prop(lanes_all); lanes_bwd: 0; lanes_both: 0; }
    710 way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][oneway=-1]
     711way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=(-1)]
    711712        { lanes_bwd: prop(lanes_all); lanes_fwd: 0; lanes_both: 0; }
    712713
    713 way[is_prop_set(ok)][!lanes]["lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][oneway?
     714way[is_prop_set(ok)][!lanes]["lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=1
    714715        { lanes_all: prop(lanes_fwd); lanes_bwd: 0; lanes_both: 0; }
    715 way[is_prop_set(ok)][!lanes][!"lanes:forward"]["lanes:backward"][!"lanes:both_ways"][oneway=-1]
     716way[is_prop_set(ok)][!lanes][!"lanes:forward"]["lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=(-1)]
    716717        { lanes_all: prop(lanes_bwd); lanes_fwd: 0; lanes_both: 0; }
    717718
     
    935936}
    936937way|z17-[is_prop_set(ok)][prop(style_right_hand_traffic)],
    937 way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][oneway?]
     938way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][prop(oneway_type)=1]
    938939{
    939940    change_forward_1_right: eval((prop(lanes_fwd)=1)?prop(change_forbidden):prop(change_forward_1_right)); 
     
    947948}
    948949way|z17-[is_prop_set(ok)][prop(style_right_hand_traffic)],
    949 way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][oneway=-1]
     950way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][prop(oneway_type)=(-1)]
    950951{
    951952    change_backward_1_right: eval((prop(lanes_bwd)=1)?prop(change_forbidden):prop(change_backward_1_right)); 
     
    987988/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
    988989way|z17-[is_prop_set(ok)]["width:lanes:forward"],
    989 way|z17-[is_prop_set(ok)]["width:lanes"][oneway?]
     990way|z17-[is_prop_set(ok)]["width:lanes"][prop(oneway_type)=1]
    990991{
    991992    temp: eval(cond(has_tag_key("width:lanes:forward"),tag("width:lanes:forward"),tag("width:lanes")));
     
    10071008/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
    10081009way|z17-[is_prop_set(ok)]["width:lanes:backward"],
    1009 way|z17-[is_prop_set(ok)]["width:lanes"][oneway=-1]
     1010way|z17-[is_prop_set(ok)]["width:lanes"][prop(oneway_type)=(-1)]
    10101011{
    10111012    temp: eval(cond(has_tag_key("width:lanes:backward"),tag("width:lanes:backward"),tag("width:lanes")));
     
    11871188/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
    11881189way[is_prop_set(ok)]["placement:forward"]["placement:forward"!=transition],
    1189 way[is_prop_set(ok)][oneway?][placement][placement!=transition]
     1190way[is_prop_set(ok)][prop(oneway_type)=1][placement][placement!=transition]
    11901191{
    11911192    placement_value: eval(has_tag_key("placement")?tag("placement"):tag("placement:forward"));
     
    12201221}
    12211222way[is_prop_set(ok)]["placement:backward"]["placement:backward"!=transition],
    1222 way[is_prop_set(ok)][oneway=-1][placement][placement!=transition]
     1223way[is_prop_set(ok)][prop(oneway_type)=(-1)][placement][placement!=transition]
    12231224{
    12241225    placement_value: eval(has_tag_key("placement")?tag("placement"):tag("placement:backward"));
     
    14381439    left-casing-dashes:                                   eval(prop(change_forward_4_left,"default"));
    14391440    turn_matrix_scaling:                             eval(is_prop_set(turn_forward_4,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
    1440 
    14411441    opacity: 0.0; linecap: none;
    14421442    right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
     
    24252425/***************************************************************************************************************************************************/
    24262426way{} /* Why-oh-why do I need this.... */
    2427 way[prop(style_show_disputed)][maxspeed][!"source:maxspeed"]            { data_warning: "source:maxspeed=?"; }
     2427
     2428/* Discouraged alternative values for oneway*/
    24282429way[oneway=true], way[oneway=1]                 { data_error:   "use oneway=yes"; }
     2430
     2431/* Rejected turn lanes proposal */
    24292432way["lanes:turnright"], way["lanes:turnleft"],
    24302433way["lanes:through"], way["lanes:merge"],
     
    24342437way["lanes:through:backward"], way["lanes:merge:backward"]     
    24352438                                                { data_error:   "lanes:<turn> rejected"; }
     2439
     2440/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
     2441/* Disputed checks: disabled by default                                                                                                            */
     2442/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
     2443/* maxspeed should be numerical (yes, this is disputed, I know, that's why this is disabled by default) */
     2444way[prop(style_show_disputed)][maxspeed] { data_error: eval(regexp_test("^[0-9]+$",tag(maxspeed))?prop(data_error):"maxspeed not numerical"); }
     2445way[prop(style_show_disputed)]["maxspeed:forward"] { data_error: eval(regexp_test("^[0-9]+$",tag("maxspeed:forward"))?prop(data_error):"maxspeed:forward not numerical"); }
     2446way[prop(style_show_disputed)]["maxspeed:backward"] { data_error: eval(regexp_test("^[0-9]+$",tag("maxspeed:backward"))?prop(data_error):"maxspeed:backward not numerical"); }
     2447/* A source should be given for maxspeed */
     2448way[prop(style_show_disputed)][maxspeed][!"source:maxspeed"]            { data_warning: "source:maxspeed missing"; }
     2449/* Value of source:maxspeed should be <country code>:<context> */
     2450way[prop(style_show_disputed)]["source:maxspeed"] { data_warning: eval(regexp_test("^[A-Z][A-Z]:.+$",tag("source:maxspeed"))?prop(data_warning):"verify source:maxspeed"); }
     2451
     2452/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
     2453/* Display warnings/errors                                                                                                                         */
     2454/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
    24362455way[is_prop_set(data_warning)][prop(style_show_warnings)=yes]
    24372456{