Changes between Version 12 and Version 13 of Styles/Lane_and_Road_Attributes
- Timestamp:
- 2013-02-20T11:08:56+01:00 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Styles/Lane_and_Road_Attributes
v12 v13 44 44 description: "Visualization of lanes, width, turn lanes, changing the lane, destination, lighting and street lamps, sidewalk, cycletracks, bicycle lanes, bus lanes, psv lanes."; 45 45 author: "Martin Vonwald"; 46 version: "0.99-beta 8-[[revision]]_[[date]]";46 version: "0.99-beta9-[[revision]]_[[date]]"; 47 47 license: "CC-BY-SA"; 48 48 min-josm-version: "5714"; … … 101 101 /* One-ways */ 102 102 /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ 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; } 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; } 106 way[is_prop_set(ok)][junction=roundabout][!oneway] { oneway_type: 1; } 106 107 107 108 /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ … … 203 204 way|z17-[is_prop_set(ok)]["change:lanes:forward"], 204 205 way|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?]206 way|z17-[is_prop_set(ok)]["change:lanes"][prop(oneway_type)=1], 207 way|z17-[is_prop_set(ok)]["change"][prop(oneway_type)=1] 207 208 { 208 209 temp: eval(cond(has_tag_key("change:lanes"),tag("change:lanes"),cond(has_tag_key("change"),tag("change"), … … 240 241 way|z17-[is_prop_set(ok)]["change:lanes:backward"], 241 242 way|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]243 way|z17-[is_prop_set(ok)]["change:lanes"][prop(oneway_type)=(-1)], 244 way|z17-[is_prop_set(ok)]["change"][prop(oneway_type)=(-1)] 244 245 { 245 246 temp: eval(cond(has_tag_key("change:lanes"),tag("change:lanes"),cond(has_tag_key("change"),tag("change"), … … 324 325 way|z17-[is_prop_set(ok)]["turn:lanes:forward"], 325 326 way|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?]327 way|z17-[is_prop_set(ok)]["turn:lanes"][prop(oneway_type)=1], 328 way|z17-[is_prop_set(ok)]["turn"][prop(oneway_type)=1] 328 329 { 329 330 temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"), … … 371 372 way|z17-[is_prop_set(ok)]["turn:lanes:backward"], 372 373 way|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]374 way|z17-[is_prop_set(ok)]["turn:lanes"][prop(oneway_type)=(-1)], 375 way|z17-[is_prop_set(ok)]["turn"][prop(oneway_type)=(-1)] 375 376 { 376 377 temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"), … … 419 420 way|z17-[is_prop_set(ok)]["bus:lanes:forward"], 420 421 way|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?]422 way|z17-[is_prop_set(ok)]["bus:lanes"][prop(oneway_type)=1], 423 way|z17-[is_prop_set(ok)]["bus"][prop(oneway_type)=1] 423 424 { 424 425 temp: eval(cond(has_tag_key("bus:lanes"),tag("bus:lanes"), … … 457 458 way|z17-[is_prop_set(ok)]["bus:lanes:backward"], 458 459 way|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]460 way|z17-[is_prop_set(ok)]["bus:lanes"][prop(oneway_type)=(-1)], 461 way|z17-[is_prop_set(ok)]["bus"][prop(oneway_type)=(-1)] 461 462 { 462 463 temp: eval(cond(has_tag_key("bus:lanes"),tag("bus:lanes"), … … 490 491 way|z17-[is_prop_set(ok)]["psv:lanes:forward"], 491 492 way|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?]493 way|z17-[is_prop_set(ok)]["psv:lanes"][prop(oneway_type)=1], 494 way|z17-[is_prop_set(ok)]["psv"][prop(oneway_type)=1] 494 495 { 495 496 temp: eval(cond(has_tag_key("psv:lanes"),tag("psv:lanes"), … … 530 531 way|z17-[is_prop_set(ok)]["psv:lanes:backward"], 531 532 way|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]533 way|z17-[is_prop_set(ok)]["psv:lanes"][prop(oneway_type)=(-1)], 534 way|z17-[is_prop_set(ok)]["psv"][prop(oneway_type)=(-1)] 534 535 { 535 536 temp: eval(cond(has_tag_key("psv:lanes"),tag("psv:lanes"), … … 563 564 way|z17-[is_prop_set(ok)]["bicycle:lanes:forward"], 564 565 way|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?]566 way|z17-[is_prop_set(ok)]["bicycle:lanes"][prop(oneway_type)=1], 567 way|z17-[is_prop_set(ok)]["bicycle"][prop(oneway_type)=1] 567 568 { 568 569 temp: eval(cond(has_tag_key("bicycle:lanes"),tag("bicycle:lanes"), … … 601 602 way|z17-[is_prop_set(ok)]["bicycle:lanes:backward"], 602 603 way|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]604 way|z17-[is_prop_set(ok)]["bicycle:lanes"][prop(oneway_type)=(-1)], 605 way|z17-[is_prop_set(ok)]["bicycle"][prop(oneway_type)=(-1)] 605 606 { 606 607 temp: eval(cond(has_tag_key("bicycle:lanes"),tag("bicycle:lanes"), … … 658 659 /***************************************************************************************************************************************************/ 659 660 way|z17-["width:lanes:forward"], 660 way|z17-["width:lanes"][ oneway?]661 way|z17-["width:lanes"][prop(oneway_type)=1] 661 662 { 662 663 temp: eval(cond(has_tag_key("width:lanes:forward"),tag("width:lanes:forward"),tag("width:lanes"))); … … 668 669 } 669 670 way|z17-["width:lanes:backward"], 670 way|z17-["width:lanes"][ oneway=-1]671 way|z17-["width:lanes"][prop(oneway_type)=(-1)] 671 672 { 672 673 temp: eval(cond(has_tag_key("width:lanes:backward"),tag("width:lanes:backward"),tag("width:lanes"))); … … 700 701 way[is_prop_set(ok)][prop(oneway_type)=0][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"] 701 702 { 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"]703 way[is_prop_set(ok)][prop(oneway_type)=1][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"] 703 704 { 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"]705 way[is_prop_set(ok)][prop(oneway_type)=(-1)][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"] 705 706 { lanes_all: 1; lanes_fwd: 0; lanes_bwd: 1; lanes_both: 0; } 706 707 707 708 /* One-ways */ 708 way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][ oneway?]709 way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=1] 709 710 { 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]711 way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=(-1)] 711 712 { lanes_bwd: prop(lanes_all); lanes_fwd: 0; lanes_both: 0; } 712 713 713 way[is_prop_set(ok)][!lanes]["lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][ oneway?]714 way[is_prop_set(ok)][!lanes]["lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=1] 714 715 { 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]716 way[is_prop_set(ok)][!lanes][!"lanes:forward"]["lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=(-1)] 716 717 { lanes_all: prop(lanes_bwd); lanes_fwd: 0; lanes_both: 0; } 717 718 … … 935 936 } 936 937 way|z17-[is_prop_set(ok)][prop(style_right_hand_traffic)], 937 way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][ oneway?]938 way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][prop(oneway_type)=1] 938 939 { 939 940 change_forward_1_right: eval((prop(lanes_fwd)=1)?prop(change_forbidden):prop(change_forward_1_right)); … … 947 948 } 948 949 way|z17-[is_prop_set(ok)][prop(style_right_hand_traffic)], 949 way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][ oneway=-1]950 way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][prop(oneway_type)=(-1)] 950 951 { 951 952 change_backward_1_right: eval((prop(lanes_bwd)=1)?prop(change_forbidden):prop(change_backward_1_right)); … … 987 988 /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ 988 989 way|z17-[is_prop_set(ok)]["width:lanes:forward"], 989 way|z17-[is_prop_set(ok)]["width:lanes"][ oneway?]990 way|z17-[is_prop_set(ok)]["width:lanes"][prop(oneway_type)=1] 990 991 { 991 992 temp: eval(cond(has_tag_key("width:lanes:forward"),tag("width:lanes:forward"),tag("width:lanes"))); … … 1007 1008 /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ 1008 1009 way|z17-[is_prop_set(ok)]["width:lanes:backward"], 1009 way|z17-[is_prop_set(ok)]["width:lanes"][ oneway=-1]1010 way|z17-[is_prop_set(ok)]["width:lanes"][prop(oneway_type)=(-1)] 1010 1011 { 1011 1012 temp: eval(cond(has_tag_key("width:lanes:backward"),tag("width:lanes:backward"),tag("width:lanes"))); … … 1187 1188 /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ 1188 1189 way[is_prop_set(ok)]["placement:forward"]["placement:forward"!=transition], 1189 way[is_prop_set(ok)][ oneway?][placement][placement!=transition]1190 way[is_prop_set(ok)][prop(oneway_type)=1][placement][placement!=transition] 1190 1191 { 1191 1192 placement_value: eval(has_tag_key("placement")?tag("placement"):tag("placement:forward")); … … 1220 1221 } 1221 1222 way[is_prop_set(ok)]["placement:backward"]["placement:backward"!=transition], 1222 way[is_prop_set(ok)][ oneway=-1][placement][placement!=transition]1223 way[is_prop_set(ok)][prop(oneway_type)=(-1)][placement][placement!=transition] 1223 1224 { 1224 1225 placement_value: eval(has_tag_key("placement")?tag("placement"):tag("placement:backward")); … … 1438 1439 left-casing-dashes: eval(prop(change_forward_4_left,"default")); 1439 1440 turn_matrix_scaling: eval(is_prop_set(turn_forward_4,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0); 1440 1441 1441 opacity: 0.0; linecap: none; 1442 1442 right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default")); … … 2425 2425 /***************************************************************************************************************************************************/ 2426 2426 way{} /* 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*/ 2428 2429 way[oneway=true], way[oneway=1] { data_error: "use oneway=yes"; } 2430 2431 /* Rejected turn lanes proposal */ 2429 2432 way["lanes:turnright"], way["lanes:turnleft"], 2430 2433 way["lanes:through"], way["lanes:merge"], … … 2434 2437 way["lanes:through:backward"], way["lanes:merge:backward"] 2435 2438 { 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) */ 2444 way[prop(style_show_disputed)][maxspeed] { data_error: eval(regexp_test("^[0-9]+$",tag(maxspeed))?prop(data_error):"maxspeed not numerical"); } 2445 way[prop(style_show_disputed)]["maxspeed:forward"] { data_error: eval(regexp_test("^[0-9]+$",tag("maxspeed:forward"))?prop(data_error):"maxspeed:forward not numerical"); } 2446 way[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 */ 2448 way[prop(style_show_disputed)][maxspeed][!"source:maxspeed"] { data_warning: "source:maxspeed missing"; } 2449 /* Value of source:maxspeed should be <country code>:<context> */ 2450 way[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 /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ 2436 2455 way[is_prop_set(data_warning)][prop(style_show_warnings)=yes] 2437 2456 {
