| 416 | | /* Designated lanes */ |
| 417 | | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ |
| 418 | | /***************************************************************************************************************************************************/ |
| | 419 | /* Lane access (no and designated) */ |
| | 420 | /* The property designated_color_xxx will be overwritten by later rules */ |
| | 421 | /* TODO: both_ways are not implemented */ |
| | 422 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ |
| | 423 | /***************************************************************************************************************************************************/ |
| | 424 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ |
| | 425 | /* Access=no forward lanes */ |
| | 426 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ |
| | 427 | way|z17-[is_prop_set(ok)]["access:lanes:forward"], |
| | 428 | way|z17-[is_prop_set(ok)]["access:forward"], |
| | 429 | way|z17-[is_prop_set(ok)]["access:lanes"][prop(oneway_type)=1], |
| | 430 | way|z17-[is_prop_set(ok)]["access"][prop(oneway_type)=1] |
| | 431 | { |
| | 432 | temp: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"), |
| | 433 | cond(has_tag_key("access"),tag("access"), |
| | 434 | cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"), |
| | 435 | tag("access:forward") |
| | 436 | )))); |
| | 437 | temp_list: eval(split("|",prop(temp))); |
| | 438 | temp_length: eval(length(prop(temp_list))); |
| | 439 | designated_color_forward_1: eval(((prop(temp_length)>0) && ((get(prop(temp_list),0)="no") || (get(prop(temp_list),0)="private")))?prop(style_noaccess_color):prop(designated_color_forward_1)); |
| | 440 | designated_color_forward_2: eval(((prop(temp_length)>0) && ((get(prop(temp_list),1)="no") || (get(prop(temp_list),1)="private")))?prop(style_noaccess_color):prop(designated_color_forward_2)); |
| | 441 | designated_color_forward_3: eval(((prop(temp_length)>0) && ((get(prop(temp_list),2)="no") || (get(prop(temp_list),2)="private")))?prop(style_noaccess_color):prop(designated_color_forward_3)); |
| | 442 | designated_color_forward_4: eval(((prop(temp_length)>0) && ((get(prop(temp_list),3)="no") || (get(prop(temp_list),3)="private")))?prop(style_noaccess_color):prop(designated_color_forward_4)); |
| | 443 | designated_color_forward_5: eval(((prop(temp_length)>0) && ((get(prop(temp_list),4)="no") || (get(prop(temp_list),4)="private")))?prop(style_noaccess_color):prop(designated_color_forward_5)); |
| | 444 | designated_color_forward_6: eval(((prop(temp_length)>0) && ((get(prop(temp_list),5)="no") || (get(prop(temp_list),5)="private")))?prop(style_noaccess_color):prop(designated_color_forward_6)); |
| | 445 | designated_color_forward_7: eval(((prop(temp_length)>0) && ((get(prop(temp_list),6)="no") || (get(prop(temp_list),6)="private")))?prop(style_noaccess_color):prop(designated_color_forward_7)); |
| | 446 | designated_color_forward_8: eval(((prop(temp_length)>0) && ((get(prop(temp_list),7)="no") || (get(prop(temp_list),7)="private")))?prop(style_noaccess_color):prop(designated_color_forward_8)); |
| | 447 | |
| | 448 | /* Lane count based on :lanes values */ |
| | 449 | tag_lanes_all_min: eval(has_tag_key("access:lanes")?min(prop(tag_lanes_all_min),prop(temp_length)):prop(tag_lanes_all_min)); |
| | 450 | tag_lanes_all_max: eval(has_tag_key("access:lanes")?max(prop(tag_lanes_all_max),prop(temp_length)):prop(tag_lanes_all_max)); |
| | 451 | tag_lanes_fwd_min: eval(has_tag_key("access:lanes:forward")?min(prop(tag_lanes_fwd_min),prop(temp_length)):prop(tag_lanes_fwd_min)); |
| | 452 | tag_lanes_fwd_max: eval(has_tag_key("access:lanes:forward")?max(prop(tag_lanes_fwd_max),prop(temp_length)):prop(tag_lanes_fwd_max)); |
| | 453 | } |
| | 454 | |
| | 455 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ |
| | 456 | /* Access=no backward lanes */ |
| | 457 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/ |
| | 458 | way|z17-[is_prop_set(ok)]["access:lanes:backward"], |
| | 459 | way|z17-[is_prop_set(ok)]["access:backward"], |
| | 460 | way|z17-[is_prop_set(ok)]["access:lanes"][prop(oneway_type)=(-1)], |
| | 461 | way|z17-[is_prop_set(ok)]["access"][prop(oneway_type)=(-1)] |
| | 462 | { |
| | 463 | temp: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"), |
| | 464 | cond(has_tag_key("access"),tag("access"), |
| | 465 | cond(has_tag_key("access:lanes:backward"),tag("access:lanes:backward"), |
| | 466 | tag("access:backward") |
| | 467 | )))); |
| | 468 | temp_list: eval(split("|",prop(temp))); |
| | 469 | temp_length: eval(length(prop(temp_list))); |
| | 470 | designated_color_backward_1: eval(((prop(temp_length)>0) && ((get(prop(temp_list),0)="no") || (get(prop(temp_list),0)="private")))?prop(style_noaccess_color):prop(designated_color_backward_1)); |
| | 471 | designated_color_backward_2: eval(((prop(temp_length)>0) && ((get(prop(temp_list),1)="no") || (get(prop(temp_list),1)="private")))?prop(style_noaccess_color):prop(designated_color_backward_2)); |
| | 472 | designated_color_backward_3: eval(((prop(temp_length)>0) && ((get(prop(temp_list),2)="no") || (get(prop(temp_list),2)="private")))?prop(style_noaccess_color):prop(designated_color_backward_3)); |
| | 473 | designated_color_backward_4: eval(((prop(temp_length)>0) && ((get(prop(temp_list),3)="no") || (get(prop(temp_list),3)="private")))?prop(style_noaccess_color):prop(designated_color_backward_4)); |
| | 474 | designated_color_backward_5: eval(((prop(temp_length)>0) && ((get(prop(temp_list),4)="no") || (get(prop(temp_list),4)="private")))?prop(style_noaccess_color):prop(designated_color_backward_5)); |
| | 475 | designated_color_backward_6: eval(((prop(temp_length)>0) && ((get(prop(temp_list),5)="no") || (get(prop(temp_list),5)="private")))?prop(style_noaccess_color):prop(designated_color_backward_6)); |
| | 476 | designated_color_backward_7: eval(((prop(temp_length)>0) && ((get(prop(temp_list),6)="no") || (get(prop(temp_list),6)="private")))?prop(style_noaccess_color):prop(designated_color_backward_7)); |
| | 477 | designated_color_backward_8: eval(((prop(temp_length)>0) && ((get(prop(temp_list),7)="no") || (get(prop(temp_list),7)="private")))?prop(style_noaccess_color):prop(designated_color_backward_8)); |
| | 478 | |
| | 479 | /* Lane count based on :lanes values */ |
| | 480 | tag_lanes_all_min: eval(has_tag_key("access:lanes")?min(prop(tag_lanes_all_min),prop(temp_length)):prop(tag_lanes_all_min)); |
| | 481 | tag_lanes_all_max: eval(has_tag_key("access:lanes")?max(prop(tag_lanes_all_max),prop(temp_length)):prop(tag_lanes_all_max)); |
| | 482 | tag_lanes_bwd_min: eval(has_tag_key("access:lanes:backward")?min(prop(tag_lanes_bwd_min),prop(temp_length)):prop(tag_lanes_bwd_min)); |
| | 483 | tag_lanes_bwd_max: eval(has_tag_key("access:lanes:backward")?max(prop(tag_lanes_bwd_max),prop(temp_length)):prop(tag_lanes_bwd_max)); |
| | 484 | } |
| | 485 | |