Changes between Version 34 and Version 35 of Styles/Lane_and_Road_Attributes
- Timestamp:
- 2014-01-29T16:33:35+01:00 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Styles/Lane_and_Road_Attributes
v34 v35 30 30 To '''report bugs or provide feedback''' send [[osmwiki:User:Imagic|me a message]]. 31 31 32 === Settings 33 Some settings of the style can be configured using Edit -> Preferences -> Display settings -> Colours. All settings start with mappaint.lane.and.road.attributes. Settings that contain the text "boolean" treat white as yes and any other color as no. Settings that contain the text "opacity" use the lightness to specify the opacity (the values for transparency or alpha are completely ignored!) 34 * The settings '''carriage.way.backward''', '''carriage.way.forward''', '''carriage.way.both_ways''' specify the colour of the respective lanes. 35 * The settings '''sidewalk''', '''cycletrack''' and '''combined.sidewalk.and.cycletrack''' specify the colour of the sidewalk, a cycletrack and a combined sidewalk and cycletrack 36 * If '''boolean.right.hand.traffic''' is set to white, lanes are rendered for right hand traffic, otherwise for left hand traffic. 37 * If '''boolean.use.svg''' is set to white, the markings for turning lanes are rendered more precisely. '''If you run into memory problems, set this to black.''' 38 * The settings '''opacity.lane''', '''opacity.markings''' and '''opacity.sidewalk''' specify the opacity of the lane background, road markings and the sidewalk background. If set to white they are opaque; if set to black they are completely transparent, any grey setting in between is treated an appropriate opacity. 39 32 40 === Known limitations/bugs 33 * Dependent on the setting style_use_svg, turning lanes can be rendered also as SVG with much wider support for different combinations. Currently this leads to very high memory consumption - see [[ticket:8581|ticket 8581]] for details.34 41 * [[ticket:8429|A bug in JOSM]] leads sometimes to rendering artefacts. 35 42 * Left-hand traffic is nearly untested. Please provide feedback. … … 38 45 * If both destination:forward and destination:backward are given they will be written side-by-side but due to a limitation of JOSM it is purely random if destination:forward is rendered above the forward or backward lanes and vice versa. 39 46 * In forward and backward direction a maximum of eight lanes and for lanes in both directions a maximum of four lanes is displayed. 40 * [[ticket:8568|Bug 8568]] might lead to multiple images for access restrictions.41 47 42 48 === Acknowledgments … … 53 59 {{{ 54 60 #!style type="mapcss" 61 55 62 56 63 … … 60 67 link: "http://josm.openstreetmap.de/wiki/Styles/Lane_and_Road_Attributes"; 61 68 author: "Martin Vonwald"; 62 version: "2. 0-[[revision]]_[[date]]";69 version: "2.1-[[revision]]_[[date]]"; 63 70 license: "CC-BY-SA"; 64 min-josm-version: " 5812";71 min-josm-version: "6766"; 65 72 } 66 73 … … 80 87 { 81 88 /* Settings: change if necessary */ 82 style_right_hand_traffic: yes; 83 style_lane_opacity: 0.5; 84 style_ground_opacity: 0.5; 85 style_markings_opacity: 0.8; 86 style_show_warnings: yes; 87 style_show_errors: yes; 88 style_show_disputed: no; 89 style_use_svg: no; 89 style_right_hand_traffic: yes; /* Will be overriden by ugly hack below */ 90 style_lane_opacity: 0.5; /* Will be overriden by ugly hack below */ 91 style_sidewalk_opacity: 0.5; /* Will be overriden by ugly hack below */ 92 style_markings_opacity: 0.8; /* Will be overriden by ugly hack below */ 93 style_show_warnings: yes; /* Will be overriden by ugly hack below */ 94 style_show_errors: yes; /* Will be overriden by ugly hack below */ 95 style_show_disputed: no; /* Will be overriden by ugly hack below */ 96 style_use_svg: yes; /* Will be overriden by ugly hack below */ 97 98 /* Ugly hack to make opacity configurable */ 99 ugly_lane_opacity: Opacity_lane#808080; 100 style_lane_opacity: eval((red(prop(ugly_lane_opacity))+green(prop(ugly_lane_opacity))+blue(prop(ugly_lane_opacity)))/3); 101 ugly_sidewalk_opacity: Opacity_sidewalk#808080; 102 style_sidewalk_opacity: eval((red(prop(ugly_sidewalk_opacity))+green(prop(ugly_sidewalk_opacity))+blue(prop(ugly_sidewalk_opacity)))/3); 103 ugly_markings_opacity: Opacity_markings#CCCCCC; 104 style_markings_opacity: eval((red(prop(ugly_markings_opacity))+green(prop(ugly_markings_opacity))+blue(prop(ugly_markings_opacity)))/3); 105 106 /* Ugly hack to make boolean configurable */ 107 ugly_right_hand_traffic: Boolean_right_hand_traffic#FFFFFF; 108 style_right_hand_traffic: eval(red(prop(ugly_right_hand_traffic)))=1; 109 ugly_show_warnings: Boolean_show_warnings#FFFFFF; 110 style_show_warnings: eval(red(prop(ugly_show_warnings)))=1; 111 ugly_show_errors: Boolean_show_errors#FFFFFF; 112 style_show_errors: eval(red(prop(ugly_show_errors)))=1; 113 ugly_show_disputed: Boolean_show_disputed#000000; 114 style_show_disputed: eval(red(prop(ugly_show_disputed)))=1; 115 ugly_use_svg: Boolean_use_svg#FFFFFF; 116 style_use_svg: eval(red(prop(ugly_use_svg)))=1; 90 117 91 118 /* Color of the sidewalk: none (ignored), sidewalk only, cycletrack only, sidewalk and cycletrack */ 92 style_sidewalk_color: eval(list(#000000,#808080, #8080C0,#C08080));119 style_sidewalk_color: eval(list(#000000,Sidewalk#808080,Cycletrack#8080C0,Combined_sidewalk_and_cycletrack#C08080)); 93 120 94 121 /* Color of the dashes if lane is access=no */ 95 style_noaccess_color: red;122 style_noaccess_color: No_access#FF0000; 96 123 } 97 124 … … 148 175 { 149 176 /* Base color of the carriage way */ 150 ground-color: #404040; 177 /* TODO: obsolete - remove in future release: ground-color: #404040; */ 151 178 152 179 /* Individual colors for each direction */ 153 color_forward: eval(rgb(red(prop(ground-color)) ,green(prop(ground-color))+0.1,blue(prop(ground-color)) ));154 color_backward: eval(rgb(red(prop(ground-color))+0.1,green(prop(ground-color)) ,blue(prop(ground-color)) ));155 color_bothways: eval(rgb(red(prop(ground-color)) ,green(prop(ground-color)) ,blue(prop(ground-color))+0.1));180 color_forward: Carriage_way_forward#405A40; 181 color_backward: Carriage_way_backward#5A4040; 182 color_bothways: Carriage_way_bothways#40405A; 156 183 } 157 184 … … 210 237 color_bothways_4: prop(color_bothways); 211 238 212 sign_forward_1: ""; sign_backward_1: "";213 sign_forward_2: ""; sign_backward_2: "";214 sign_forward_3: ""; sign_backward_3: "";215 sign_forward_4: ""; sign_backward_4: "";216 sign_forward_5: ""; sign_backward_5: "";217 sign_forward_6: ""; sign_backward_6: "";218 sign_forward_7: ""; sign_backward_7: "";219 sign_forward_8: ""; sign_backward_8: "";239 sign_forward_1: ""; sign_backward_1: ""; 240 sign_forward_2: ""; sign_backward_2: ""; 241 sign_forward_3: ""; sign_backward_3: ""; 242 sign_forward_4: ""; sign_backward_4: ""; 243 sign_forward_5: ""; sign_backward_5: ""; 244 sign_forward_6: ""; sign_backward_6: ""; 245 sign_forward_7: ""; sign_backward_7: ""; 246 sign_forward_8: ""; sign_backward_8: ""; 220 247 221 248 tag_lanes_all_min: 9999; tag_lanes_all_max: 0; … … 280 307 { 281 308 temp: eval(cond(has_tag_key("change:lanes"),tag("change:lanes"),cond(has_tag_key("change"),tag("change"), 282 cond(has_tag_key("change:lanes:forward"),tag("change:lanes:forward"),tag("change:forward")))));309 cond(has_tag_key("change:lanes:forward"),tag("change:lanes:forward"),tag("change:forward"))))); 283 310 temp_list: eval(split("|",prop(temp))); 284 311 temp_length: eval(length(prop(temp_list))); … … 316 343 { 317 344 temp: eval(cond(has_tag_key("change:lanes"),tag("change:lanes"),cond(has_tag_key("change"),tag("change"), 318 cond(has_tag_key("change:lanes:backward"),tag("change:lanes:backward"),tag("change:backward")))));345 cond(has_tag_key("change:lanes:backward"),tag("change:lanes:backward"),tag("change:backward"))))); 319 346 temp_list: eval(split("|",prop(temp))); 320 347 temp_length: eval(length(prop(temp_list))); … … 392 419 { 393 420 temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"), 394 cond(has_tag_key("turn"),tag("turn"),395 cond(has_tag_key("turn:lanes:forward"),tag("turn:lanes:forward"),396 tag("turn:forward")421 cond(has_tag_key("turn"),tag("turn"), 422 cond(has_tag_key("turn:lanes:forward"),tag("turn:lanes:forward"), 423 tag("turn:forward") 397 424 )))); 398 425 temp_list: eval(split("|",prop(temp))); … … 401 428 t: eval(get(prop(temp_list),0)); 402 429 turn_image_forward_1: eval( 403 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):404 (405 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"):406 (407 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):408 concat("images/turn forward ",prop(t),".png")409 )410 )411 );430 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 431 ( 432 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"): 433 ( 434 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 435 concat("images/turn forward ",prop(t),".png") 436 ) 437 ) 438 ); 412 439 t: eval(get(prop(temp_list),1)); 413 440 turn_image_forward_2: eval( 414 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):415 (416 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"):417 (418 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):419 concat("images/turn forward ",prop(t),".png")420 )421 )422 );441 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 442 ( 443 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"): 444 ( 445 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 446 concat("images/turn forward ",prop(t),".png") 447 ) 448 ) 449 ); 423 450 t: eval(get(prop(temp_list),2)); 424 451 turn_image_forward_3: eval( 425 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):426 (427 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"):428 (429 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):430 concat("images/turn forward ",prop(t),".png")431 )432 )433 );452 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 453 ( 454 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"): 455 ( 456 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 457 concat("images/turn forward ",prop(t),".png") 458 ) 459 ) 460 ); 434 461 t: eval(get(prop(temp_list),3)); 435 462 turn_image_forward_4: eval( 436 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):437 (438 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"):439 (440 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):441 concat("images/turn forward ",prop(t),".png")442 )443 )444 );463 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 464 ( 465 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"): 466 ( 467 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 468 concat("images/turn forward ",prop(t),".png") 469 ) 470 ) 471 ); 445 472 t: eval(get(prop(temp_list),4)); 446 473 turn_image_forward_5: eval( 447 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):448 (449 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"):450 (451 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):452 concat("images/turn forward ",prop(t),".png")453 )454 )455 );474 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 475 ( 476 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"): 477 ( 478 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 479 concat("images/turn forward ",prop(t),".png") 480 ) 481 ) 482 ); 456 483 t: eval(get(prop(temp_list),5)); 457 484 turn_image_forward_6: eval( 458 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):459 (460 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"):461 (462 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):463 concat("images/turn forward ",prop(t),".png")464 )465 )466 );485 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 486 ( 487 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"): 488 ( 489 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 490 concat("images/turn forward ",prop(t),".png") 491 ) 492 ) 493 ); 467 494 t: eval(get(prop(temp_list),6)); 468 495 turn_image_forward_7: eval( 469 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):470 (471 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"):472 (473 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):474 concat("images/turn forward ",prop(t),".png")475 )476 )477 );496 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 497 ( 498 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"): 499 ( 500 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 501 concat("images/turn forward ",prop(t),".png") 502 ) 503 ) 504 ); 478 505 t: eval(get(prop(temp_list),7)); 479 506 turn_image_forward_8: eval( 480 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):481 (482 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"):483 (484 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):485 concat("images/turn forward ",prop(t),".png")486 )487 )488 );507 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 508 ( 509 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn forward reverse righthand.png":"images/turn forward reverse lefthand.png"): 510 ( 511 regexp_test(".*;.*",prop(t))?concat("images/turn forward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 512 concat("images/turn forward ",prop(t),".png") 513 ) 514 ) 515 ); 489 516 490 517 /* Lane count based on :lanes values */ … … 505 532 { 506 533 temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"), 507 cond(has_tag_key("turn"),tag("turn"),508 cond(has_tag_key("turn:lanes:backward"),tag("turn:lanes:backward"),509 tag("turn:backward")534 cond(has_tag_key("turn"),tag("turn"), 535 cond(has_tag_key("turn:lanes:backward"),tag("turn:lanes:backward"), 536 tag("turn:backward") 510 537 )))); 511 538 temp_list: eval(split("|",prop(temp))); … … 514 541 t: eval(get(prop(temp_list),0)); 515 542 turn_image_backward_1: eval( 516 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):517 (518 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"):519 (520 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):521 concat("images/turn backward ",prop(t),".png")522 )523 )524 );543 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 544 ( 545 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"): 546 ( 547 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 548 concat("images/turn backward ",prop(t),".png") 549 ) 550 ) 551 ); 525 552 t: eval(get(prop(temp_list),1)); 526 553 turn_image_backward_2: eval( 527 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):528 (529 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"):530 (531 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):532 concat("images/turn backward ",prop(t),".png")533 )534 )535 );554 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 555 ( 556 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"): 557 ( 558 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 559 concat("images/turn backward ",prop(t),".png") 560 ) 561 ) 562 ); 536 563 t: eval(get(prop(temp_list),2)); 537 564 turn_image_backward_3: eval( 538 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):539 (540 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"):541 (542 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):543 concat("images/turn backward ",prop(t),".png")544 )545 )546 );565 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 566 ( 567 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"): 568 ( 569 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 570 concat("images/turn backward ",prop(t),".png") 571 ) 572 ) 573 ); 547 574 t: eval(get(prop(temp_list),3)); 548 575 turn_image_backward_4: eval( 549 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):550 (551 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"):552 (553 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):554 concat("images/turn backward ",prop(t),".png")555 )556 )557 );576 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 577 ( 578 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"): 579 ( 580 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 581 concat("images/turn backward ",prop(t),".png") 582 ) 583 ) 584 ); 558 585 t: eval(get(prop(temp_list),4)); 559 586 turn_image_backward_5: eval( 560 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):561 (562 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"):563 (564 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):565 concat("images/turn backward ",prop(t),".png")566 )567 )568 );587 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 588 ( 589 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"): 590 ( 591 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 592 concat("images/turn backward ",prop(t),".png") 593 ) 594 ) 595 ); 569 596 t: eval(get(prop(temp_list),5)); 570 597 turn_image_backward_6: eval( 571 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):572 (573 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"):574 (575 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):576 concat("images/turn backward ",prop(t),".png")577 )578 )579 );598 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 599 ( 600 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"): 601 ( 602 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 603 concat("images/turn backward ",prop(t),".png") 604 ) 605 ) 606 ); 580 607 t: eval(get(prop(temp_list),6)); 581 608 turn_image_backward_7: eval( 582 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):583 (584 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"):585 (586 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):587 concat("images/turn backward ",prop(t),".png")588 )589 )590 );609 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 610 ( 611 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"): 612 ( 613 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 614 concat("images/turn backward ",prop(t),".png") 615 ) 616 ) 617 ); 591 618 t: eval(get(prop(temp_list),7)); 592 619 turn_image_backward_8: eval( 593 ((prop(t)="none") || (prop(t)=""))?prop(unset_property):594 (595 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"):596 (597 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"):598 concat("images/turn backward ",prop(t),".png")599 )600 )601 );620 ((prop(t)="none") || (prop(t)=""))?prop(unset_property): 621 ( 622 (prop(t)="reverse")?(prop(style_right_hand_traffic,"default")?"images/turn backward reverse righthand.png":"images/turn backward reverse lefthand.png"): 623 ( 624 regexp_test(".*;.*",prop(t))?concat("images/turn backward ",regexp_test(".*left.*",prop(t))?"left":"",regexp_test(".*through.*",prop(t))?"through":"",regexp_test(".*right.*",prop(t))?"right":"",".png"): 625 concat("images/turn backward ",prop(t),".png") 626 ) 627 ) 628 ); 602 629 603 630 /* Lane count based on :lanes values */ … … 611 638 way|z17-[is_prop_set(ok)][prop(style_use_svg)] 612 639 { 613 turn_svg_through_forward: eval("<path fill='#FFF' d='m0,17.5,0,15,67.5-5,0,7.5,32.5-10-32.5-10,0,7.5z'/>");614 turn_svg_slight_right_forward: eval("<path fill='#FFF' d='m0,17.5,0,15,67.5-5c11.462-1.0193,18.459,10.285,20.46,13.902l-7.96,4.2,17.5,4.3683,2.5-15-7.753,4.1421c-2.247-4.5-6.12-15.4-24.747-16.6z'/>");615 turn_svg_right_forward: eval("<path fill='#FFF' d='m0,17.5,0,15,67.5-5c6.31-0.505,17.5,5,17.5,10h-10l12.5,12.5,12.5-12.5h-10c0-5-8.43-13.3-22.5-15z'/>");616 turn_svg_sharp_right_forward: eval("<path fill='#FFF' d='m0,17.5,0,15l62.497-4.7c7.5026,0.7633,2.5026,7.1294,0.0026,11.156l-7.5-4.0271,2.5,15,17.5-4.3125-7.878-4.2954c4.3284-6.3921,6.7048-17.943-4.6246-19.263z'/>");617 turn_svg_slight_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_slight_right_forward),"</g>"));618 turn_svg_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_right_forward),"</g>"));619 turn_svg_sharp_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_sharp_right_forward),"</g>"));620 turn_svg_reverse_right_hand_forward: eval("<path fill='#FFF' d='m0,40,0-15,62.497,4.6294c12.503,0.4,15.003-10,0.003-12.1v5.4671l-16.238-7.9671,16.238-7.5v5c15-2.1079,22.5,22.5-0.003,22.871z'/>");621 turn_svg_reverse_left_hand_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_reverse_right_hand_forward),"</g>"));622 turn_svg_merge_to_right_forward: eval("<path fill='#FFF' d='m0,17.5,0,15,50.034-3.7063c7.4655-0.5212,13.016,2.3222,19.541,4.8112l-2.922,6.3951,33.347,5-25-22.5-3.2955,6.6794c-8.1542-5.6073-14.204-7.5071-21.734-7.9779z'/>");623 turn_svg_merge_to_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_merge_to_right_forward),"</g>"));624 turn_svg_hook_right_forward: eval("<path fill='#FFF' d='m0,22.5,0,15,37.474-2.7759c11.051-1.2406,20.026-5.8731,20.026-15.873,0-5,5-3.8509,13.359-3.8509,9.1412,0,14.141-1.3338,14.141,5v17.5h-10l12.5,12.5,12.5-12.5h-10v-17.5c0-11.271-2.5-12.5-19.23-12.5-15.77,0-20.77,1.351-20.77,11.351,0,5-6.8784,6.8562-12.531,6.4246z'/>");625 turn_svg_hook_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_hook_right_forward),"</g>"));640 turn_svg_through_forward: eval("<path fill='#FFF' d='m0,17.5,0,15,67.5-5,0,7.5,32.5-10-32.5-10,0,7.5z'/>"); 641 turn_svg_slight_right_forward: eval("<path fill='#FFF' d='m0,17.5,0,15,67.5-5c11.462-1.0193,18.459,10.285,20.46,13.902l-7.96,4.2,17.5,4.3683,2.5-15-7.753,4.1421c-2.247-4.5-6.12-15.4-24.747-16.6z'/>"); 642 turn_svg_right_forward: eval("<path fill='#FFF' d='m0,17.5,0,15,67.5-5c6.31-0.505,17.5,5,17.5,10h-10l12.5,12.5,12.5-12.5h-10c0-5-8.43-13.3-22.5-15z'/>"); 643 turn_svg_sharp_right_forward: eval("<path fill='#FFF' d='m0,17.5,0,15l62.497-4.7c7.5026,0.7633,2.5026,7.1294,0.0026,11.156l-7.5-4.0271,2.5,15,17.5-4.3125-7.878-4.2954c4.3284-6.3921,6.7048-17.943-4.6246-19.263z'/>"); 644 turn_svg_slight_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_slight_right_forward),"</g>")); 645 turn_svg_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_right_forward),"</g>")); 646 turn_svg_sharp_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_sharp_right_forward),"</g>")); 647 turn_svg_reverse_right_hand_forward: eval("<path fill='#FFF' d='m0,40,0-15,62.497,4.6294c12.503,0.4,15.003-10,0.003-12.1v5.4671l-16.238-7.9671,16.238-7.5v5c15-2.1079,22.5,22.5-0.003,22.871z'/>"); 648 turn_svg_reverse_left_hand_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_reverse_right_hand_forward),"</g>")); 649 turn_svg_merge_to_right_forward: eval("<path fill='#FFF' d='m0,17.5,0,15,50.034-3.7063c7.4655-0.5212,13.016,2.3222,19.541,4.8112l-2.922,6.3951,33.347,5-25-22.5-3.2955,6.6794c-8.1542-5.6073-14.204-7.5071-21.734-7.9779z'/>"); 650 turn_svg_merge_to_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_merge_to_right_forward),"</g>")); 651 turn_svg_hook_right_forward: eval("<path fill='#FFF' d='m0,22.5,0,15,37.474-2.7759c11.051-1.2406,20.026-5.8731,20.026-15.873,0-5,5-3.8509,13.359-3.8509,9.1412,0,14.141-1.3338,14.141,5v17.5h-10l12.5,12.5,12.5-12.5h-10v-17.5c0-11.271-2.5-12.5-19.23-12.5-15.77,0-20.77,1.351-20.77,11.351,0,5-6.8784,6.8562-12.531,6.4246z'/>"); 652 turn_svg_hook_left_forward: eval(concat("<g transform='translate(0,50) scale(1.0,-1.0)'>",prop(turn_svg_hook_right_forward),"</g>")); 626 653 } 627 654 … … 636 663 { 637 664 temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"), 638 cond(has_tag_key("turn"),tag("turn"),639 cond(has_tag_key("turn:lanes:forward"),tag("turn:lanes:forward"),640 tag("turn:forward")665 cond(has_tag_key("turn"),tag("turn"), 666 cond(has_tag_key("turn:lanes:forward"),tag("turn:lanes:forward"), 667 tag("turn:forward") 641 668 )))); 642 669 temp_list: eval(split("|",prop(temp))); … … 796 823 { 797 824 temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"), 798 cond(has_tag_key("turn"),tag("turn"),799 cond(has_tag_key("turn:lanes:backward"),tag("turn:lanes:backward"),800 tag("turn:backward")825 cond(has_tag_key("turn"),tag("turn"), 826 cond(has_tag_key("turn:lanes:backward"),tag("turn:lanes:backward"), 827 tag("turn:backward") 801 828 )))); 802 829 temp_list: eval(split("|",prop(temp))); … … 960 987 { 961 988 temp: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"), 962 cond(has_tag_key("access"),tag("access"),963 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"),964 tag("access:forward")989 cond(has_tag_key("access"),tag("access"), 990 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"), 991 tag("access:forward") 965 992 )))); 966 993 temp_list: eval(split("|",prop(temp))); … … 991 1018 { 992 1019 temp: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"), 993 cond(has_tag_key("access"),tag("access"),994 cond(has_tag_key("access:lanes:backward"),tag("access:lanes:backward"),995 tag("access:backward")1020 cond(has_tag_key("access"),tag("access"), 1021 cond(has_tag_key("access:lanes:backward"),tag("access:lanes:backward"), 1022 tag("access:backward") 996 1023 )))); 997 1024 temp_list: eval(split("|",prop(temp))); … … 1028 1055 { 1029 1056 temp: eval(cond(has_tag_key("bus:lanes"),tag("bus:lanes"), 1030 cond(has_tag_key("bus"),tag("bus"),1031 cond(has_tag_key("bus:lanes:forward"),tag("bus:lanes:forward"),1032 tag("bus:forward")1057 cond(has_tag_key("bus"),tag("bus"), 1058 cond(has_tag_key("bus:lanes:forward"),tag("bus:lanes:forward"), 1059 tag("bus:forward") 1033 1060 )))); 1034 1061 temp_list: eval(split("|",prop(temp))); 1035 1062 temp_length: eval(length(prop(temp_list))); 1036 1063 tempa: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"), 1037 cond(has_tag_key("access"),tag("access"),1038 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"),1039 tag("access:forward")1064 cond(has_tag_key("access"),tag("access"), 1065 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"), 1066 tag("access:forward") 1040 1067 )))); 1041 1068 tempa_list: eval(split("|",prop(tempa))); … … 1067 1094 { 1068 1095 temp: eval(cond(has_tag_key("bus:lanes"),tag("bus:lanes"), 1069 cond(has_tag_key("bus"),tag("bus"),1070 cond(has_tag_key("bus:lanes:backward"),tag("bus:lanes:backward"),1071 tag("bus:backward")1096 cond(has_tag_key("bus"),tag("bus"), 1097 cond(has_tag_key("bus:lanes:backward"),tag("bus:lanes:backward"), 1098 tag("bus:backward") 1072 1099 )))); 1073 1100 temp_list: eval(split("|",prop(temp))); … … 1101 1128 { 1102 1129 temp: eval(cond(has_tag_key("taxi:lanes"),tag("taxi:lanes"), 1103 cond(has_tag_key("taxi"),tag("taxi"),1104 cond(has_tag_key("taxi:lanes:forward"),tag("taxi:lanes:forward"),1105 tag("taxi:forward")1130 cond(has_tag_key("taxi"),tag("taxi"), 1131 cond(has_tag_key("taxi:lanes:forward"),tag("taxi:lanes:forward"), 1132 tag("taxi:forward") 1106 1133 )))); 1107 1134 temp_list: eval(split("|",prop(temp))); 1108 1135 temp_length: eval(length(prop(temp_list))); 1109 1136 tempa: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"), 1110 cond(has_tag_key("access"),tag("access"),1111 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"),1112 tag("access:forward")1137 cond(has_tag_key("access"),tag("access"), 1138 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"), 1139 tag("access:forward") 1113 1140 )))); 1114 1141 tempa_list: eval(split("|",prop(tempa))); … … 1140 1167 { 1141 1168 temp: eval(cond(has_tag_key("taxi:lanes"),tag("taxi:lanes"), 1142 cond(has_tag_key("taxi"),tag("taxi"),1143 cond(has_tag_key("taxi:lanes:backward"),tag("taxi:lanes:backward"),1144 tag("taxi:backward")1169 cond(has_tag_key("taxi"),tag("taxi"), 1170 cond(has_tag_key("taxi:lanes:backward"),tag("taxi:lanes:backward"), 1171 tag("taxi:backward") 1145 1172 )))); 1146 1173 temp_list: eval(split("|",prop(temp))); … … 1174 1201 { 1175 1202 temp: eval(cond(has_tag_key("psv:lanes"),tag("psv:lanes"), 1176 cond(has_tag_key("psv"),tag("psv"),1177 cond(has_tag_key("psv:lanes:forward"),tag("psv:lanes:forward"),1178 tag("psv:forward")1203 cond(has_tag_key("psv"),tag("psv"), 1204 cond(has_tag_key("psv:lanes:forward"),tag("psv:lanes:forward"), 1205 tag("psv:forward") 1179 1206 )))); 1180 1207 temp_list: eval(split("|",prop(temp))); 1181 1208 temp_length: eval(length(prop(temp_list))); 1182 1209 tempa: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"), 1183 cond(has_tag_key("access"),tag("access"),1184 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"),1185 tag("access:forward")1210 cond(has_tag_key("access"),tag("access"), 1211 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"), 1212 tag("access:forward") 1186 1213 )))); 1187 1214 tempa_list: eval(split("|",prop(tempa))); … … 1213 1240 { 1214 1241 temp: eval(cond(has_tag_key("psv:lanes"),tag("psv:lanes"), 1215 cond(has_tag_key("psv"),tag("psv"),1216 cond(has_tag_key("psv:lanes:backward"),tag("psv:lanes:backward"),1217 tag("psv:backward")1242 cond(has_tag_key("psv"),tag("psv"), 1243 cond(has_tag_key("psv:lanes:backward"),tag("psv:lanes:backward"), 1244 tag("psv:backward") 1218 1245 )))); 1219 1246 temp_list: eval(split("|",prop(temp))); … … 1247 1274 { 1248 1275 temp: eval(cond(has_tag_key("bicycle:lanes"),tag("bicycle:lanes"), 1249 cond(has_tag_key("bicycle"),tag("bicycle"),1250 cond(has_tag_key("bicycle:lanes:forward"),tag("bicycle:lanes:forward"),1251 tag("bicycle:forward")1276 cond(has_tag_key("bicycle"),tag("bicycle"), 1277 cond(has_tag_key("bicycle:lanes:forward"),tag("bicycle:lanes:forward"), 1278 tag("bicycle:forward") 1252 1279 )))); 1253 1280 temp_list: eval(split("|",prop(temp))); 1254 1281 temp_length: eval(length(prop(temp_list))); 1255 1282 tempa: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"), 1256 cond(has_tag_key("access"),tag("access"),1257 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"),1258 tag("access:forward")1283 cond(has_tag_key("access"),tag("access"), 1284 cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"), 1285 tag("access:forward") 1259 1286 )))); 1260 1287 tempa_list: eval(split("|",prop(tempa))); … … 1286 1313 { 1287 1314 temp: eval(cond(has_tag_key("bicycle:lanes"),tag("bicycle:lanes"), 1288 cond(has_tag_key("bicycle"),tag("bicycle"),1289 cond(has_tag_key("bicycle:lanes:backward"),tag("bicycle:lanes:backward"),1290 tag("bicycle:backward")1315 cond(has_tag_key("bicycle"),tag("bicycle"), 1316 cond(has_tag_key("bicycle:lanes:backward"),tag("bicycle:lanes:backward"), 1317 tag("bicycle:backward") 1291 1318 )))); 1292 1319 temp_list: eval(split("|",prop(temp))); … … 1321 1348 { 1322 1349 temp: eval(cond(has_tag_key("hov:lanes"),tag("hov:lanes"), 1323 cond(has_tag_key("hov:lanes:forward"),tag("hov:lanes:forward"),1324 cond(has_tag_key("hov"),tag("hov"),1325 tag("hov:forward")1350 cond(has_tag_key("hov:lanes:forward"),tag("hov:lanes:forward"), 1351 cond(has_tag_key("hov"),tag("hov"), 1352 tag("hov:forward") 1326 1353 )))); 1327 1354 temp_list: eval(split("|",prop(temp))); … … 1363 1390 { 1364 1391 temp: eval(cond(has_tag_key("hov:lanes"),tag("hov:lanes"), 1365 cond(has_tag_key("hov"),tag("hov"),1366 cond(has_tag_key("hov:lanes:backward"),tag("hov:lanes:backward"),1367 tag("hov:backward")1392 cond(has_tag_key("hov"),tag("hov"), 1393 cond(has_tag_key("hov:lanes:backward"),tag("hov:lanes:backward"), 1394 tag("hov:backward") 1368 1395 )))); 1369 1396 temp_list: eval(split("|",prop(temp))); … … 1437 1464 /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ 1438 1465 /***************************************************************************************************************************************************/ 1439 way[is_prop_set(ok)][lanes] { lanes_all: tag(lanes);}1440 way[is_prop_set(ok)]["lanes:forward"] { lanes_fwd: tag("lanes:forward");}1441 way[is_prop_set(ok)]["lanes:backward"] { lanes_bwd: tag("lanes:backward");}1442 way[is_prop_set(ok)]["lanes:both_ways"] { lanes_both: tag("lanes:both_ways");}1466 way[is_prop_set(ok)][lanes] { lanes_all: tag(lanes);} 1467 way[is_prop_set(ok)]["lanes:forward"] { lanes_fwd: tag("lanes:forward");} 1468 way[is_prop_set(ok)]["lanes:backward"] { lanes_bwd: tag("lanes:backward");} 1469 way[is_prop_set(ok)]["lanes:both_ways"] { lanes_both: tag("lanes:both_ways");} 1443 1470 1444 1471 /* Nothing specified */ 1445 1472 way[is_prop_set(ok)][prop(oneway_type)=0][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"] 1446 { lanes_all: 2; lanes_fwd: 1; lanes_bwd: 1; lanes_both: 0; }1473 { lanes_all: 2; lanes_fwd: 1; lanes_bwd: 1; lanes_both: 0; } 1447 1474 way[is_prop_set(ok)][prop(oneway_type)=1][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"] 1448 { lanes_all: 1; lanes_fwd: 1; lanes_bwd: 0; lanes_both: 0; }1475 { lanes_all: 1; lanes_fwd: 1; lanes_bwd: 0; lanes_both: 0; } 1449 1476 way[is_prop_set(ok)][prop(oneway_type)=(-1)][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"] 1450 { lanes_all: 1; lanes_fwd: 0; lanes_bwd: 1; lanes_both: 0; }1477 { lanes_all: 1; lanes_fwd: 0; lanes_bwd: 1; lanes_both: 0; } 1451 1478 1452 1479 /* One-ways */ 1453 1480 way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=1] 1454 { lanes_fwd: prop(lanes_all); lanes_bwd: 0; lanes_both: 0; }1481 { lanes_fwd: prop(lanes_all); lanes_bwd: 0; lanes_both: 0; } 1455 1482 way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=(-1)] 1456 { lanes_bwd: prop(lanes_all); lanes_fwd: 0; lanes_both: 0; }1483 { lanes_bwd: prop(lanes_all); lanes_fwd: 0; lanes_both: 0; } 1457 1484 1458 1485 way[is_prop_set(ok)][!lanes]["lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=1] 1459 { lanes_all: prop(lanes_fwd); lanes_bwd: 0; lanes_both: 0; }1486 { lanes_all: prop(lanes_fwd); lanes_bwd: 0; lanes_both: 0; } 1460 1487 way[is_prop_set(ok)][!lanes][!"lanes:forward"]["lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=(-1)] 1461 { lanes_all: prop(lanes_bwd); lanes_fwd: 0; lanes_both: 0; }1488 { lanes_all: prop(lanes_bwd); lanes_fwd: 0; lanes_both: 0; } 1462 1489 1463 1490 /* One count besides both_ways is missing */ 1464 1491 way[is_prop_set(ok)][lanes][!"lanes:forward"]["lanes:backward"][!"lanes:both_ways"] 1465 { lanes_fwd: eval((prop(lanes_all))-(prop(lanes_bwd))); lanes_both: 0; }1492 { lanes_fwd: eval((prop(lanes_all))-(prop(lanes_bwd))); lanes_both: 0; } 1466 1493 way[is_prop_set(ok)][lanes]["lanes:forward"][!"lanes:backward"][!"lanes:both_ways"] 1467 1494 { lanes_bwd: eval((prop(lanes_all))-(prop(lanes_fwd))); lanes_both: 0;} 1468 1495 way[is_prop_set(ok)][!lanes]["lanes:forward"]["lanes:backward"][!"lanes:both_ways"] 1469 { lanes_all: eval((prop(lanes_fwd))+(prop(lanes_bwd))); lanes_both: 0; }1496 { lanes_all: eval((prop(lanes_fwd))+(prop(lanes_bwd))); lanes_both: 0; } 1470 1497 1471 1498 /* One count is missing */ 1472 1499 way[is_prop_set(ok)][lanes]["lanes:forward"]["lanes:backward"][!"lanes:both_ways"] 1473 { lanes_both: eval((prop(lanes_all))-((prop(lanes_fwd))+(prop(lanes_bwd)))); }1500 { lanes_both: eval((prop(lanes_all))-((prop(lanes_fwd))+(prop(lanes_bwd)))); } 1474 1501 way[is_prop_set(ok)][lanes]["lanes:forward"][!"lanes:backward"]["lanes:both_ways"] 1475 { lanes_bwd: eval((prop(lanes_all))-((prop(lanes_fwd))+(prop(lanes_both)))); }1502 { lanes_bwd: eval((prop(lanes_all))-((prop(lanes_fwd))+(prop(lanes_both)))); } 1476 1503 way[is_prop_set(ok)][lanes][!"lanes:forward"]["lanes:backward"]["lanes:both_ways"] 1477 { lanes_fwd: eval((prop(lanes_all))-((prop(lanes_bwd))+(prop(lanes_both)))); }1504 { lanes_fwd: eval((prop(lanes_all))-((prop(lanes_bwd))+(prop(lanes_both)))); } 1478 1505 way[is_prop_set(ok)][!lanes]["lanes:forward"]["lanes:backward"]["lanes:both_ways"] 1479 { lanes_all: eval((prop(lanes_fwd))+((prop(lanes_bwd))+(prop(lanes_both)))); }1506 { lanes_all: eval((prop(lanes_fwd))+((prop(lanes_bwd))+(prop(lanes_both)))); } 1480 1507 1481 1508 /* Only the lanes tag is set */ … … 1811 1838 { 1812 1839 lane_width_all_forward: eval( 1813 ((prop(lanes_fwd)>0)?prop(lane_width_forward_1):0)+1814 ((prop(lanes_fwd)>1)?prop(lane_width_forward_2):0)+1815 ((prop(lanes_fwd)>2)?prop(lane_width_forward_3):0)+1816 ((prop(lanes_fwd)>3)?prop(lane_width_forward_4):0)+1817 ((prop(lanes_fwd)>4)?prop(lane_width_forward_5):0)+1818 ((prop(lanes_fwd)>5)?prop(lane_width_forward_6):0)+1819 ((prop(lanes_fwd)>6)?prop(lane_width_forward_7):0)+1820 ((prop(lanes_fwd)>7)?prop(lane_width_forward_8):0)1821 );1840 ((prop(lanes_fwd)>0)?prop(lane_width_forward_1):0)+ 1841 ((prop(lanes_fwd)>1)?prop(lane_width_forward_2):0)+ 1842 ((prop(lanes_fwd)>2)?prop(lane_width_forward_3):0)+ 1843 ((prop(lanes_fwd)>3)?prop(lane_width_forward_4):0)+ 1844 ((prop(lanes_fwd)>4)?prop(lane_width_forward_5):0)+ 1845 ((prop(lanes_fwd)>5)?prop(lane_width_forward_6):0)+ 1846 ((prop(lanes_fwd)>6)?prop(lane_width_forward_7):0)+ 1847 ((prop(lanes_fwd)>7)?prop(lane_width_forward_8):0) 1848 ); 1822 1849 1823 1850 lane_width_all_backward: eval( 1824 ((prop(lanes_bwd)>0)?prop(lane_width_backward_1):0)+1825 ((prop(lanes_bwd)>1)?prop(lane_width_backward_2):0)+1826 ((prop(lanes_bwd)>2)?prop(lane_width_backward_3):0)+1827 ((prop(lanes_bwd)>3)?prop(lane_width_backward_4):0)+1828 ((prop(lanes_bwd)>4)?prop(lane_width_backward_5):0)+1829 ((prop(lanes_bwd)>5)?prop(lane_width_backward_6):0)+1830 ((prop(lanes_bwd)>6)?prop(lane_width_backward_7):0)+1831 ((prop(lanes_bwd)>7)?prop(lane_width_backward_8):0)1832 );1851 ((prop(lanes_bwd)>0)?prop(lane_width_backward_1):0)+ 1852 ((prop(lanes_bwd)>1)?prop(lane_width_backward_2):0)+ 1853 ((prop(lanes_bwd)>2)?prop(lane_width_backward_3):0)+ 1854 ((prop(lanes_bwd)>3)?prop(lane_width_backward_4):0)+ 1855 ((prop(lanes_bwd)>4)?prop(lane_width_backward_5):0)+ 1856 ((prop(lanes_bwd)>5)?prop(lane_width_backward_6):0)+ 1857 ((prop(lanes_bwd)>6)?prop(lane_width_backward_7):0)+ 1858 ((prop(lanes_bwd)>7)?prop(lane_width_backward_8):0) 1859 ); 1833 1860 1834 1861 lane_width_all_bothways: eval( 1835 ((prop(lanes_both)>0)?prop(lane_width_bothways_1):0)+1836 ((prop(lanes_both)>1)?prop(lane_width_bothways_2):0)+1837 ((prop(lanes_both)>2)?prop(lane_width_bothways_3):0)+1838 ((prop(lanes_both)>3)?prop(lane_width_bothways_4):0)1839 );1862 ((prop(lanes_both)>0)?prop(lane_width_bothways_1):0)+ 1863 ((prop(lanes_both)>1)?prop(lane_width_bothways_2):0)+ 1864 ((prop(lanes_both)>2)?prop(lane_width_bothways_3):0)+ 1865 ((prop(lanes_both)>3)?prop(lane_width_bothways_4):0) 1866 ); 1840 1867 1841 1868 lane_width_all: eval((prop(lane_width_all_forward)+prop(lane_width_all_backward))+prop(lane_width_all_bothways)); … … 2163 2190 left-casing-width: eval((prop(templ)>0)?(prop(lane_default_width,"default")/2):0); 2164 2191 left-casing-color: eval(get(prop(style_sidewalk_color,"default"),prop(templ))); 2165 left-casing-opacity: prop(style_ ground_opacity,"default");2192 left-casing-opacity: prop(style_sidewalk_opacity,"default"); 2166 2193 2167 2194 right-casing-linecap: none; 2168 2195 right-casing-width: eval((prop(tempr)>0)?(prop(lane_default_width,"default")/2):0); 2169 2196 right-casing-color: eval(get(prop(style_sidewalk_color,"default"),prop(tempr))); 2170 right-casing-opacity: prop(style_ ground_opacity,"default");2197 right-casing-opacity: prop(style_sidewalk_opacity,"default"); 2171 2198 } 2172 2199 … … 3124 3151 way|z17-[lit?][is_prop_set(width,"Ground")]::Lighting_1 3125 3152 { 3126 width: eval(prop(width,"Ground"));3127 width: eval(prop(width)+(is_prop_set(left-casing-width,"Ground")?prop(left-casing-width,"Ground"):0));3128 width: eval(prop(width)+(is_prop_set(right-casing-width,"Ground")?prop(right-casing-width,"Ground"):0));3129 opacity: 0.1;color: white;linecap: none;3130 major-z-index: eval(prop(major-z-index,"Ground")-0.1);3131 offset: eval(prop(offset,"Ground"));3153 width: eval(prop(width,"Ground")); 3154 width: eval(prop(width)+(is_prop_set(left-casing-width,"Ground")?prop(left-casing-width,"Ground"):0)); 3155 width: eval(prop(width)+(is_prop_set(right-casing-width,"Ground")?prop(right-casing-width,"Ground"):0)); 3156 opacity: 0.1; color: white; linecap: none; 3157 major-z-index: eval(prop(major-z-index,"Ground")-0.1); 3158 offset: eval(prop(offset,"Ground")); 3132 3159 } 3133 3160 way|z17-[lit?][is_prop_set(width,"Ground")]::Lighting_2 3134 3161 { 3135 width: eval(prop(width,"Lighting_1")+(3 * prop(pixel_per_metre,"default")));3136 opacity: 0.1;color: white;linecap: none;3137 major-z-index: eval(prop(major-z-index,"Lighting_1")); offset: eval(prop(offset,"Lighting_1"));3162 width: eval(prop(width,"Lighting_1")+(3 * prop(pixel_per_metre,"default"))); 3163 opacity: 0.1; color: white; linecap: none; 3164 major-z-index: eval(prop(major-z-index,"Lighting_1")); offset: eval(prop(offset,"Lighting_1")); 3138 3165 } 3139 3166 way|z17-[lit?][is_prop_set(width,"Ground")]::Lighting_3 3140 3167 { 3141 width: eval(prop(width,"Lighting_2")+(3 * prop(pixel_per_metre,"default")));3142 opacity: 0.1;color: white;linecap: none;3143 major-z-index: eval(prop(major-z-index,"Lighting_1")); offset: eval(prop(offset,"Lighting_1"));3168 width: eval(prop(width,"Lighting_2")+(3 * prop(pixel_per_metre,"default"))); 3169 opacity: 0.1; color: white; linecap: none; 3170 major-z-index: eval(prop(major-z-index,"Lighting_1")); offset: eval(prop(offset,"Lighting_1")); 3144 3171 } 3145 3172 … … 3183 3210 node|z-15[traffic_sign=~/^(.*;)*maxspeed(;.*)*$/], 3184 3211 node|z-15[traffic_sign=~/^(.*;)*overtaking(;.*)*$/] 3185 { icon-image: prop(unset_property);}3212 { icon-image: prop(unset_property); } 3186 3213 3187 3214 node|z16-[traffic_sign] … … 3224 3251 node|z16-[traffic_sign~=overtaking][overtaking=no] 3225 3252 { 3226 traffic_sign_svg: eval(concat(prop(traffic_sign_svg),"<g transform='translate(0,",prop(traffic_sign_top),")'><g transform='scale(0.137931)'><circle cx='362.5' cy='362.5' r='350' style='fill:white;stroke:black;stroke-width:2.5px' /><circle cx='362.5' cy='362.5' r='290' style='fill:white;stroke:#c00;stroke-width:93.75'/><path d='M 151.8,375.1 C 151.4,338.9 149.4,370.0 171.2,316.4 C 187.0,279.9 171.0,289.7 252.7,288.4 C 325.3,289.9 310.7,279.3 327.4,318.1 C 348.3,367.6 346.7,341.7 346.5,374.0 C 345.7,409.5 358.9,400.4 248.9,401.6 C 139.7,400.1 152.7,409.4 151.9,375.1 z M 174.0,340.1 L 188.9,305.6 C 191.7,299.5 190.8,300.4 197.3,300.4 L 301.8,300.4 C 307.4,300.4 306.6,300.0 308.9,305.4 L 323.8,339.7 L 174.0,340.1 z M 163.3,405.5 L 191.2,405.5 C 191.1,440.6 194.0,438.6 178.8,438.8 C 160.7,438.8 163.5,440.6 163.3,405.6 z M 307.2,405.8 L 335.2,405.8 C 335.0,440.9 337.5,438.5 321.7,438.6 C 305.3,438.4 307.4,441.0 307.2,405.8 z ' style='fill:#c00;fill-rule:evenodd' /><path d='M 377.4,375.1 C 376.9,338.9 375.0,370.0 396.8,316.4 C 412.6,279.9 396.6,289.7 478.2,288.4 C 550.9,289.9 536.2,279.3 552.9,318.1 C 573.8,367.6 572.2,341.7 572.1,374.0 C 571.3,409.5 584.4,400.4 474.4,401.6 C 365.3,400.1 378.2,409.4 377.4,375.1 z M 399.5,340.1 L 414.5,305.6 C 417.2,299.5 416.4,300.4 422.9,300.4 L 527.3,300.4 C 533.0,300.4 532.2,300.0 534.5,305.4 L 549.3,339.7 L 399.5,340.1 z M 388.8,405.6 L 416.8,405.5 C 416.7,440.6 419.6,438.6 404.4,438.8 C 386.2,438.8 389.1,440.6 388.8,405.6 z M 532.7,405.8 L 560.7,405.8 C 560.5,440.9 563.1,438.5 547.2,438.6 C 530.9,438.4 532.9,441.0 532.7,405.8 z ' style='fill:black;fill-rule:evenodd' /></g></g>")); 3253 traffic_sign_svg: eval(concat(prop(traffic_sign_svg),"<g transform='translate(0,",prop(traffic_sign_top),")'><g transform='scale(0.137931)'><circle cx='362.5' cy='362.5' r='350' style='fill:white;stroke:black;stroke-width:2.5px' /><circle cx='362.5' cy='362.5' r='290' style='fill:white;stroke:#c00;stroke-width:93.75'/><path d='M 151.8,375.1 C 151.4,338.9 149.4,370.0 171.2,316.4 C 187.0,279.9 171.0,289.7 252.7,288.4 C 325.3,289.9 310.7,279.3 327.4,318.1 C 348.3,367.6 346.7,341.7 346.5,374.0 C 345.7,409.5 358.9,400.4 248.9,401.6 C 139.7,400.1 152.7,409.4 151.9,375.1 z M 174.0,340.1 L 188.9,305.6 C 191.7,299.5 190.8,300.4 197.3,300.4 L 301.8,300.4 C 307.4,300.4 306.6,300.0 308.9,305.4 L 323.8,339.7 L 174.0,340.1 z M 163.3,405.5 L 191.2,405.5 C 191.1,440.6 194.0,438.6 178.8,438.8 C 160.7,438.8 163.5,440.6 163.3,405.6 z M 307.2,405.8 L 335.2,405.8 C 335.0,440.9 337.5,438.5 321.7,438.6 C 305.3,438.4 307.4,441.0 307.2,405.8 z ' style='fill:#c00;fill-rule:evenodd' />", 3254 "<path d='M 377.4,375.1 C 376.9,338.9 375.0,370.0 396.8,316.4 C 412.6,279.9 396.6,289.7 478.2,288.4 C 550.9,289.9 536.2,279.3 552.9,318.1 C 573.8,367.6 572.2,341.7 572.1,374.0 C 571.3,409.5 584.4,400.4 474.4,401.6 C 365.3,400.1 378.2,409.4 377.4,375.1 z M 399.5,340.1 L 414.5,305.6 C 417.2,299.5 416.4,300.4 422.9,300.4 L 527.3,300.4 C 533.0,300.4 532.2,300.0 534.5,305.4 L 549.3,339.7 L 399.5,340.1 z M 388.8,405.6 L 416.8,405.5 C 416.7,440.6 419.6,438.6 404.4,438.8 C 386.2,438.8 389.1,440.6 388.8,405.6 z M 532.7,405.8 L 560.7,405.8 C 560.5,440.9 563.1,438.5 547.2,438.6 C 530.9,438.4 532.9,441.0 532.7,405.8 z ' style='fill:black;fill-rule:evenodd' /></g></g>")); 3227 3255 traffic_sign_top: eval(prop(traffic_sign_top)+100); 3228 3256 } … … 3232 3260 node|z16-[traffic_sign~=overtaking][overtaking=yes][maxspeed=implicit]["source:maxspeed"=~/.*zone.*/] 3233 3261 { 3234 traffic_sign_svg: eval(concat(prop(traffic_sign_svg),"<g transform='translate(0,",prop(traffic_sign_top),")'><g transform='scale(0.137931)'><circle cx='362.5' cy='362.5' r='350' style='fill:white;stroke:black;stroke-width:2.5px' /><circle cx='362.5' cy='362.5' r='330' style='fill:white;stroke:black;stroke-width:20'/><path d='M 151.8,375.1 C 151.4,338.9 149.4,370.0 171.2,316.4 C 187.0,279.9 171.0,289.7 252.7,288.4 C 325.3,289.9 310.7,279.3 327.4,318.1 C 348.3,367.6 346.7,341.7 346.5,374.0 C 345.7,409.5 358.9,400.4 248.9,401.6 C 139.7,400.1 152.7,409.4 151.9,375.1 z M 174.0,340.1 L 188.9,305.6 C 191.7,299.5 190.8,300.4 197.3,300.4 L 301.8,300.4 C 307.4,300.4 306.6,300.0 308.9,305.4 L 323.8,339.7 L 174.0,340.1 z M 163.3,405.5 L 191.2,405.5 C 191.1,440.6 194.0,438.6 178.8,438.8 C 160.7,438.8 163.5,440.6 163.3,405.6 z M 307.2,405.8 L 335.2,405.8 C 335.0,440.9 337.5,438.5 321.7,438.6 C 305.3,438.4 307.4,441.0 307.2,405.8 z ' style='fill:gray;fill-rule:evenodd' /><path d='M 377.4,375.1 C 376.9,338.9 375.0,370.0 396.8,316.4 C 412.6,279.9 396.6,289.7 478.2,288.4 C 550.9,289.9 536.2,279.3 552.9,318.1 C 573.8,367.6 572.2,341.7 572.1,374.0 C 571.3,409.5 584.4,400.4 474.4,401.6 C 365.3,400.1 378.2,409.4 377.4,375.1 z M 399.5,340.1 L 414.5,305.6 C 417.2,299.5 416.4,300.4 422.9,300.4 L 527.3,300.4 C 533.0,300.4 532.2,300.0 534.5,305.4 L 549.3,339.7 L 399.5,340.1 z M 388.8,405.6 L 416.8,405.5 C 416.7,440.6 419.6,438.6 404.4,438.8 C 386.2,438.8 389.1,440.6 388.8,405.6 z M 532.7,405.8 L 560.7,405.8 C 560.5,440.9 563.1,438.5 547.2,438.6 C 530.9,438.4 532.9,441.0 532.7,405.8 z ' style='fill:gray;fill-rule:evenodd' /></g><line x1='18' y1='82' x2='82' y2='18' stroke='black' stroke-width='15' /></g>")); 3262 traffic_sign_svg: eval(concat(prop(traffic_sign_svg),"<g transform='translate(0,",prop(traffic_sign_top),")'><g transform='scale(0.137931)'><circle cx='362.5' cy='362.5' r='350' style='fill:white;stroke:black;stroke-width:2.5px' /><circle cx='362.5' cy='362.5' r='330' style='fill:white;stroke:black;stroke-width:20'/><path d='M 151.8,375.1 C 151.4,338.9 149.4,370.0 171.2,316.4 C 187.0,279.9 171.0,289.7 252.7,288.4 C 325.3,289.9 310.7,279.3 327.4,318.1 C 348.3,367.6 346.7,341.7 346.5,374.0 C 345.7,409.5 358.9,400.4 248.9,401.6 C 139.7,400.1 152.7,409.4 151.9,375.1 z M 174.0,340.1 L 188.9,305.6 C 191.7,299.5 190.8,300.4 197.3,300.4 L 301.8,300.4 C 307.4,300.4 306.6,300.0 308.9,305.4 L 323.8,339.7 L 174.0,340.1 z M 163.3,405.5 L 191.2,405.5 C 191.1,440.6 194.0,438.6 178.8,438.8 C 160.7,438.8 163.5,440.6 163.3,405.6 z M 307.2,405.8 L 335.2,405.8 C 335.0,440.9 337.5,438.5 321.7,438.6 C 305.3,438.4 307.4,441.0 307.2,405.8 z ' style='fill:gray;fill-rule:evenodd' />", 3263 "<path d='M 377.4,375.1 C 376.9,338.9 375.0,370.0 396.8,316.4 C 412.6,279.9 396.6,289.7 478.2,288.4 C 550.9,289.9 536.2,279.3 552.9,318.1 C 573.8,367.6 572.2,341.7 572.1,374.0 C 571.3,409.5 584.4,400.4 474.4,401.6 C 365.3,400.1 378.2,409.4 377.4,375.1 z M 399.5,340.1 L 414.5,305.6 C 417.2,299.5 416.4,300.4 422.9,300.4 L 527.3,300.4 C 533.0,300.4 532.2,300.0 534.5,305.4 L 549.3,339.7 L 399.5,340.1 z M 388.8,405.6 L 416.8,405.5 C 416.7,440.6 419.6,438.6 404.4,438.8 C 386.2,438.8 389.1,440.6 388.8,405.6 z M 532.7,405.8 L 560.7,405.8 C 560.5,440.9 563.1,438.5 547.2,438.6 C 530.9,438.4 532.9,441.0 532.7,405.8 z ' style='fill:gray;fill-rule:evenodd' /></g><line x1='18' y1='82' x2='82' y2='18' stroke='black' stroke-width='15' /></g>")); 3235 3264 traffic_sign_top: eval(prop(traffic_sign_top)+100); 3236 3265 } … … 3271 3300 3272 3301 /* Discouraged alternative values for oneway */ 3273 way[oneway=true], way[oneway=1] { data_error: "use oneway=yes"; }3302 way[oneway=true], way[oneway=1] { data_error: "use oneway=yes"; } 3274 3303 3275 3304 /* Rejected turn lanes proposal */ … … 3277 3306 way["lanes:through"], way["lanes:merge"], 3278 3307 way["lanes:turnright:forward"], way["lanes:turnleft:forward"], 3279 way["lanes:through:forward"], way["lanes:merge:forward"], 3308 way["lanes:through:forward"], way["lanes:merge:forward"], 3280 3309 way["lanes:turnright:backward"], way["lanes:turnleft:backward"], 3281 way["lanes:through:backward"], way["lanes:merge:backward"] 3282 { data_error: "lanes:<turn> rejected"; }3310 way["lanes:through:backward"], way["lanes:merge:backward"] 3311 { data_error: "lanes:<turn> rejected"; } 3283 3312 3284 3313 /* Common typos in destination tags */ 3285 way["destination:forward:ref"] { data_error: "use destination:ref:forward"; }3286 way["destination:backward:ref"] { data_error: "use destination:ref:backward"; }3287 way["destination:forward:int_ref"] { data_error: "use destination:int_ref:forward"; }3288 way["destination:backward:int_ref"] { data_error: "use destination:int_ref:backward"; }3289 way["destination:forward:sign"] { data_error: "use destination:sign:forward"; }3290 way["destination:backward:sign"] { data_error: "use destination:sign:backward"; }3291 way["destination:forward:country"] { data_error: "use destination:country:forward"; }3292 way["destination:backward:country"] { data_error: "use destination:country:backward"; }3314 way["destination:forward:ref"] { data_error: "use destination:ref:forward"; } 3315 way["destination:backward:ref"] { data_error: "use destination:ref:backward"; } 3316 way["destination:forward:int_ref"] { data_error: "use destination:int_ref:forward"; } 3317 way["destination:backward:int_ref"] { data_error: "use destination:int_ref:backward"; } 3318 way["destination:forward:sign"] { data_error: "use destination:sign:forward"; } 3319 way["destination:backward:sign"] { data_error: "use destination:sign:backward"; } 3320 way["destination:forward:country"] { data_error: "use destination:country:forward"; } 3321 way["destination:backward:country"] { data_error: "use destination:country:backward"; } 3293 3322 3294 3323 /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ … … 3300 3329 way[prop(style_show_disputed)]["maxspeed:backward"] { data_error: eval(regexp_test("^[0-9]+$",tag("maxspeed:backward"))?prop(data_error):"maxspeed:backward not numerical"); } 3301 3330 /* A source should be given for maxspeed */ 3302 way[prop(style_show_disputed)][maxspeed][!"source:maxspeed"] { data_warning: "source:maxspeed missing"; }3331 way[prop(style_show_disputed)][maxspeed][!"source:maxspeed"] { data_warning: "source:maxspeed missing"; } 3303 3332 /* Value of source:maxspeed should be <country code>:<context> */ 3304 3333 way[prop(style_show_disputed)]["source:maxspeed"] { data_warning: eval(regexp_test("^([A-Z][A-Z]:.+|zone|sign)$",tag("source:maxspeed"))?prop(data_warning):"verify source:maxspeed"); }
