| 1 | meta
|
|---|
| 2 | {
|
|---|
| 3 | title: "Lane and road attributes";
|
|---|
| 4 | description: "Visualization of lanes, width, turn lanes, changing the lane, destination, lighting and street lamps, sidewalk, cycletracks, bicycle lanes, bus lanes, psv lanes.";
|
|---|
| 5 | link: "http://josm.openstreetmap.de/wiki/Styles/Lane_and_Road_Attributes";
|
|---|
| 6 | author: "Martin Vonwald";
|
|---|
| 7 | version: "1.0-patched-[[revision]]_[[date]]";
|
|---|
| 8 | license: "CC-BY-SA";
|
|---|
| 9 | min-josm-version: "5714";
|
|---|
| 10 | }
|
|---|
| 11 |
|
|---|
| 12 | meta[lang=de]
|
|---|
| 13 | {
|
|---|
| 14 | title: "Fahrspur- und Straßenattribute";
|
|---|
| 15 | description: "Anzeige von Fahrspuren, Breite, Abbiegespuren, Spurwechsel, Zielangaben, Beleuchtung inkl. Straßenlampen, Gehsteig/Bürgersteig, Radwege, Fahrradspuren, Busspuren, Öffi-Spuren.";
|
|---|
| 16 | }
|
|---|
| 17 |
|
|---|
| 18 |
|
|---|
| 19 | /***************************************************************************************************************************************************/
|
|---|
| 20 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 21 | /* Global settings and initialization */
|
|---|
| 22 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 23 | /***************************************************************************************************************************************************/
|
|---|
| 24 | way
|
|---|
| 25 | {
|
|---|
| 26 | /* Settings: change if necessary */
|
|---|
| 27 | style_right_hand_traffic: yes;
|
|---|
| 28 | style_lane_opacity: 0.5;
|
|---|
| 29 | style_ground_opacity: 0.5;
|
|---|
| 30 | style_markings_opacity: 0.9;
|
|---|
| 31 | style_show_warnings: yes;
|
|---|
| 32 | style_show_errors: yes;
|
|---|
| 33 | style_show_disputed: no;
|
|---|
| 34 |
|
|---|
| 35 | /* Color of the sidewalk: none (ignored), sidewalk only, cycletrack only, sidewalk and cycletrack */
|
|---|
| 36 | style_sidewalk_color: eval(list(#000000,#808080,#8080C0,#C08080));
|
|---|
| 37 |
|
|---|
| 38 | /* Color of the lane if bicycle=designated */
|
|---|
| 39 | style_bicycle_color: #8080C0;
|
|---|
| 40 |
|
|---|
| 41 | /* Color of the dashes if lane is access=no */
|
|---|
| 42 | style_noaccess_color: red;
|
|---|
| 43 |
|
|---|
| 44 | /* Color of the dashes if lane is psv=designated */
|
|---|
| 45 | style_psv_color: lightgreen;
|
|---|
| 46 |
|
|---|
| 47 | /* Color of the dashes if lane is bus=designated */
|
|---|
| 48 | style_bus_color: lightgreen;
|
|---|
| 49 | }
|
|---|
| 50 |
|
|---|
| 51 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 52 | /* Decide which roads should be rendered */
|
|---|
| 53 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 54 | way[lanes][!leisure],
|
|---|
| 55 | way[lanes:forward],
|
|---|
| 56 | way[lanes:backward],
|
|---|
| 57 | way[turn:lanes],way[turn:lanes:forward],way[turn:lanes:backward],way[turn:lanes:both_ways],
|
|---|
| 58 | way[change:lanes],way[change:lanes:forward],way[change:lanes:backward],way[change:lanes:both_ways],
|
|---|
| 59 | way[sidewalk][highway],
|
|---|
| 60 | way[cycleway=track],way[cycleway:left],way[cycleway:right],way[cycleway:both],
|
|---|
| 61 | way[destination],way[destination:forward],way[destination:backward]
|
|---|
| 62 | { ok: yes; }
|
|---|
| 63 |
|
|---|
| 64 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 65 | /* One-ways */
|
|---|
| 66 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 67 | way[is_prop_set(ok)] { oneway_type: 0; }
|
|---|
| 68 | way[is_prop_set(ok)][oneway?] { oneway_type: 1; }
|
|---|
| 69 | way[is_prop_set(ok)][oneway=-1] { oneway_type: -1; }
|
|---|
| 70 | way[is_prop_set(ok)][junction=roundabout][!oneway] { oneway_type: 1; }
|
|---|
| 71 |
|
|---|
| 72 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 73 | /* Overrule left-hand/right-hand traffic */
|
|---|
| 74 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 75 | way[driving_side]
|
|---|
| 76 | {
|
|---|
| 77 | style_right_hand_traffic: eval((tag(driving_side)="left")?no:yes);
|
|---|
| 78 | }
|
|---|
| 79 |
|
|---|
| 80 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 81 | /* Pixel per metre (on average) */
|
|---|
| 82 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 83 | *|z17 { pixel_per_metre: 1.25; }
|
|---|
| 84 | *|z18 { pixel_per_metre: 2.5; }
|
|---|
| 85 | *|z19 { pixel_per_metre: 5; }
|
|---|
| 86 | *|z20 { pixel_per_metre: 10; }
|
|---|
| 87 | *|z21 { pixel_per_metre: 20; }
|
|---|
| 88 | *|z22- { pixel_per_metre: 40; }
|
|---|
| 89 |
|
|---|
| 90 | /***************************************************************************************************************************************************/
|
|---|
| 91 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 92 | /* Colors */
|
|---|
| 93 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 94 | /***************************************************************************************************************************************************/
|
|---|
| 95 | way[is_prop_set(ok)]
|
|---|
| 96 | {
|
|---|
| 97 | /* Base color of the carriage way */
|
|---|
| 98 | ground-color: #404040;
|
|---|
| 99 |
|
|---|
| 100 | /* Individual colors for each direction */
|
|---|
| 101 | color_forward: eval(rgb(red(prop(ground-color)) ,green(prop(ground-color))+0.1,blue(prop(ground-color)) ));
|
|---|
| 102 | color_backward: eval(rgb(red(prop(ground-color))+0.1,green(prop(ground-color)) ,blue(prop(ground-color)) ));
|
|---|
| 103 | color_bothways: eval(rgb(red(prop(ground-color)) ,green(prop(ground-color)) ,blue(prop(ground-color))+0.1));
|
|---|
| 104 | }
|
|---|
| 105 |
|
|---|
| 106 | /***************************************************************************************************************************************************/
|
|---|
| 107 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 108 | /* Lane initializiation */
|
|---|
| 109 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 110 | /***************************************************************************************************************************************************/
|
|---|
| 111 | way|z17- {} /* ATTENTION: For whatever reason this is needed, otherwise the following won't be interpreted correctly */
|
|---|
| 112 | way|z17-[is_prop_set(ok)]
|
|---|
| 113 | {
|
|---|
| 114 | change_forward_1_left: yes; change_forward_1_right: yes;
|
|---|
| 115 | change_forward_2_left: yes; change_forward_2_right: yes;
|
|---|
| 116 | change_forward_3_left: yes; change_forward_3_right: yes;
|
|---|
| 117 | change_forward_4_left: yes; change_forward_4_right: yes;
|
|---|
| 118 | change_forward_5_left: yes; change_forward_5_right: yes;
|
|---|
| 119 | change_forward_6_left: yes; change_forward_6_right: yes;
|
|---|
| 120 | change_forward_7_left: yes; change_forward_7_right: yes;
|
|---|
| 121 | change_forward_8_left: yes; change_forward_8_right: yes;
|
|---|
| 122 |
|
|---|
| 123 | change_backward_1_left: yes; change_backward_1_right: yes;
|
|---|
| 124 | change_backward_2_left: yes; change_backward_2_right: yes;
|
|---|
| 125 | change_backward_3_left: yes; change_backward_3_right: yes;
|
|---|
| 126 | change_backward_4_left: yes; change_backward_4_right: yes;
|
|---|
| 127 | change_backward_5_left: yes; change_backward_5_right: yes;
|
|---|
| 128 | change_backward_6_left: yes; change_backward_6_right: yes;
|
|---|
| 129 | change_backward_7_left: yes; change_backward_7_right: yes;
|
|---|
| 130 | change_backward_8_left: yes; change_backward_8_right: yes;
|
|---|
| 131 |
|
|---|
| 132 | change_bothways_1_left: yes; change_bothways_1_right: yes;
|
|---|
| 133 | change_bothways_2_left: yes; change_bothways_2_right: yes;
|
|---|
| 134 | change_bothways_3_left: yes; change_bothways_3_right: yes;
|
|---|
| 135 | change_bothways_4_left: yes; change_bothways_4_right: yes;
|
|---|
| 136 |
|
|---|
| 137 | color_forward_1: prop(color_forward);
|
|---|
| 138 | color_forward_2: prop(color_forward);
|
|---|
| 139 | color_forward_3: prop(color_forward);
|
|---|
| 140 | color_forward_4: prop(color_forward);
|
|---|
| 141 | color_forward_5: prop(color_forward);
|
|---|
| 142 | color_forward_6: prop(color_forward);
|
|---|
| 143 | color_forward_7: prop(color_forward);
|
|---|
| 144 | color_forward_8: prop(color_forward);
|
|---|
| 145 |
|
|---|
| 146 | color_backward_1: prop(color_backward);
|
|---|
| 147 | color_backward_2: prop(color_backward);
|
|---|
| 148 | color_backward_3: prop(color_backward);
|
|---|
| 149 | color_backward_4: prop(color_backward);
|
|---|
| 150 | color_backward_5: prop(color_backward);
|
|---|
| 151 | color_backward_6: prop(color_backward);
|
|---|
| 152 | color_backward_7: prop(color_backward);
|
|---|
| 153 | color_backward_8: prop(color_backward);
|
|---|
| 154 |
|
|---|
| 155 | color_bothways_1: prop(color_bothways);
|
|---|
| 156 | color_bothways_2: prop(color_bothways);
|
|---|
| 157 | color_bothways_3: prop(color_bothways);
|
|---|
| 158 | color_bothways_4: prop(color_bothways);
|
|---|
| 159 |
|
|---|
| 160 | tag_lanes_all_min: 9999; tag_lanes_all_max: 0;
|
|---|
| 161 | tag_lanes_fwd_min: 9999; tag_lanes_fwd_max: 0;
|
|---|
| 162 | tag_lanes_bwd_min: 9999; tag_lanes_bwd_max: 0;
|
|---|
| 163 | tag_lanes_both_min: 9999; tag_lanes_both_max: 0;
|
|---|
| 164 |
|
|---|
| 165 | }
|
|---|
| 166 |
|
|---|
| 167 | /***************************************************************************************************************************************************/
|
|---|
| 168 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 169 | /* Determine allowed lane changes */
|
|---|
| 170 | /* TODO: change:lanes without oneway, but only with values yes or no */
|
|---|
| 171 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 172 | /***************************************************************************************************************************************************/
|
|---|
| 173 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 174 | /* Error checking */
|
|---|
| 175 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 176 | way["change"]
|
|---|
| 177 | {
|
|---|
| 178 | data_error: eval(regexp_test("^(yes|no|only_left|only_right|not_left|not_right)$",tag("change"))?prop(data_error):"invalid change value");
|
|---|
| 179 | }
|
|---|
| 180 | way["change:forward"]
|
|---|
| 181 | {
|
|---|
| 182 | data_error: eval(regexp_test("^(yes|no|only_left|only_right|not_left|not_right)$",tag("change:forward"))?prop(data_error):"invalid change:forward value");
|
|---|
| 183 | }
|
|---|
| 184 | way["change:backward"]
|
|---|
| 185 | {
|
|---|
| 186 | data_error: eval(regexp_test("^(yes|no|only_left|only_right|not_left|not_right)$",tag("change:backward"))?prop(data_error):"invalid change:backward value");
|
|---|
| 187 | }
|
|---|
| 188 | way["change:both_ways"]
|
|---|
| 189 | {
|
|---|
| 190 | data_error: eval(regexp_test("^(yes|no|only_left|only_right|not_left|not_right)$",tag("change:both_ways"))?prop(data_error):"invalid change:both_ways value");
|
|---|
| 191 | }
|
|---|
| 192 | way["change:lanes"][!(prop(oneway_type)=0)]
|
|---|
| 193 | {
|
|---|
| 194 | data_error: eval(regexp_test("^(yes|no|only_left|only_right|not_left|not_right|\\|)*$",tag("change:lanes"))?prop(data_error):"invalid change:lanes value");
|
|---|
| 195 | }
|
|---|
| 196 | way["change:lanes"][prop(oneway_type)=0]
|
|---|
| 197 | {
|
|---|
| 198 | data_error: eval(regexp_test("^(yes|no|\\|)*$",tag("change:lanes"))?prop(data_error):"invalid change:lanes value");
|
|---|
| 199 | }
|
|---|
| 200 | way["change:lanes:forward"]
|
|---|
| 201 | {
|
|---|
| 202 | data_error: eval(regexp_test("^(yes|no|only_left|only_right|not_left|not_right|\\|)*$",tag("change:lanes:forward"))?prop(data_error):"invalid change:lanes:forward value");
|
|---|
| 203 | }
|
|---|
| 204 | way["change:lanes:backward"]
|
|---|
| 205 | {
|
|---|
| 206 | data_error: eval(regexp_test("^(yes|no|only_left|only_right|not_left|not_right|\\|)*$",tag("change:lanes:backward"))?prop(data_error):"invalid change:lanes:backward value");
|
|---|
| 207 | }
|
|---|
| 208 | way["change:lanes:both_ways"]
|
|---|
| 209 | {
|
|---|
| 210 | data_error: eval(regexp_test("^(yes|no|only_left|only_right|not_left|not_right|\\|)*$",tag("change:lanes:both_ways"))?prop(data_error):"invalid change:lanes:both_ways value");
|
|---|
| 211 | }
|
|---|
| 212 |
|
|---|
| 213 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 214 | /* Forward lanes */
|
|---|
| 215 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 216 | way|z17-[is_prop_set(ok)]["change:lanes:forward"],
|
|---|
| 217 | way|z17-[is_prop_set(ok)]["change:forward"],
|
|---|
| 218 | way|z17-[is_prop_set(ok)]["change:lanes"][prop(oneway_type)=1],
|
|---|
| 219 | way|z17-[is_prop_set(ok)]["change"][prop(oneway_type)=1]
|
|---|
| 220 | {
|
|---|
| 221 | temp: eval(cond(has_tag_key("change:lanes"),tag("change:lanes"),cond(has_tag_key("change"),tag("change"),
|
|---|
| 222 | cond(has_tag_key("change:lanes:forward"),tag("change:lanes:forward"),tag("change:forward")))));
|
|---|
| 223 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 224 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 225 | change_forward_1_left: eval((prop(temp_length)>0) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),0)));
|
|---|
| 226 | change_forward_1_right: eval((prop(temp_length)>0) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),0)));
|
|---|
| 227 | change_forward_2_left: eval((prop(temp_length)>1) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),1)));
|
|---|
| 228 | change_forward_2_right: eval((prop(temp_length)>1) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),1)));
|
|---|
| 229 | change_forward_3_left: eval((prop(temp_length)>2) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),2)));
|
|---|
| 230 | change_forward_3_right: eval((prop(temp_length)>2) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),2)));
|
|---|
| 231 | change_forward_4_left: eval((prop(temp_length)>3) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),3)));
|
|---|
| 232 | change_forward_4_right: eval((prop(temp_length)>3) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),3)));
|
|---|
| 233 | change_forward_5_left: eval((prop(temp_length)>4) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),4)));
|
|---|
| 234 | change_forward_5_right: eval((prop(temp_length)>4) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),4)));
|
|---|
| 235 | change_forward_6_left: eval((prop(temp_length)>5) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),5)));
|
|---|
| 236 | change_forward_6_right: eval((prop(temp_length)>5) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),5)));
|
|---|
| 237 | change_forward_7_left: eval((prop(temp_length)>6) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),6)));
|
|---|
| 238 | change_forward_7_right: eval((prop(temp_length)>6) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),6)));
|
|---|
| 239 | change_forward_8_left: eval((prop(temp_length)>7) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),7)));
|
|---|
| 240 | change_forward_8_right: eval((prop(temp_length)>7) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),7)));
|
|---|
| 241 |
|
|---|
| 242 | /* Lane count based on :lanes values */
|
|---|
| 243 | tag_lanes_all_min: eval(has_tag_key("change:lanes")?min(prop(tag_lanes_all_min),prop(temp_length)):prop(tag_lanes_all_min));
|
|---|
| 244 | tag_lanes_all_max: eval(has_tag_key("change:lanes")?max(prop(tag_lanes_all_max),prop(temp_length)):prop(tag_lanes_all_max));
|
|---|
| 245 | tag_lanes_fwd_min: eval(has_tag_key("change:lanes:forward")?min(prop(tag_lanes_fwd_min),prop(temp_length)):prop(tag_lanes_fwd_min));
|
|---|
| 246 | tag_lanes_fwd_max: eval(has_tag_key("change:lanes:forward")?max(prop(tag_lanes_fwd_max),prop(temp_length)):prop(tag_lanes_fwd_max));
|
|---|
| 247 | }
|
|---|
| 248 |
|
|---|
| 249 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 250 | /* Backward lanes */
|
|---|
| 251 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 252 | way|z17-[is_prop_set(ok)]["change:lanes:backward"],
|
|---|
| 253 | way|z17-[is_prop_set(ok)]["change:backward"],
|
|---|
| 254 | way|z17-[is_prop_set(ok)]["change:lanes"][prop(oneway_type)=(-1)],
|
|---|
| 255 | way|z17-[is_prop_set(ok)]["change"][prop(oneway_type)=(-1)]
|
|---|
| 256 | {
|
|---|
| 257 | temp: eval(cond(has_tag_key("change:lanes"),tag("change:lanes"),cond(has_tag_key("change"),tag("change"),
|
|---|
| 258 | cond(has_tag_key("change:lanes:backward"),tag("change:lanes:backward"),tag("change:backward")))));
|
|---|
| 259 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 260 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 261 | change_lanes_bwd: eval(length(prop(temp_list)));
|
|---|
| 262 | change_backward_1_left: eval((prop(temp_length)>0) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),0)));
|
|---|
| 263 | change_backward_1_right: eval((prop(temp_length)>0) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),0)));
|
|---|
| 264 | change_backward_2_left: eval((prop(temp_length)>1) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),1)));
|
|---|
| 265 | change_backward_2_right: eval((prop(temp_length)>1) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),1)));
|
|---|
| 266 | change_backward_3_left: eval((prop(temp_length)>2) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),2)));
|
|---|
| 267 | change_backward_3_right: eval((prop(temp_length)>2) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),2)));
|
|---|
| 268 | change_backward_4_left: eval((prop(temp_length)>3) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),3)));
|
|---|
| 269 | change_backward_4_right: eval((prop(temp_length)>3) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),3)));
|
|---|
| 270 | change_backward_5_left: eval((prop(temp_length)>4) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),4)));
|
|---|
| 271 | change_backward_5_right: eval((prop(temp_length)>4) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),4)));
|
|---|
| 272 | change_backward_6_left: eval((prop(temp_length)>5) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),5)));
|
|---|
| 273 | change_backward_6_right: eval((prop(temp_length)>5) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),5)));
|
|---|
| 274 | change_backward_7_left: eval((prop(temp_length)>6) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),6)));
|
|---|
| 275 | change_backward_7_right: eval((prop(temp_length)>6) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),6)));
|
|---|
| 276 | change_backward_8_left: eval((prop(temp_length)>7) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),7)));
|
|---|
| 277 | change_backward_8_right: eval((prop(temp_length)>7) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),7)));
|
|---|
| 278 |
|
|---|
| 279 | /* Lane count based on :lanes values */
|
|---|
| 280 | tag_lanes_bwd_min: eval(has_tag_key("change:lanes:backward")?min(prop(tag_lanes_bwd_min),prop(temp_length)):prop(tag_lanes_bwd_min));
|
|---|
| 281 | tag_lanes_bwd_max: eval(has_tag_key("change:lanes:backward")?max(prop(tag_lanes_bwd_max),prop(temp_length)):prop(tag_lanes_bwd_max));
|
|---|
| 282 | }
|
|---|
| 283 |
|
|---|
| 284 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 285 | /* Bothways lanes */
|
|---|
| 286 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 287 | way|z17-[is_prop_set(ok)]["change:lanes:both_ways"],
|
|---|
| 288 | way|z17-[is_prop_set(ok)]["change:both_ways"]
|
|---|
| 289 | {
|
|---|
| 290 | temp: eval(cond(has_tag_key("change:lanes:both_ways"),tag("change:lanes:both_ways"),tag("change:both_ways")));
|
|---|
| 291 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 292 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 293 |
|
|---|
| 294 | change_lanes_bth: eval(length(prop(temp_list)));
|
|---|
| 295 | change_bothways_1_left: eval((prop(temp_length)>0) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),0)));
|
|---|
| 296 | change_bothways_1_right: eval((prop(temp_length)>0) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),0)));
|
|---|
| 297 | change_bothways_2_left: eval((prop(temp_length)>1) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),1)));
|
|---|
| 298 | change_bothways_2_right: eval((prop(temp_length)>1) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),1)));
|
|---|
| 299 | change_bothways_3_left: eval((prop(temp_length)>2) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),2)));
|
|---|
| 300 | change_bothways_3_right: eval((prop(temp_length)>2) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),2)));
|
|---|
| 301 | change_bothways_4_left: eval((prop(temp_length)>3) && regexp_test("^(yes|only_left|not_right)$",get(prop(temp_list),3)));
|
|---|
| 302 | change_bothways_4_right: eval((prop(temp_length)>3) && regexp_test("^(yes|only_right|not_left)$",get(prop(temp_list),3)));
|
|---|
| 303 |
|
|---|
| 304 | /* Lane count based on :lanes values */
|
|---|
| 305 | tag_lanes_both_min: eval(has_tag_key("change:lanes:both_ways")?min(prop(tag_lanes_both_min),prop(temp_length)):prop(tag_lanes_both_min));
|
|---|
| 306 | tag_lanes_both_max: eval(has_tag_key("change:lanes:both_ways")?max(prop(tag_lanes_both_max),prop(temp_length)):prop(tag_lanes_both_max));
|
|---|
| 307 | }
|
|---|
| 308 |
|
|---|
| 309 | /***************************************************************************************************************************************************/
|
|---|
| 310 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 311 | /* Determine turning lanes */
|
|---|
| 312 | /* TODO: rendering of "reverse" is missing */
|
|---|
| 313 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 314 | /***************************************************************************************************************************************************/
|
|---|
| 315 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 316 | /* Forward lanes */
|
|---|
| 317 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 318 | way|z17-[is_prop_set(ok)]
|
|---|
| 319 | {
|
|---|
| 320 | /* Pixel matrix 9x24; numbers are off/on/off/on/off; 0.01 is - more or less - ignored */
|
|---|
| 321 | turn_matrix:
|
|---|
| 322 | list(
|
|---|
| 323 | "",
|
|---|
| 324 | list(list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(15,1,8,0.01,0.01),list(15,2,7,0.01,0.01),list(6,12,6,0.01,0.01),list(15,2,7,0.01,0.01),list(15,1,8,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01)),
|
|---|
| 325 | list(list(11,1,12,0.01,0.01),list(10,3,11,0.01,0.01),list(9,5,10,0.01,0.01),list(11,1,12,0.01,0.01),list(6,6,12,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01)),
|
|---|
| 326 | list(list(11,1,12,0.01,0.01),list(10,3,11,0.01,0.01),list(9,5,1,1,8),list(11,1,3,2,7),list(6,12,6,0.01,0.01),list(15,2,7,0.01,0.01),list(15,1,8,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01)),
|
|---|
| 327 | list(list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(6,6,12,0.01,0.01),list(11,1,12,0.01,0.01),list(9,5,10,0.01,0.01),list(10,3,11,0.01,0.01),list(11,1,12,0.01,0.01)),
|
|---|
| 328 | list(list(24,0.01,0.01,0.01,0.01),list(24,0.01,0.01,0.01,0.01),list(15,1,8,0.01,0.01),list(15,2,7,0.01,0.01),list(6,12,6,0.01,0.01),list(11,1,3,2,7),list(9,5,1,1,8),list(10,3,11,0.01,0.01),list(11,1,12,0.01,0.01)),
|
|---|
| 329 | list(list(11,1,12,0.01,0.01),list(10,3,11,0.01,0.01),list(9,5,10,0.01,0.01),list(11,1,12,0.01,0.01),list(6,6,12,0.01,0.01),list(11,1,12,0.01,0.01),list(9,5,10,0.01,0.01),list(10,3,11,0.01,0.01),list(11,1,12,0.01,0.01)),
|
|---|
| 330 | list(list(11,1,12,0.01,0.01),list(10,3,11,0.01,0.01),list(9,5,1,1,8),list(11,1,3,2,7),list(6,12,6,0.01,0.01),list(11,1,3,2,7),list(9,5,1,1,8),list(10,3,11,0.01,0.01),list(11,1,12,0.01,0.01))
|
|---|
| 331 | );
|
|---|
| 332 | }
|
|---|
| 333 |
|
|---|
| 334 |
|
|---|
| 335 | way|z17-[is_prop_set(ok)]["turn:lanes:forward"],
|
|---|
| 336 | way|z17-[is_prop_set(ok)]["turn:forward"],
|
|---|
| 337 | way|z17-[is_prop_set(ok)]["turn:lanes"][prop(oneway_type)=1],
|
|---|
| 338 | way|z17-[is_prop_set(ok)]["turn"][prop(oneway_type)=1]
|
|---|
| 339 | {
|
|---|
| 340 | temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"),
|
|---|
| 341 | cond(has_tag_key("turn"),tag("turn"),
|
|---|
| 342 | cond(has_tag_key("turn:lanes:forward"),tag("turn:lanes:forward"),
|
|---|
| 343 | tag("turn:forward")
|
|---|
| 344 | ))));
|
|---|
| 345 | data_error: eval(regexp_test("^(none|through|left|slight_left|sharp_left|right|slight_right|sharp_right|merge_to_left|merge_to_right|reverse|;|\\|)*$",prop(temp))?prop(data_error):"invalid forward turn lanes");
|
|---|
| 346 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 347 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 348 |
|
|---|
| 349 | /* Binary coded: through=1, left=2, right=4 => result is index in the turn_matrix list*/
|
|---|
| 350 | turn_forward_1: eval(length((prop(temp_length)>0)?(concat(regexp_test(".*left.*",get(prop(temp_list),0))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),0))?"t":"",regexp_test(".*right.*",get(prop(temp_list),0))?"rrrr":"")):""));
|
|---|
| 351 | turn_forward_2: eval(length((prop(temp_length)>1)?(concat(regexp_test(".*left.*",get(prop(temp_list),1))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),1))?"t":"",regexp_test(".*right.*",get(prop(temp_list),1))?"rrrr":"")):""));
|
|---|
| 352 | turn_forward_3: eval(length((prop(temp_length)>2)?(concat(regexp_test(".*left.*",get(prop(temp_list),2))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),2))?"t":"",regexp_test(".*right.*",get(prop(temp_list),2))?"rrrr":"")):""));
|
|---|
| 353 | turn_forward_4: eval(length((prop(temp_length)>3)?(concat(regexp_test(".*left.*",get(prop(temp_list),3))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),3))?"t":"",regexp_test(".*right.*",get(prop(temp_list),3))?"rrrr":"")):""));
|
|---|
| 354 | turn_forward_5: eval(length((prop(temp_length)>4)?(concat(regexp_test(".*left.*",get(prop(temp_list),4))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),4))?"t":"",regexp_test(".*right.*",get(prop(temp_list),4))?"rrrr":"")):""));
|
|---|
| 355 | turn_forward_6: eval(length((prop(temp_length)>5)?(concat(regexp_test(".*left.*",get(prop(temp_list),5))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),5))?"t":"",regexp_test(".*right.*",get(prop(temp_list),5))?"rrrr":"")):""));
|
|---|
| 356 | turn_forward_7: eval(length((prop(temp_length)>6)?(concat(regexp_test(".*left.*",get(prop(temp_list),6))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),6))?"t":"",regexp_test(".*right.*",get(prop(temp_list),6))?"rrrr":"")):""));
|
|---|
| 357 | turn_forward_8: eval(length((prop(temp_length)>7)?(concat(regexp_test(".*left.*",get(prop(temp_list),7))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),7))?"t":"",regexp_test(".*right.*",get(prop(temp_list),7))?"rrrr":"")):""));
|
|---|
| 358 |
|
|---|
| 359 | /* Get the relevant code from the list or unset the property*/
|
|---|
| 360 | turn_forward_1: eval((prop(turn_forward_1)>0)?get(prop(turn_matrix),prop(turn_forward_1)):prop(unset_property));
|
|---|
| 361 | turn_forward_2: eval((prop(turn_forward_2)>0)?get(prop(turn_matrix),prop(turn_forward_2)):prop(unset_property));
|
|---|
| 362 | turn_forward_3: eval((prop(turn_forward_3)>0)?get(prop(turn_matrix),prop(turn_forward_3)):prop(unset_property));
|
|---|
| 363 | turn_forward_4: eval((prop(turn_forward_4)>0)?get(prop(turn_matrix),prop(turn_forward_4)):prop(unset_property));
|
|---|
| 364 | turn_forward_5: eval((prop(turn_forward_5)>0)?get(prop(turn_matrix),prop(turn_forward_5)):prop(unset_property));
|
|---|
| 365 | turn_forward_6: eval((prop(turn_forward_6)>0)?get(prop(turn_matrix),prop(turn_forward_6)):prop(unset_property));
|
|---|
| 366 | turn_forward_7: eval((prop(turn_forward_7)>0)?get(prop(turn_matrix),prop(turn_forward_7)):prop(unset_property));
|
|---|
| 367 | turn_forward_8: eval((prop(turn_forward_8)>0)?get(prop(turn_matrix),prop(turn_forward_8)):prop(unset_property));
|
|---|
| 368 |
|
|---|
| 369 | /* Lane count based on :lanes values */
|
|---|
| 370 | tag_lanes_all_min: eval(has_tag_key("turn:lanes")?min(prop(tag_lanes_all_min),prop(temp_length)):prop(tag_lanes_all_min));
|
|---|
| 371 | tag_lanes_all_max: eval(has_tag_key("turn:lanes")?max(prop(tag_lanes_all_max),prop(temp_length)):prop(tag_lanes_all_max));
|
|---|
| 372 | tag_lanes_fwd_min: eval(has_tag_key("turn:lanes:forward")?min(prop(tag_lanes_fwd_min),prop(temp_length)):prop(tag_lanes_fwd_min));
|
|---|
| 373 | tag_lanes_fwd_max: eval(has_tag_key("turn:lanes:forward")?max(prop(tag_lanes_fwd_max),prop(temp_length)):prop(tag_lanes_fwd_max));
|
|---|
| 374 | }
|
|---|
| 375 |
|
|---|
| 376 |
|
|---|
| 377 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 378 | /* Backward lanes */
|
|---|
| 379 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 380 | way|z17-[is_prop_set(ok)]["turn:lanes:backward"],
|
|---|
| 381 | way|z17-[is_prop_set(ok)]["turn:backward"],
|
|---|
| 382 | way|z17-[is_prop_set(ok)]["turn:lanes"][prop(oneway_type)=(-1)],
|
|---|
| 383 | way|z17-[is_prop_set(ok)]["turn"][prop(oneway_type)=(-1)]
|
|---|
| 384 | {
|
|---|
| 385 | temp: eval(cond(has_tag_key("turn:lanes"),tag("turn:lanes"),
|
|---|
| 386 | cond(has_tag_key("turn"),tag("turn"),
|
|---|
| 387 | cond(has_tag_key("turn:lanes:backward"),tag("turn:lanes:backward"),
|
|---|
| 388 | tag("turn:backward")
|
|---|
| 389 | ))));
|
|---|
| 390 | data_error: eval(regexp_test("^(none|through|left|slight_left|sharp_left|right|slight_right|sharp_right|merge_to_left|merge_to_right|reverse|;|\\|)*$",prop(temp))?prop(data_error):"invalid backward turn lanes");
|
|---|
| 391 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 392 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 393 |
|
|---|
| 394 | /* Binary coded: through=1, left=2, right=4 => result is index in the turn_matrix list */
|
|---|
| 395 | turn_backward_1: eval(length((prop(temp_length)>0)?(concat(regexp_test(".*left.*",get(prop(temp_list),0))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),0))?"t":"",regexp_test(".*right.*",get(prop(temp_list),0))?"rrrr":"")):""));
|
|---|
| 396 | turn_backward_2: eval(length((prop(temp_length)>1)?(concat(regexp_test(".*left.*",get(prop(temp_list),1))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),1))?"t":"",regexp_test(".*right.*",get(prop(temp_list),1))?"rrrr":"")):""));
|
|---|
| 397 | turn_backward_3: eval(length((prop(temp_length)>2)?(concat(regexp_test(".*left.*",get(prop(temp_list),2))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),2))?"t":"",regexp_test(".*right.*",get(prop(temp_list),2))?"rrrr":"")):""));
|
|---|
| 398 | turn_backward_4: eval(length((prop(temp_length)>3)?(concat(regexp_test(".*left.*",get(prop(temp_list),3))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),3))?"t":"",regexp_test(".*right.*",get(prop(temp_list),3))?"rrrr":"")):""));
|
|---|
| 399 | turn_backward_5: eval(length((prop(temp_length)>4)?(concat(regexp_test(".*left.*",get(prop(temp_list),4))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),4))?"t":"",regexp_test(".*right.*",get(prop(temp_list),4))?"rrrr":"")):""));
|
|---|
| 400 | turn_backward_6: eval(length((prop(temp_length)>5)?(concat(regexp_test(".*left.*",get(prop(temp_list),5))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),5))?"t":"",regexp_test(".*right.*",get(prop(temp_list),5))?"rrrr":"")):""));
|
|---|
| 401 | turn_backward_7: eval(length((prop(temp_length)>6)?(concat(regexp_test(".*left.*",get(prop(temp_list),6))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),6))?"t":"",regexp_test(".*right.*",get(prop(temp_list),6))?"rrrr":"")):""));
|
|---|
| 402 | turn_backward_8: eval(length((prop(temp_length)>7)?(concat(regexp_test(".*left.*",get(prop(temp_list),7))?"ll":"",regexp_test(".*through.*",get(prop(temp_list),7))?"t":"",regexp_test(".*right.*",get(prop(temp_list),7))?"rrrr":"")):""));
|
|---|
| 403 |
|
|---|
| 404 | /* Get the relevant code from the list or unset the property */
|
|---|
| 405 | turn_backward_1: eval((prop(turn_backward_1)>0)?get(prop(turn_matrix),prop(turn_backward_1)):prop(unset_property));
|
|---|
| 406 | turn_backward_2: eval((prop(turn_backward_2)>0)?get(prop(turn_matrix),prop(turn_backward_2)):prop(unset_property));
|
|---|
| 407 | turn_backward_3: eval((prop(turn_backward_3)>0)?get(prop(turn_matrix),prop(turn_backward_3)):prop(unset_property));
|
|---|
| 408 | turn_backward_4: eval((prop(turn_backward_4)>0)?get(prop(turn_matrix),prop(turn_backward_4)):prop(unset_property));
|
|---|
| 409 | turn_backward_5: eval((prop(turn_backward_5)>0)?get(prop(turn_matrix),prop(turn_backward_5)):prop(unset_property));
|
|---|
| 410 | turn_backward_6: eval((prop(turn_backward_6)>0)?get(prop(turn_matrix),prop(turn_backward_6)):prop(unset_property));
|
|---|
| 411 | turn_backward_7: eval((prop(turn_backward_7)>0)?get(prop(turn_matrix),prop(turn_backward_7)):prop(unset_property));
|
|---|
| 412 | turn_backward_8: eval((prop(turn_backward_8)>0)?get(prop(turn_matrix),prop(turn_backward_8)):prop(unset_property));
|
|---|
| 413 |
|
|---|
| 414 | /* Lane count based on :lanes values */
|
|---|
| 415 | tag_lanes_bwd_min: eval(has_tag_key("turn:lanes:backward")?min(prop(tag_lanes_bwd_min),prop(temp_length)):prop(tag_lanes_bwd_min));
|
|---|
| 416 | tag_lanes_bwd_max: eval(has_tag_key("turn:lanes:backward")?max(prop(tag_lanes_bwd_max),prop(temp_length)):prop(tag_lanes_bwd_max));
|
|---|
| 417 | }
|
|---|
| 418 |
|
|---|
| 419 | /***************************************************************************************************************************************************/
|
|---|
| 420 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 421 | /* Lane access (no and designated) */
|
|---|
| 422 | /* The property designated_color_xxx will be overwritten by later rules */
|
|---|
| 423 | /* TODO: both_ways is not implemented */
|
|---|
| 424 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 425 | /***************************************************************************************************************************************************/
|
|---|
| 426 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 427 | /* Access=no forward lanes */
|
|---|
| 428 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 429 | way|z17-[is_prop_set(ok)]["access:lanes:forward"],
|
|---|
| 430 | way|z17-[is_prop_set(ok)]["access:forward"],
|
|---|
| 431 | way|z17-[is_prop_set(ok)]["access:lanes"][prop(oneway_type)=1],
|
|---|
| 432 | way|z17-[is_prop_set(ok)]["access"][prop(oneway_type)=1]
|
|---|
| 433 | {
|
|---|
| 434 | temp: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"),
|
|---|
| 435 | cond(has_tag_key("access"),tag("access"),
|
|---|
| 436 | cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"),
|
|---|
| 437 | tag("access:forward")
|
|---|
| 438 | ))));
|
|---|
| 439 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 440 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 441 | 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));
|
|---|
| 442 | 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));
|
|---|
| 443 | 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));
|
|---|
| 444 | 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));
|
|---|
| 445 | 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));
|
|---|
| 446 | 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));
|
|---|
| 447 | 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));
|
|---|
| 448 | 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));
|
|---|
| 449 |
|
|---|
| 450 | /* Lane count based on :lanes values */
|
|---|
| 451 | tag_lanes_all_min: eval(has_tag_key("access:lanes")?min(prop(tag_lanes_all_min),prop(temp_length)):prop(tag_lanes_all_min));
|
|---|
| 452 | tag_lanes_all_max: eval(has_tag_key("access:lanes")?max(prop(tag_lanes_all_max),prop(temp_length)):prop(tag_lanes_all_max));
|
|---|
| 453 | 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));
|
|---|
| 454 | 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));
|
|---|
| 455 | }
|
|---|
| 456 |
|
|---|
| 457 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 458 | /* Access=no backward lanes */
|
|---|
| 459 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 460 | way|z17-[is_prop_set(ok)]["access:lanes:backward"],
|
|---|
| 461 | way|z17-[is_prop_set(ok)]["access:backward"],
|
|---|
| 462 | way|z17-[is_prop_set(ok)]["access:lanes"][prop(oneway_type)=(-1)],
|
|---|
| 463 | way|z17-[is_prop_set(ok)]["access"][prop(oneway_type)=(-1)]
|
|---|
| 464 | {
|
|---|
| 465 | temp: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"),
|
|---|
| 466 | cond(has_tag_key("access"),tag("access"),
|
|---|
| 467 | cond(has_tag_key("access:lanes:backward"),tag("access:lanes:backward"),
|
|---|
| 468 | tag("access:backward")
|
|---|
| 469 | ))));
|
|---|
| 470 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 471 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 472 | 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));
|
|---|
| 473 | 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));
|
|---|
| 474 | 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));
|
|---|
| 475 | 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));
|
|---|
| 476 | 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));
|
|---|
| 477 | 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));
|
|---|
| 478 | 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));
|
|---|
| 479 | 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));
|
|---|
| 480 |
|
|---|
| 481 | /* Lane count based on :lanes values */
|
|---|
| 482 | tag_lanes_all_min: eval(has_tag_key("access:lanes")?min(prop(tag_lanes_all_min),prop(temp_length)):prop(tag_lanes_all_min));
|
|---|
| 483 | tag_lanes_all_max: eval(has_tag_key("access:lanes")?max(prop(tag_lanes_all_max),prop(temp_length)):prop(tag_lanes_all_max));
|
|---|
| 484 | 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));
|
|---|
| 485 | 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));
|
|---|
| 486 | }
|
|---|
| 487 |
|
|---|
| 488 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 489 | /* Bus forward lanes */
|
|---|
| 490 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 491 | way|z17-[is_prop_set(ok)]["bus:lanes:forward"],
|
|---|
| 492 | way|z17-[is_prop_set(ok)]["bus:forward"],
|
|---|
| 493 | way|z17-[is_prop_set(ok)]["bus:lanes"][prop(oneway_type)=1],
|
|---|
| 494 | way|z17-[is_prop_set(ok)]["bus"][prop(oneway_type)=1]
|
|---|
| 495 | {
|
|---|
| 496 | temp: eval(cond(has_tag_key("bus:lanes"),tag("bus:lanes"),
|
|---|
| 497 | cond(has_tag_key("bus"),tag("bus"),
|
|---|
| 498 | cond(has_tag_key("bus:lanes:forward"),tag("bus:lanes:forward"),
|
|---|
| 499 | tag("bus:forward")
|
|---|
| 500 | ))));
|
|---|
| 501 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 502 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 503 | tempa: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"),
|
|---|
| 504 | cond(has_tag_key("access"),tag("access"),
|
|---|
| 505 | cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"),
|
|---|
| 506 | tag("access:forward")
|
|---|
| 507 | ))));
|
|---|
| 508 | tempa_list: eval(split("|",prop(tempa)));
|
|---|
| 509 | tempa_length: eval(length(prop(tempa_list)));
|
|---|
| 510 | designated_color_forward_1: eval(((prop(temp_length)>0) && ((get(prop(temp_list),0)="designated") || ((get(prop(temp_list),0)="yes") && (get(prop(tempa_list),0)="no"))))?prop(style_bus_color):prop(designated_color_forward_1));
|
|---|
| 511 | designated_color_forward_2: eval(((prop(temp_length)>1) && ((get(prop(temp_list),1)="designated") || ((get(prop(temp_list),1)="yes") && (get(prop(tempa_list),1)="no"))))?prop(style_bus_color):prop(designated_color_forward_2));
|
|---|
| 512 | designated_color_forward_3: eval(((prop(temp_length)>2) && ((get(prop(temp_list),2)="designated") || ((get(prop(temp_list),2)="yes") && (get(prop(tempa_list),2)="no"))))?prop(style_bus_color):prop(designated_color_forward_3));
|
|---|
| 513 | designated_color_forward_4: eval(((prop(temp_length)>3) && ((get(prop(temp_list),3)="designated") || ((get(prop(temp_list),3)="yes") && (get(prop(tempa_list),3)="no"))))?prop(style_bus_color):prop(designated_color_forward_4));
|
|---|
| 514 | designated_color_forward_5: eval(((prop(temp_length)>4) && ((get(prop(temp_list),4)="designated") || ((get(prop(temp_list),4)="yes") && (get(prop(tempa_list),4)="no"))))?prop(style_bus_color):prop(designated_color_forward_5));
|
|---|
| 515 | designated_color_forward_6: eval(((prop(temp_length)>5) && ((get(prop(temp_list),5)="designated") || ((get(prop(temp_list),5)="yes") && (get(prop(tempa_list),5)="no"))))?prop(style_bus_color):prop(designated_color_forward_6));
|
|---|
| 516 | designated_color_forward_7: eval(((prop(temp_length)>6) && ((get(prop(temp_list),6)="designated") || ((get(prop(temp_list),6)="yes") && (get(prop(tempa_list),6)="no"))))?prop(style_bus_color):prop(designated_color_forward_7));
|
|---|
| 517 | designated_color_forward_8: eval(((prop(temp_length)>7) && ((get(prop(temp_list),7)="designated") || ((get(prop(temp_list),7)="yes") && (get(prop(tempa_list),7)="no"))))?prop(style_bus_color):prop(designated_color_forward_8));
|
|---|
| 518 |
|
|---|
| 519 | /* Lane count based on :lanes values */
|
|---|
| 520 | tag_lanes_all_min: eval(has_tag_key("bus:lanes")?min(prop(tag_lanes_all_min),prop(temp_length)):prop(tag_lanes_all_min));
|
|---|
| 521 | tag_lanes_all_max: eval(has_tag_key("bus:lanes")?max(prop(tag_lanes_all_max),prop(temp_length)):prop(tag_lanes_all_max));
|
|---|
| 522 | tag_lanes_fwd_min: eval(has_tag_key("bus:lanes:forward")?min(prop(tag_lanes_fwd_min),prop(temp_length)):prop(tag_lanes_fwd_min));
|
|---|
| 523 | tag_lanes_fwd_max: eval(has_tag_key("bus:lanes:forward")?max(prop(tag_lanes_fwd_max),prop(temp_length)):prop(tag_lanes_fwd_max));
|
|---|
| 524 | }
|
|---|
| 525 |
|
|---|
| 526 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 527 | /* Bus backward lanes */
|
|---|
| 528 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 529 | way|z17-[is_prop_set(ok)]["bus:lanes:backward"],
|
|---|
| 530 | way|z17-[is_prop_set(ok)]["bus:backward"],
|
|---|
| 531 | way|z17-[is_prop_set(ok)]["bus:lanes"][prop(oneway_type)=(-1)],
|
|---|
| 532 | way|z17-[is_prop_set(ok)]["bus"][prop(oneway_type)=(-1)]
|
|---|
| 533 | {
|
|---|
| 534 | temp: eval(cond(has_tag_key("bus:lanes"),tag("bus:lanes"),
|
|---|
| 535 | cond(has_tag_key("bus"),tag("bus"),
|
|---|
| 536 | cond(has_tag_key("bus:lanes:backward"),tag("bus:lanes:backward"),
|
|---|
| 537 | tag("bus:backward")
|
|---|
| 538 | ))));
|
|---|
| 539 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 540 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 541 | /* TODO: oneway=-1*/
|
|---|
| 542 | tempa: eval(cond(has_tag_key("access:lanes:backward"),tag("access:lanes:backward"),tag("access:backward")));
|
|---|
| 543 | tempa_list: eval(split("|",prop(tempa)));
|
|---|
| 544 | tempa_length: eval(length(prop(tempa_list)));
|
|---|
| 545 | designated_color_backward_1: eval(((prop(temp_length)>0) && ((get(prop(temp_list),0)="designated") || ((get(prop(temp_list),0)="yes") && (get(prop(tempa_list),0)="no"))))?prop(style_bus_color):prop(designated_color_forward_1));
|
|---|
| 546 | designated_color_backward_2: eval(((prop(temp_length)>1) && ((get(prop(temp_list),1)="designated") || ((get(prop(temp_list),1)="yes") && (get(prop(tempa_list),1)="no"))))?prop(style_bus_color):prop(designated_color_forward_2));
|
|---|
| 547 | designated_color_backward_3: eval(((prop(temp_length)>2) && ((get(prop(temp_list),2)="designated") || ((get(prop(temp_list),2)="yes") && (get(prop(tempa_list),2)="no"))))?prop(style_bus_color):prop(designated_color_forward_3));
|
|---|
| 548 | designated_color_backward_4: eval(((prop(temp_length)>3) && ((get(prop(temp_list),3)="designated") || ((get(prop(temp_list),3)="yes") && (get(prop(tempa_list),3)="no"))))?prop(style_bus_color):prop(designated_color_forward_4));
|
|---|
| 549 | designated_color_backward_5: eval(((prop(temp_length)>4) && ((get(prop(temp_list),4)="designated") || ((get(prop(temp_list),4)="yes") && (get(prop(tempa_list),4)="no"))))?prop(style_bus_color):prop(designated_color_forward_5));
|
|---|
| 550 | designated_color_backward_6: eval(((prop(temp_length)>5) && ((get(prop(temp_list),5)="designated") || ((get(prop(temp_list),5)="yes") && (get(prop(tempa_list),5)="no"))))?prop(style_bus_color):prop(designated_color_forward_6));
|
|---|
| 551 | designated_color_backward_7: eval(((prop(temp_length)>6) && ((get(prop(temp_list),6)="designated") || ((get(prop(temp_list),6)="yes") && (get(prop(tempa_list),6)="no"))))?prop(style_bus_color):prop(designated_color_forward_7));
|
|---|
| 552 | designated_color_backward_8: eval(((prop(temp_length)>7) && ((get(prop(temp_list),7)="designated") || ((get(prop(temp_list),7)="yes") && (get(prop(tempa_list),7)="no"))))?prop(style_bus_color):prop(designated_color_forward_8));
|
|---|
| 553 |
|
|---|
| 554 | /* Lane count based on :lanes values */
|
|---|
| 555 | tag_lanes_bwd_min: eval(has_tag_key("bus:lanes:backward")?min(prop(tag_lanes_bwd_min),prop(temp_length)):prop(tag_lanes_bwd_min));
|
|---|
| 556 | tag_lanes_bwd_max: eval(has_tag_key("bus:lanes:backward")?max(prop(tag_lanes_bwd_max),prop(temp_length)):prop(tag_lanes_bwd_max));
|
|---|
| 557 | }
|
|---|
| 558 |
|
|---|
| 559 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 560 | /* PSV forward lanes */
|
|---|
| 561 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 562 | way|z17-[is_prop_set(ok)]["psv:lanes:forward"],
|
|---|
| 563 | way|z17-[is_prop_set(ok)]["psv:forward"],
|
|---|
| 564 | way|z17-[is_prop_set(ok)]["psv:lanes"][prop(oneway_type)=1],
|
|---|
| 565 | way|z17-[is_prop_set(ok)]["psv"][prop(oneway_type)=1]
|
|---|
| 566 | {
|
|---|
| 567 | temp: eval(cond(has_tag_key("psv:lanes"),tag("psv:lanes"),
|
|---|
| 568 | cond(has_tag_key("psv"),tag("psv"),
|
|---|
| 569 | cond(has_tag_key("psv:lanes:forward"),tag("psv:lanes:forward"),
|
|---|
| 570 | tag("psv:forward")
|
|---|
| 571 | ))));
|
|---|
| 572 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 573 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 574 | tempa: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"),
|
|---|
| 575 | cond(has_tag_key("access"),tag("access"),
|
|---|
| 576 | cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"),
|
|---|
| 577 | tag("access:forward")
|
|---|
| 578 | ))));
|
|---|
| 579 | tempa_list: eval(split("|",prop(tempa)));
|
|---|
| 580 | tempa_length: eval(length(prop(tempa_list)));
|
|---|
| 581 |
|
|---|
| 582 |
|
|---|
| 583 | designated_color_forward_1: eval(((prop(temp_length)>0) && ((get(prop(temp_list),0)="designated") || ((get(prop(temp_list),0)="yes") && (get(prop(tempa_list),0)="no"))))?prop(style_psv_color):prop(designated_color_forward_1));
|
|---|
| 584 | designated_color_forward_2: eval(((prop(temp_length)>1) && ((get(prop(temp_list),1)="designated") || ((get(prop(temp_list),1)="yes") && (get(prop(tempa_list),1)="no"))))?prop(style_psv_color):prop(designated_color_forward_2));
|
|---|
| 585 | designated_color_forward_3: eval(((prop(temp_length)>2) && ((get(prop(temp_list),2)="designated") || ((get(prop(temp_list),2)="yes") && (get(prop(tempa_list),2)="no"))))?prop(style_psv_color):prop(designated_color_forward_3));
|
|---|
| 586 | designated_color_forward_4: eval(((prop(temp_length)>3) && ((get(prop(temp_list),3)="designated") || ((get(prop(temp_list),3)="yes") && (get(prop(tempa_list),3)="no"))))?prop(style_psv_color):prop(designated_color_forward_4));
|
|---|
| 587 | designated_color_forward_5: eval(((prop(temp_length)>4) && ((get(prop(temp_list),4)="designated") || ((get(prop(temp_list),4)="yes") && (get(prop(tempa_list),4)="no"))))?prop(style_psv_color):prop(designated_color_forward_5));
|
|---|
| 588 | designated_color_forward_6: eval(((prop(temp_length)>5) && ((get(prop(temp_list),5)="designated") || ((get(prop(temp_list),5)="yes") && (get(prop(tempa_list),5)="no"))))?prop(style_psv_color):prop(designated_color_forward_6));
|
|---|
| 589 | designated_color_forward_7: eval(((prop(temp_length)>6) && ((get(prop(temp_list),6)="designated") || ((get(prop(temp_list),6)="yes") && (get(prop(tempa_list),6)="no"))))?prop(style_psv_color):prop(designated_color_forward_7));
|
|---|
| 590 | designated_color_forward_8: eval(((prop(temp_length)>7) && ((get(prop(temp_list),7)="designated") || ((get(prop(temp_list),7)="yes") && (get(prop(tempa_list),7)="no"))))?prop(style_psv_color):prop(designated_color_forward_8));
|
|---|
| 591 |
|
|---|
| 592 | /* Lane count based on :lanes values */
|
|---|
| 593 | tag_lanes_all_min: eval(has_tag_key("psv:lanes")?min(prop(tag_lanes_all_min),prop(temp_length)):prop(tag_lanes_all_min));
|
|---|
| 594 | tag_lanes_all_max: eval(has_tag_key("psv:lanes")?max(prop(tag_lanes_all_max),prop(temp_length)):prop(tag_lanes_all_max));
|
|---|
| 595 | tag_lanes_fwd_min: eval(has_tag_key("psv:lanes:forward")?min(prop(tag_lanes_fwd_min),prop(temp_length)):prop(tag_lanes_fwd_min));
|
|---|
| 596 | tag_lanes_fwd_max: eval(has_tag_key("psv:lanes:forward")?max(prop(tag_lanes_fwd_max),prop(temp_length)):prop(tag_lanes_fwd_max));
|
|---|
| 597 | }
|
|---|
| 598 |
|
|---|
| 599 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 600 | /* PSV backward lanes */
|
|---|
| 601 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 602 | way|z17-[is_prop_set(ok)]["psv:lanes:backward"],
|
|---|
| 603 | way|z17-[is_prop_set(ok)]["psv:backward"],
|
|---|
| 604 | way|z17-[is_prop_set(ok)]["psv:lanes"][prop(oneway_type)=(-1)],
|
|---|
| 605 | way|z17-[is_prop_set(ok)]["psv"][prop(oneway_type)=(-1)]
|
|---|
| 606 | {
|
|---|
| 607 | temp: eval(cond(has_tag_key("psv:lanes"),tag("psv:lanes"),
|
|---|
| 608 | cond(has_tag_key("psv"),tag("psv"),
|
|---|
| 609 | cond(has_tag_key("psv:lanes:backward"),tag("psv:lanes:backward"),
|
|---|
| 610 | tag("psv:backward")
|
|---|
| 611 | ))));
|
|---|
| 612 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 613 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 614 | /* TODO: oneway=-1*/
|
|---|
| 615 | tempa: eval(cond(has_tag_key("access:lanes:backward"),tag("access:lanes:backward"),tag("access:backward")));
|
|---|
| 616 | tempa_list: eval(split("|",prop(tempa)));
|
|---|
| 617 | tempa_length: eval(length(prop(tempa_list)));
|
|---|
| 618 | designated_color_backward_1: eval(((prop(temp_length)>0) && ((get(prop(temp_list),0)="designated") || ((get(prop(temp_list),0)="yes") && (get(prop(tempa_list),0)="no"))))?prop(style_psv_color):prop(designated_color_backward_1));
|
|---|
| 619 | designated_color_backward_2: eval(((prop(temp_length)>1) && ((get(prop(temp_list),1)="designated") || ((get(prop(temp_list),1)="yes") && (get(prop(tempa_list),1)="no"))))?prop(style_psv_color):prop(designated_color_backward_2));
|
|---|
| 620 | designated_color_backward_3: eval(((prop(temp_length)>2) && ((get(prop(temp_list),2)="designated") || ((get(prop(temp_list),2)="yes") && (get(prop(tempa_list),2)="no"))))?prop(style_psv_color):prop(designated_color_backward_3));
|
|---|
| 621 | designated_color_backward_4: eval(((prop(temp_length)>3) && ((get(prop(temp_list),3)="designated") || ((get(prop(temp_list),3)="yes") && (get(prop(tempa_list),3)="no"))))?prop(style_psv_color):prop(designated_color_backward_4));
|
|---|
| 622 | designated_color_backward_5: eval(((prop(temp_length)>4) && ((get(prop(temp_list),4)="designated") || ((get(prop(temp_list),4)="yes") && (get(prop(tempa_list),4)="no"))))?prop(style_psv_color):prop(designated_color_backward_5));
|
|---|
| 623 | designated_color_backward_6: eval(((prop(temp_length)>5) && ((get(prop(temp_list),5)="designated") || ((get(prop(temp_list),5)="yes") && (get(prop(tempa_list),5)="no"))))?prop(style_psv_color):prop(designated_color_backward_6));
|
|---|
| 624 | designated_color_backward_7: eval(((prop(temp_length)>6) && ((get(prop(temp_list),6)="designated") || ((get(prop(temp_list),6)="yes") && (get(prop(tempa_list),6)="no"))))?prop(style_psv_color):prop(designated_color_backward_7));
|
|---|
| 625 | designated_color_backward_8: eval(((prop(temp_length)>7) && ((get(prop(temp_list),7)="designated") || ((get(prop(temp_list),7)="yes") && (get(prop(tempa_list),7)="no"))))?prop(style_psv_color):prop(designated_color_backward_8));
|
|---|
| 626 |
|
|---|
| 627 | /* Lane count based on :lanes values */
|
|---|
| 628 | tag_lanes_bwd_min: eval(has_tag_key("psv:lanes:backward")?min(prop(tag_lanes_bwd_min),prop(temp_length)):prop(tag_lanes_bwd_min));
|
|---|
| 629 | tag_lanes_bwd_max: eval(has_tag_key("psv:lanes:backward")?max(prop(tag_lanes_bwd_max),prop(temp_length)):prop(tag_lanes_bwd_max));
|
|---|
| 630 | }
|
|---|
| 631 |
|
|---|
| 632 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 633 | /* Bicycle forward lanes */
|
|---|
| 634 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 635 | way|z17-[is_prop_set(ok)]["bicycle:lanes:forward"],
|
|---|
| 636 | way|z17-[is_prop_set(ok)]["bicycle:forward"],
|
|---|
| 637 | way|z17-[is_prop_set(ok)]["bicycle:lanes"][prop(oneway_type)=1],
|
|---|
| 638 | way|z17-[is_prop_set(ok)]["bicycle"][prop(oneway_type)=1]
|
|---|
| 639 | {
|
|---|
| 640 | temp: eval(cond(has_tag_key("bicycle:lanes"),tag("bicycle:lanes"),
|
|---|
| 641 | cond(has_tag_key("bicycle"),tag("bicycle"),
|
|---|
| 642 | cond(has_tag_key("bicycle:lanes:forward"),tag("bicycle:lanes:forward"),
|
|---|
| 643 | tag("bicycle:forward")
|
|---|
| 644 | ))));
|
|---|
| 645 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 646 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 647 | tempa: eval(cond(has_tag_key("access:lanes"),tag("access:lanes"),
|
|---|
| 648 | cond(has_tag_key("access"),tag("access"),
|
|---|
| 649 | cond(has_tag_key("access:lanes:forward"),tag("access:lanes:forward"),
|
|---|
| 650 | tag("access:forward")
|
|---|
| 651 | ))));
|
|---|
| 652 | tempa_list: eval(split("|",prop(tempa)));
|
|---|
| 653 | tempa_length: eval(length(prop(tempa_list)));
|
|---|
| 654 | color_forward_1: eval(((prop(temp_length)>0) && ((get(prop(temp_list),0)="designated") || ((get(prop(temp_list),0)="yes") && (get(prop(tempa_list),0)="no"))))?prop(style_bicycle_color):prop(color_forward_1));
|
|---|
| 655 | color_forward_2: eval(((prop(temp_length)>1) && ((get(prop(temp_list),1)="designated") || ((get(prop(temp_list),1)="yes") && (get(prop(tempa_list),1)="no"))))?prop(style_bicycle_color):prop(color_forward_2));
|
|---|
| 656 | color_forward_3: eval(((prop(temp_length)>2) && ((get(prop(temp_list),2)="designated") || ((get(prop(temp_list),2)="yes") && (get(prop(tempa_list),2)="no"))))?prop(style_bicycle_color):prop(color_forward_3));
|
|---|
| 657 | color_forward_4: eval(((prop(temp_length)>3) && ((get(prop(temp_list),3)="designated") || ((get(prop(temp_list),3)="yes") && (get(prop(tempa_list),3)="no"))))?prop(style_bicycle_color):prop(color_forward_4));
|
|---|
| 658 | color_forward_5: eval(((prop(temp_length)>4) && ((get(prop(temp_list),4)="designated") || ((get(prop(temp_list),4)="yes") && (get(prop(tempa_list),4)="no"))))?prop(style_bicycle_color):prop(color_forward_5));
|
|---|
| 659 | color_forward_6: eval(((prop(temp_length)>5) && ((get(prop(temp_list),5)="designated") || ((get(prop(temp_list),5)="yes") && (get(prop(tempa_list),5)="no"))))?prop(style_bicycle_color):prop(color_forward_6));
|
|---|
| 660 | color_forward_7: eval(((prop(temp_length)>6) && ((get(prop(temp_list),6)="designated") || ((get(prop(temp_list),6)="yes") && (get(prop(tempa_list),6)="no"))))?prop(style_bicycle_color):prop(color_forward_7));
|
|---|
| 661 | color_forward_8: eval(((prop(temp_length)>7) && ((get(prop(temp_list),7)="designated") || ((get(prop(temp_list),7)="yes") && (get(prop(tempa_list),7)="no"))))?prop(style_bicycle_color):prop(color_forward_8));
|
|---|
| 662 |
|
|---|
| 663 | /* Lane count based on :lanes values */
|
|---|
| 664 | tag_lanes_all_min: eval(has_tag_key("bicycle:lanes")?min(prop(tag_lanes_all_min),prop(temp_length)):prop(tag_lanes_all_min));
|
|---|
| 665 | tag_lanes_all_max: eval(has_tag_key("bicycle:lanes")?max(prop(tag_lanes_all_max),prop(temp_length)):prop(tag_lanes_all_max));
|
|---|
| 666 | tag_lanes_fwd_min: eval(has_tag_key("bicycle:lanes:forward")?min(prop(tag_lanes_fwd_min),prop(temp_length)):prop(tag_lanes_fwd_min));
|
|---|
| 667 | tag_lanes_fwd_max: eval(has_tag_key("bicycle:lanes:forward")?max(prop(tag_lanes_fwd_max),prop(temp_length)):prop(tag_lanes_fwd_max));
|
|---|
| 668 | }
|
|---|
| 669 |
|
|---|
| 670 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 671 | /* Bicycle backward lanes */
|
|---|
| 672 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 673 | way|z17-[is_prop_set(ok)]["bicycle:lanes:backward"],
|
|---|
| 674 | way|z17-[is_prop_set(ok)]["bicycle:backward"],
|
|---|
| 675 | way|z17-[is_prop_set(ok)]["bicycle:lanes"][prop(oneway_type)=(-1)],
|
|---|
| 676 | way|z17-[is_prop_set(ok)]["bicycle"][prop(oneway_type)=(-1)]
|
|---|
| 677 | {
|
|---|
| 678 | temp: eval(cond(has_tag_key("bicycle:lanes"),tag("bicycle:lanes"),
|
|---|
| 679 | cond(has_tag_key("bicycle"),tag("bicycle"),
|
|---|
| 680 | cond(has_tag_key("bicycle:lanes:backward"),tag("bicycle:lanes:backward"),
|
|---|
| 681 | tag("bicycle:backward")
|
|---|
| 682 | ))));
|
|---|
| 683 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 684 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 685 | /* TODO: oneway=-1*/
|
|---|
| 686 | tempa: eval(cond(has_tag_key("access:lanes:backward"),tag("access:lanes:backward"),tag("access:backward")));
|
|---|
| 687 | tempa_list: eval(split("|",prop(tempa)));
|
|---|
| 688 | tempa_length: eval(length(prop(tempa_list)));
|
|---|
| 689 | color_backward_1: eval(((prop(temp_length)>0) && ((get(prop(temp_list),0)="designated") || ((get(prop(temp_list),0)="yes") && (get(prop(tempa_list),0)="no"))))?prop(style_bicycle_color):prop(color_backward_1));
|
|---|
| 690 | color_backward_2: eval(((prop(temp_length)>1) && ((get(prop(temp_list),1)="designated") || ((get(prop(temp_list),1)="yes") && (get(prop(tempa_list),1)="no"))))?prop(style_bicycle_color):prop(color_backward_2));
|
|---|
| 691 | color_backward_3: eval(((prop(temp_length)>2) && ((get(prop(temp_list),2)="designated") || ((get(prop(temp_list),2)="yes") && (get(prop(tempa_list),2)="no"))))?prop(style_bicycle_color):prop(color_backward_3));
|
|---|
| 692 | color_backward_4: eval(((prop(temp_length)>3) && ((get(prop(temp_list),3)="designated") || ((get(prop(temp_list),3)="yes") && (get(prop(tempa_list),3)="no"))))?prop(style_bicycle_color):prop(color_backward_4));
|
|---|
| 693 | color_backward_5: eval(((prop(temp_length)>4) && ((get(prop(temp_list),4)="designated") || ((get(prop(temp_list),4)="yes") && (get(prop(tempa_list),4)="no"))))?prop(style_bicycle_color):prop(color_backward_5));
|
|---|
| 694 | color_backward_6: eval(((prop(temp_length)>5) && ((get(prop(temp_list),5)="designated") || ((get(prop(temp_list),5)="yes") && (get(prop(tempa_list),5)="no"))))?prop(style_bicycle_color):prop(color_backward_6));
|
|---|
| 695 | color_backward_7: eval(((prop(temp_length)>6) && ((get(prop(temp_list),6)="designated") || ((get(prop(temp_list),6)="yes") && (get(prop(tempa_list),6)="no"))))?prop(style_bicycle_color):prop(color_backward_7));
|
|---|
| 696 | color_backward_8: eval(((prop(temp_length)>7) && ((get(prop(temp_list),7)="designated") || ((get(prop(temp_list),7)="yes") && (get(prop(tempa_list),7)="no"))))?prop(style_bicycle_color):prop(color_backward_8));
|
|---|
| 697 |
|
|---|
| 698 | /* Lane count based on :lanes values */
|
|---|
| 699 | tag_lanes_bwd_min: eval(has_tag_key("bicycle:lanes:backward")?min(prop(tag_lanes_bwd_min),prop(temp_length)):prop(tag_lanes_bwd_min));
|
|---|
| 700 | tag_lanes_bwd_max: eval(has_tag_key("bicycle:lanes:backward")?max(prop(tag_lanes_bwd_max),prop(temp_length)):prop(tag_lanes_bwd_max));
|
|---|
| 701 | }
|
|---|
| 702 |
|
|---|
| 703 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 704 | /* Bicycle both_ways lanes */
|
|---|
| 705 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 706 | way|z17-[is_prop_set(ok)]["bicycle:lanes:both_ways"],
|
|---|
| 707 | way|z17-[is_prop_set(ok)]["bicycle:both_ways"]
|
|---|
| 708 | {
|
|---|
| 709 | temp: eval(cond(has_tag_key("bicycle:lanes:both_ways"),tag("bicycle:lanes:both_ways"),tag("bicycle:both_ways")));
|
|---|
| 710 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 711 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 712 | tempa: eval(cond(has_tag_key("access:lanes:both_ways"),tag("access:lanes:both_ways"),tag("access:both_ways")));
|
|---|
| 713 | tempa_list: eval(split("|",prop(tempa)));
|
|---|
| 714 | tempa_length: eval(length(prop(tempa_list)));
|
|---|
| 715 | color_bothways_1: eval(((prop(temp_length)>0) && ((get(prop(temp_list),0)="designated") || ((get(prop(temp_list),0)="yes") && (get(prop(tempa_list),0)="no"))))?prop(style_bicycle_color):prop(color_bothways_1));
|
|---|
| 716 | color_bothways_2: eval(((prop(temp_length)>1) && ((get(prop(temp_list),1)="designated") || ((get(prop(temp_list),1)="yes") && (get(prop(tempa_list),1)="no"))))?prop(style_bicycle_color):prop(color_bothways_2));
|
|---|
| 717 | color_bothways_3: eval(((prop(temp_length)>2) && ((get(prop(temp_list),2)="designated") || ((get(prop(temp_list),2)="yes") && (get(prop(tempa_list),2)="no"))))?prop(style_bicycle_color):prop(color_bothways_3));
|
|---|
| 718 | color_bothways_4: eval(((prop(temp_length)>3) && ((get(prop(temp_list),3)="designated") || ((get(prop(temp_list),3)="yes") && (get(prop(tempa_list),3)="no"))))?prop(style_bicycle_color):prop(color_bothways_4));
|
|---|
| 719 |
|
|---|
| 720 | /* Lane count based on :lanes values */
|
|---|
| 721 | tag_lanes_both_min: eval(has_tag_key("bicycle:lanes:both_ways")?min(prop(tag_lanes_both_min),prop(temp_length)):prop(tag_lanes_both_min));
|
|---|
| 722 | tag_lanes_both_max: eval(has_tag_key("bicycle:lanes:both_ways")?max(prop(tag_lanes_both_max),prop(temp_length)):prop(tag_lanes_both_max));
|
|---|
| 723 | }
|
|---|
| 724 |
|
|---|
| 725 | /***************************************************************************************************************************************************/
|
|---|
| 726 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 727 | /* Check of the number of lane-dependent width */
|
|---|
| 728 | /* The calculation itself depends on the lane count and therefore is done AFTER the determination of the lane count */
|
|---|
| 729 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 730 | /***************************************************************************************************************************************************/
|
|---|
| 731 | way|z17-["width:lanes:forward"],
|
|---|
| 732 | way|z17-["width:lanes"][prop(oneway_type)=1]
|
|---|
| 733 | {
|
|---|
| 734 | temp: eval(cond(has_tag_key("width:lanes:forward"),tag("width:lanes:forward"),tag("width:lanes")));
|
|---|
| 735 | temp_length: eval(length(split("|",prop(temp))));
|
|---|
| 736 |
|
|---|
| 737 | /* Lane count based on :lanes values */
|
|---|
| 738 | tag_lanes_fwd_min: eval(min(prop(tag_lanes_fwd_min),prop(temp_length)));
|
|---|
| 739 | tag_lanes_fwd_max: eval(max(prop(tag_lanes_fwd_max),prop(temp_length)));
|
|---|
| 740 | }
|
|---|
| 741 | way|z17-["width:lanes:backward"],
|
|---|
| 742 | way|z17-["width:lanes"][prop(oneway_type)=(-1)]
|
|---|
| 743 | {
|
|---|
| 744 | temp: eval(cond(has_tag_key("width:lanes:backward"),tag("width:lanes:backward"),tag("width:lanes")));
|
|---|
| 745 | temp_length: eval(length(split("|",prop(temp))));
|
|---|
| 746 |
|
|---|
| 747 | /* Lane count based on :lanes values */
|
|---|
| 748 | tag_lanes_bwd_min: eval(min(prop(tag_lanes_bwd_min),prop(temp_length)));
|
|---|
| 749 | tag_lanes_bwd_max: eval(max(prop(tag_lanes_bwd_max),prop(temp_length)));
|
|---|
| 750 | }
|
|---|
| 751 | way|z17-["width:lanes:both_ways"]
|
|---|
| 752 | {
|
|---|
| 753 | temp: eval(tag("width:lanes:both_ways"));
|
|---|
| 754 | temp_length: eval(length(split("|",prop(temp))));
|
|---|
| 755 |
|
|---|
| 756 | /* Lane count based on :lanes values */
|
|---|
| 757 | tag_lanes_both_min: eval(min(prop(tag_lanes_both_min),prop(temp_length)));
|
|---|
| 758 | tag_lanes_both_max: eval(max(prop(tag_lanes_both_max),prop(temp_length)));
|
|---|
| 759 | }
|
|---|
| 760 |
|
|---|
| 761 | /***************************************************************************************************************************************************/
|
|---|
| 762 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 763 | /* Retrieve the lane count from the lanes key, its subkeys and the :lanes-tags */
|
|---|
| 764 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 765 | /***************************************************************************************************************************************************/
|
|---|
| 766 | way[is_prop_set(ok)][lanes] { lanes_all: tag(lanes);}
|
|---|
| 767 | way[is_prop_set(ok)]["lanes:forward"] { lanes_fwd: tag("lanes:forward");}
|
|---|
| 768 | way[is_prop_set(ok)]["lanes:backward"] { lanes_bwd: tag("lanes:backward");}
|
|---|
| 769 | way[is_prop_set(ok)]["lanes:both_ways"] { lanes_both: tag("lanes:both_ways");}
|
|---|
| 770 |
|
|---|
| 771 | /* Nothing specified */
|
|---|
| 772 | way[is_prop_set(ok)][prop(oneway_type)=0][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"]
|
|---|
| 773 | { lanes_all: 2; lanes_fwd: 1; lanes_bwd: 1; lanes_both: 0; }
|
|---|
| 774 | way[is_prop_set(ok)][prop(oneway_type)=1][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"]
|
|---|
| 775 | { lanes_all: 1; lanes_fwd: 1; lanes_bwd: 0; lanes_both: 0; }
|
|---|
| 776 | way[is_prop_set(ok)][prop(oneway_type)=(-1)][!lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"]
|
|---|
| 777 | { lanes_all: 1; lanes_fwd: 0; lanes_bwd: 1; lanes_both: 0; }
|
|---|
| 778 |
|
|---|
| 779 | /* One-ways */
|
|---|
| 780 | way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=1]
|
|---|
| 781 | { lanes_fwd: prop(lanes_all); lanes_bwd: 0; lanes_both: 0; }
|
|---|
| 782 | way[is_prop_set(ok)][lanes][!"lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=(-1)]
|
|---|
| 783 | { lanes_bwd: prop(lanes_all); lanes_fwd: 0; lanes_both: 0; }
|
|---|
| 784 |
|
|---|
| 785 | way[is_prop_set(ok)][!lanes]["lanes:forward"][!"lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=1]
|
|---|
| 786 | { lanes_all: prop(lanes_fwd); lanes_bwd: 0; lanes_both: 0; }
|
|---|
| 787 | way[is_prop_set(ok)][!lanes][!"lanes:forward"]["lanes:backward"][!"lanes:both_ways"][prop(oneway_type)=(-1)]
|
|---|
| 788 | { lanes_all: prop(lanes_bwd); lanes_fwd: 0; lanes_both: 0; }
|
|---|
| 789 |
|
|---|
| 790 | /* One count besides both_ways is missing */
|
|---|
| 791 | way[is_prop_set(ok)][lanes][!"lanes:forward"]["lanes:backward"][!"lanes:both_ways"]
|
|---|
| 792 | { lanes_fwd: eval((prop(lanes_all))-(prop(lanes_bwd))); lanes_both: 0; }
|
|---|
| 793 | way[is_prop_set(ok)][lanes]["lanes:forward"][!"lanes:backward"][!"lanes:both_ways"]
|
|---|
| 794 | { lanes_bwd: eval((prop(lanes_all))-(prop(lanes_fwd))); lanes_both: 0;}
|
|---|
| 795 | way[is_prop_set(ok)][!lanes]["lanes:forward"]["lanes:backward"][!"lanes:both_ways"]
|
|---|
| 796 | { lanes_all: eval((prop(lanes_fwd))+(prop(lanes_bwd))); lanes_both: 0; }
|
|---|
| 797 |
|
|---|
| 798 | /* One count is missing */
|
|---|
| 799 | way[is_prop_set(ok)][lanes]["lanes:forward"]["lanes:backward"][!"lanes:both_ways"]
|
|---|
| 800 | { lanes_both: eval((prop(lanes_all))-((prop(lanes_fwd))+(prop(lanes_bwd)))); }
|
|---|
| 801 | way[is_prop_set(ok)][lanes]["lanes:forward"][!"lanes:backward"]["lanes:both_ways"]
|
|---|
| 802 | { lanes_bwd: eval((prop(lanes_all))-((prop(lanes_fwd))+(prop(lanes_both)))); }
|
|---|
| 803 | way[is_prop_set(ok)][lanes][!"lanes:forward"]["lanes:backward"]["lanes:both_ways"]
|
|---|
| 804 | { lanes_fwd: eval((prop(lanes_all))-((prop(lanes_bwd))+(prop(lanes_both)))); }
|
|---|
| 805 | way[is_prop_set(ok)][!lanes]["lanes:forward"]["lanes:backward"]["lanes:both_ways"]
|
|---|
| 806 | { lanes_all: eval((prop(lanes_fwd))+((prop(lanes_bwd))+(prop(lanes_both)))); }
|
|---|
| 807 |
|
|---|
| 808 | /* Only the lanes tag is set */
|
|---|
| 809 | way[is_prop_set(ok)][prop(oneway_type)=0][lanes][!"lanes:backward"][!"lanes:both_ways"][!"lanes:forward"]
|
|---|
| 810 | {
|
|---|
| 811 |
|
|---|
| 812 | lanes_fwd: eval(max(1,floor(tag(lanes)/2)));
|
|---|
| 813 | lanes_bwd: eval(floor(tag(lanes)/2));
|
|---|
| 814 | lanes_both: eval((prop(lanes_all))-(prop(lanes_fwd))-(prop(lanes_bwd)));
|
|---|
| 815 | }
|
|---|
| 816 |
|
|---|
| 817 | /* Safety check and adding lanes for "non-motorized or non-general traffic" */
|
|---|
| 818 | way[is_prop_set(ok)]
|
|---|
| 819 | {
|
|---|
| 820 | /* Check for errors */
|
|---|
| 821 | data_error: eval(((prop(tag_lanes_all_max)>0) && (prop(tag_lanes_all_min)<prop(tag_lanes_all_max)))?"Inconsistent <tag>:lanes":prop(data_error));
|
|---|
| 822 | data_error: eval(((prop(tag_lanes_fwd_max)>0) && (prop(tag_lanes_fwd_min)<prop(tag_lanes_fwd_max)))?"Inconsistent <tag>:lanes:forward":prop(data_error));
|
|---|
| 823 | data_error: eval(((prop(tag_lanes_bwd_max)>0) && (prop(tag_lanes_bwd_min)<prop(tag_lanes_bwd_max)))?"Inconsistent <tag>:lanes:backward":prop(data_error));
|
|---|
| 824 | data_error: eval(((prop(tag_lanes_both_max)>0) && (prop(tag_lanes_both_min)<prop(tag_lanes_both_max)))?"Inconsistent <tag>:lanes:both_ways":prop(data_error));
|
|---|
| 825 |
|
|---|
| 826 | /* Safety check */
|
|---|
| 827 | lanes_fwd: eval(cond((prop(lanes_fwd)<0),0,prop(lanes_fwd)));
|
|---|
| 828 | lanes_bwd: eval(cond((prop(lanes_bwd)<0),0,prop(lanes_bwd)));
|
|---|
| 829 | lanes_both: eval(cond((prop(lanes_both)<0),0,prop(lanes_both)));
|
|---|
| 830 |
|
|---|
| 831 | /* In case of one-ways treat the number of all lanes as number of forward/backward lanes */
|
|---|
| 832 | tag_lanes_fwd_min: eval((prop(oneway_type)=1)?min(prop(tag_lanes_all_min),prop(tag_lanes_fwd_min)):prop(tag_lanes_fwd_min));
|
|---|
| 833 | tag_lanes_fwd_max: eval((prop(oneway_type)=1)?max(prop(tag_lanes_all_max),prop(tag_lanes_fwd_max)):prop(tag_lanes_fwd_max));
|
|---|
| 834 | tag_lanes_bwd_min: eval((prop(oneway_type)=(-1))?min(prop(tag_lanes_all_min),prop(tag_lanes_bwd_min)):prop(tag_lanes_bwd_min));
|
|---|
| 835 | tag_lanes_bwd_max: eval((prop(oneway_type)=(-1))?max(prop(tag_lanes_all_max),prop(tag_lanes_bwd_max)):prop(tag_lanes_bwd_max));
|
|---|
| 836 |
|
|---|
| 837 | /* Difference to the lane count specified by :lanes-tags */
|
|---|
| 838 | temp_add_fwd: eval(max(0,prop(tag_lanes_fwd_max)-prop(lanes_fwd)));
|
|---|
| 839 | temp_add_bwd: eval(max(0,prop(tag_lanes_bwd_max)-prop(lanes_bwd)));
|
|---|
| 840 | temp_add_both: eval(max(0,prop(tag_lanes_both_max)-prop(lanes_both)));
|
|---|
| 841 |
|
|---|
| 842 | /* Add the difference */
|
|---|
| 843 | lanes_fwd: eval(prop(lanes_fwd)+prop(temp_add_fwd));
|
|---|
| 844 | lanes_bwd: eval(prop(lanes_bwd)+prop(temp_add_bwd));
|
|---|
| 845 | lanes_both: eval(prop(lanes_both)+prop(temp_add_both));
|
|---|
| 846 |
|
|---|
| 847 | /* Number of all lanes */
|
|---|
| 848 | lanes_all: eval(max(1,((prop(lanes_fwd)+prop(lanes_bwd))+prop(lanes_both))));
|
|---|
| 849 |
|
|---|
| 850 | /* Check for some more errors */
|
|---|
| 851 | data_error: eval(((prop(tag_lanes_all_max)>0) && (prop(tag_lanes_all_min)<prop(lanes_all)))?"Missing <tag>:lanes values values":prop(data_error));
|
|---|
| 852 | data_error: eval(((prop(tag_lanes_fwd_max)>0) && (prop(tag_lanes_fwd_min)<prop(lanes_fwd)))?"Missing <tag>:lanes:forward values":prop(data_error));
|
|---|
| 853 | data_error: eval(((prop(tag_lanes_bwd_max)>0) && (prop(tag_lanes_bwd_min)<prop(lanes_bwd)))?"Missing <tag>:lanes:backward values":prop(data_error));
|
|---|
| 854 | data_error: eval(((prop(tag_lanes_both_max)>0) && (prop(tag_lanes_both_min)<prop(lanes_both)))?"Missing <tag>:lanes:both_ways values":prop(data_error));
|
|---|
| 855 | }
|
|---|
| 856 |
|
|---|
| 857 |
|
|---|
| 858 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 859 | /* Determine the width of the lanes, road markings and the inner lane width */
|
|---|
| 860 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 861 | way|z17[is_prop_set(ok)]
|
|---|
| 862 | {
|
|---|
| 863 | lane_min_width: 4;
|
|---|
| 864 | lane_default_width: eval(max(prop(lane_min_width),(has_tag_key(width)?((1.25*tag(width))/prop(lanes_all)):4)));
|
|---|
| 865 | change_allowed: list(6,9);
|
|---|
| 866 | road_marking_width: 1;
|
|---|
| 867 | road_marking_space: 0;
|
|---|
| 868 | }
|
|---|
| 869 |
|
|---|
| 870 | way|z18[is_prop_set(ok)]
|
|---|
| 871 | {
|
|---|
| 872 | lane_min_width: 8;
|
|---|
| 873 | lane_default_width: eval(max(prop(lane_min_width),(has_tag_key(width)?((2.5*tag(width))/prop(lanes_all)):8)));
|
|---|
| 874 | change_allowed: list(12,18);
|
|---|
| 875 | road_marking_width: 2;
|
|---|
| 876 | road_marking_space: 1;
|
|---|
| 877 | }
|
|---|
| 878 |
|
|---|
| 879 | way|z19[is_prop_set(ok)]
|
|---|
| 880 | {
|
|---|
| 881 | lane_min_width: 8;
|
|---|
| 882 | lane_default_width: eval(max(prop(lane_min_width),(has_tag_key(width)?((5*tag(width))/prop(lanes_all)):16)));
|
|---|
| 883 | change_allowed: list(24,36);
|
|---|
| 884 | road_marking_width: 2;
|
|---|
| 885 | road_marking_space: 1;
|
|---|
| 886 | }
|
|---|
| 887 |
|
|---|
| 888 | way|z20[is_prop_set(ok)]
|
|---|
| 889 | {
|
|---|
| 890 | lane_min_width: 8;
|
|---|
| 891 | lane_default_width: eval(max(prop(lane_min_width),(has_tag_key(width)?((10*tag(width))/prop(lanes_all)):32)));
|
|---|
| 892 | change_allowed: list(48,72);
|
|---|
| 893 | road_marking_width: 2;
|
|---|
| 894 | road_marking_space: 2;
|
|---|
| 895 | }
|
|---|
| 896 |
|
|---|
| 897 | way|z21-[is_prop_set(ok)]
|
|---|
| 898 | {
|
|---|
| 899 | lane_min_width: 12;
|
|---|
| 900 | lane_default_width: eval(max(prop(lane_min_width),(has_tag_key(width)?((20*tag(width))/prop(lanes_all)):64)));
|
|---|
| 901 | change_allowed: list(96,144);
|
|---|
| 902 | road_marking_width: 4;
|
|---|
| 903 | road_marking_space: 3;
|
|---|
| 904 | }
|
|---|
| 905 |
|
|---|
| 906 | way|z22-[is_prop_set(ok)]
|
|---|
| 907 | {
|
|---|
| 908 | lane_min_width: 20;
|
|---|
| 909 | lane_default_width: eval(max(prop(lane_min_width),(has_tag_key(width)?((40*tag(width))/prop(lanes_all)):128)));
|
|---|
| 910 | change_allowed: list(192,288);
|
|---|
| 911 | road_marking_width: 6;
|
|---|
| 912 | road_marking_space: 4;
|
|---|
| 913 | }
|
|---|
| 914 |
|
|---|
| 915 | /* Zoom indepedent variables and helpers */
|
|---|
| 916 | way|z17-[is_prop_set(ok)]
|
|---|
| 917 | {
|
|---|
| 918 | lane_casing: eval((2*prop(road_marking_width))+prop(road_marking_space));
|
|---|
| 919 | change_forbidden: 0;
|
|---|
| 920 | change_border: eval((has_tag_key("placement") && (tag("placement")="transition"))?list(1,2):prop(change_forbidden));
|
|---|
| 921 | }
|
|---|
| 922 |
|
|---|
| 923 | /***************************************************************************************************************************************************/
|
|---|
| 924 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 925 | /* Cleanup of allowed lane changes */
|
|---|
| 926 | /* This must be done AFTER the determination of the lanes count */
|
|---|
| 927 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 928 | /***************************************************************************************************************************************************/
|
|---|
| 929 | way|z17-[is_prop_set(ok)]
|
|---|
| 930 | {
|
|---|
| 931 | change_forward_1_right: eval(prop(change_forward_1_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 932 | change_forward_1_left: eval(prop(change_forward_1_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 933 | change_forward_2_right: eval(prop(change_forward_2_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 934 | change_forward_2_left: eval(prop(change_forward_2_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 935 | change_forward_3_right: eval(prop(change_forward_3_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 936 | change_forward_3_left: eval(prop(change_forward_3_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 937 | change_forward_4_right: eval(prop(change_forward_4_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 938 | change_forward_4_left: eval(prop(change_forward_4_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 939 | change_forward_5_right: eval(prop(change_forward_5_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 940 | change_forward_5_left: eval(prop(change_forward_5_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 941 | change_forward_6_right: eval(prop(change_forward_6_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 942 | change_forward_6_left: eval(prop(change_forward_6_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 943 | change_forward_7_right: eval(prop(change_forward_7_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 944 | change_forward_7_left: eval(prop(change_forward_7_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 945 | change_forward_8_right: eval(prop(change_forward_8_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 946 | change_forward_8_left: eval(prop(change_forward_8_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 947 |
|
|---|
| 948 | change_backward_1_right: eval(prop(change_backward_1_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 949 | change_backward_1_left: eval(prop(change_backward_1_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 950 | change_backward_2_right: eval(prop(change_backward_2_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 951 | change_backward_2_left: eval(prop(change_backward_2_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 952 | change_backward_3_right: eval(prop(change_backward_3_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 953 | change_backward_3_left: eval(prop(change_backward_3_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 954 | change_backward_4_right: eval(prop(change_backward_4_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 955 | change_backward_4_left: eval(prop(change_backward_4_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 956 | change_backward_5_right: eval(prop(change_backward_5_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 957 | change_backward_5_left: eval(prop(change_backward_5_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 958 | change_backward_6_right: eval(prop(change_backward_6_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 959 | change_backward_6_left: eval(prop(change_backward_6_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 960 | change_backward_7_right: eval(prop(change_backward_7_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 961 | change_backward_7_left: eval(prop(change_backward_7_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 962 | change_backward_8_right: eval(prop(change_backward_8_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 963 | change_backward_8_left: eval(prop(change_backward_8_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 964 |
|
|---|
| 965 | change_bothways_1_right: eval(prop(change_bothways_1_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 966 | change_bothways_1_left: eval(prop(change_bothways_1_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 967 | change_bothways_2_right: eval(prop(change_bothways_2_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 968 | change_bothways_2_left: eval(prop(change_bothways_2_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 969 | change_bothways_3_right: eval(prop(change_bothways_3_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 970 | change_bothways_3_left: eval(prop(change_bothways_3_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 971 | change_bothways_4_right: eval(prop(change_bothways_4_right)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 972 | change_bothways_4_left: eval(prop(change_bothways_4_left)?prop(change_allowed):prop(change_forbidden));
|
|---|
| 973 |
|
|---|
| 974 | /* If two adjacent road markings would look the same, remove one */
|
|---|
| 975 | change_forward_1_right: eval(cond((prop(lanes_fwd)>1) && (prop(change_forward_2_left)=prop(change_forward_1_right)),list(0.1,999999),prop(change_forward_1_right)));
|
|---|
| 976 | change_forward_2_right: eval(cond((prop(lanes_fwd)>2) && (prop(change_forward_3_left)=prop(change_forward_2_right)),list(0.1,999999),prop(change_forward_2_right)));
|
|---|
| 977 | change_forward_3_right: eval(cond((prop(lanes_fwd)>3) && (prop(change_forward_4_left)=prop(change_forward_3_right)),list(0.1,999999),prop(change_forward_3_right)));
|
|---|
| 978 | change_forward_4_right: eval(cond((prop(lanes_fwd)>4) && (prop(change_forward_5_left)=prop(change_forward_4_right)),list(0.1,999999),prop(change_forward_4_right)));
|
|---|
| 979 | change_forward_5_right: eval(cond((prop(lanes_fwd)>5) && (prop(change_forward_6_left)=prop(change_forward_5_right)),list(0.1,999999),prop(change_forward_5_right)));
|
|---|
| 980 | change_forward_6_right: eval(cond((prop(lanes_fwd)>6) && (prop(change_forward_7_left)=prop(change_forward_6_right)),list(0.1,999999),prop(change_forward_6_right)));
|
|---|
| 981 | change_forward_7_right: eval(cond((prop(lanes_fwd)>7) && (prop(change_forward_8_left)=prop(change_forward_7_right)),list(0.1,999999),prop(change_forward_7_right)));
|
|---|
| 982 |
|
|---|
| 983 | change_backward_2_left: eval(cond((prop(lanes_bwd)>1) && (prop(change_backward_1_right)=prop(change_backward_2_left)),list(0.1,999999),prop(change_backward_2_left)));
|
|---|
| 984 | change_backward_3_left: eval(cond((prop(lanes_bwd)>2) && (prop(change_backward_2_right)=prop(change_backward_3_left)),list(0.1,999999),prop(change_backward_3_left)));
|
|---|
| 985 | change_backward_4_left: eval(cond((prop(lanes_bwd)>3) && (prop(change_backward_3_right)=prop(change_backward_4_left)),list(0.1,999999),prop(change_backward_4_left)));
|
|---|
| 986 | change_backward_5_left: eval(cond((prop(lanes_bwd)>4) && (prop(change_backward_4_right)=prop(change_backward_5_left)),list(0.1,999999),prop(change_backward_5_left)));
|
|---|
| 987 | change_backward_6_left: eval(cond((prop(lanes_bwd)>5) && (prop(change_backward_5_right)=prop(change_backward_6_left)),list(0.1,999999),prop(change_backward_6_left)));
|
|---|
| 988 | change_backward_7_left: eval(cond((prop(lanes_bwd)>6) && (prop(change_backward_6_right)=prop(change_backward_7_left)),list(0.1,999999),prop(change_backward_7_left)));
|
|---|
| 989 | change_backward_8_left: eval(cond((prop(lanes_bwd)>7) && (prop(change_backward_7_right)=prop(change_backward_8_left)),list(0.1,999999),prop(change_backward_8_left)));
|
|---|
| 990 |
|
|---|
| 991 | change_bothways_1_right: eval(cond((prop(lanes_fwd)>1) && (prop(change_bothways_2_left)=prop(change_bothways_1_right)),list(0.1,999999),prop(change_bothways_1_right)));
|
|---|
| 992 | change_bothways_2_right: eval(cond((prop(lanes_fwd)>2) && (prop(change_bothways_3_left)=prop(change_bothways_2_right)),list(0.1,999999),prop(change_bothways_2_right)));
|
|---|
| 993 | change_bothways_3_right: eval(cond((prop(lanes_fwd)>3) && (prop(change_bothways_4_left)=prop(change_bothways_3_right)),list(0.1,999999),prop(change_bothways_3_right)));
|
|---|
| 994 | }
|
|---|
| 995 |
|
|---|
| 996 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 997 | /* Make the borders always solid */
|
|---|
| 998 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 999 | way|z17-[is_prop_set(ok)][prop(style_right_hand_traffic)]
|
|---|
| 1000 | {
|
|---|
| 1001 | change_forward_1_left: eval(((prop(oneway_type)=1) || (prop(lanes_all)=1))?prop(change_border):prop(change_forward_1_left));
|
|---|
| 1002 | change_backward_1_left: eval((prop(oneway_type)=(-1))?prop(change_border):prop(change_backward_1_left));
|
|---|
| 1003 | }
|
|---|
| 1004 | way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)]
|
|---|
| 1005 | {
|
|---|
| 1006 | change_forward_1_left: prop(change_border);
|
|---|
| 1007 | change_backward_1_left: prop(change_border);
|
|---|
| 1008 | change_forward_1_right: eval((prop(lanes_all)=1)?prop(change_border):prop(change_forward_1_right));
|
|---|
| 1009 | }
|
|---|
| 1010 | way|z17-[is_prop_set(ok)][prop(style_right_hand_traffic)],
|
|---|
| 1011 | way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][prop(oneway_type)=1]
|
|---|
| 1012 | {
|
|---|
| 1013 | change_forward_1_right: eval((prop(lanes_fwd)=1)?prop(change_border):prop(change_forward_1_right));
|
|---|
| 1014 | change_forward_2_right: eval((prop(lanes_fwd)=2)?prop(change_border):prop(change_forward_2_right));
|
|---|
| 1015 | change_forward_3_right: eval((prop(lanes_fwd)=3)?prop(change_border):prop(change_forward_3_right));
|
|---|
| 1016 | change_forward_4_right: eval((prop(lanes_fwd)=4)?prop(change_border):prop(change_forward_4_right));
|
|---|
| 1017 | change_forward_5_right: eval((prop(lanes_fwd)=5)?prop(change_border):prop(change_forward_5_right));
|
|---|
| 1018 | change_forward_6_right: eval((prop(lanes_fwd)=6)?prop(change_border):prop(change_forward_6_right));
|
|---|
| 1019 | change_forward_7_right: eval((prop(lanes_fwd)=7)?prop(change_border):prop(change_forward_7_right));
|
|---|
| 1020 | change_forward_8_right: eval((prop(lanes_fwd)=8)?prop(change_border):prop(change_forward_8_right));
|
|---|
| 1021 | }
|
|---|
| 1022 | way|z17-[is_prop_set(ok)][prop(style_right_hand_traffic)],
|
|---|
| 1023 | way|z17-[is_prop_set(ok)][!prop(style_right_hand_traffic)][prop(oneway_type)=(-1)]
|
|---|
| 1024 | {
|
|---|
| 1025 | change_backward_1_right: eval((prop(lanes_bwd)=1)?prop(change_border):prop(change_backward_1_right));
|
|---|
| 1026 | change_backward_2_right: eval((prop(lanes_bwd)=2)?prop(change_border):prop(change_backward_2_right));
|
|---|
| 1027 | change_backward_3_right: eval((prop(lanes_bwd)=3)?prop(change_border):prop(change_backward_3_right));
|
|---|
| 1028 | change_backward_4_right: eval((prop(lanes_bwd)=4)?prop(change_border):prop(change_backward_4_right));
|
|---|
| 1029 | change_backward_5_right: eval((prop(lanes_bwd)=5)?prop(change_border):prop(change_backward_5_right));
|
|---|
| 1030 | change_backward_6_right: eval((prop(lanes_bwd)=6)?prop(change_border):prop(change_backward_6_right));
|
|---|
| 1031 | change_backward_7_right: eval((prop(lanes_bwd)=7)?prop(change_border):prop(change_backward_7_right));
|
|---|
| 1032 | change_backward_8_right: eval((prop(lanes_bwd)=8)?prop(change_border):prop(change_backward_8_right));
|
|---|
| 1033 | }
|
|---|
| 1034 |
|
|---|
| 1035 |
|
|---|
| 1036 | /***************************************************************************************************************************************************/
|
|---|
| 1037 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1038 | /* Lane-dependent width */
|
|---|
| 1039 | /* This must be done AFTER the determination of the lanes count */
|
|---|
| 1040 | /* Note: the number of values is calcuated BEFORE the determination of the lanes count */
|
|---|
| 1041 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1042 | /***************************************************************************************************************************************************/
|
|---|
| 1043 | way|z17-[is_prop_set(ok)]
|
|---|
| 1044 | {
|
|---|
| 1045 | lane_width_forward_1: eval(prop(lane_default_width)); lane_width_forward_2: eval(prop(lane_default_width));
|
|---|
| 1046 | lane_width_forward_3: eval(prop(lane_default_width)); lane_width_forward_4: eval(prop(lane_default_width));
|
|---|
| 1047 | lane_width_forward_5: eval(prop(lane_default_width)); lane_width_forward_6: eval(prop(lane_default_width));
|
|---|
| 1048 | lane_width_forward_7: eval(prop(lane_default_width)); lane_width_forward_8: eval(prop(lane_default_width));
|
|---|
| 1049 |
|
|---|
| 1050 | lane_width_backward_1: eval(prop(lane_default_width)); lane_width_backward_2: eval(prop(lane_default_width));
|
|---|
| 1051 | lane_width_backward_3: eval(prop(lane_default_width)); lane_width_backward_4: eval(prop(lane_default_width));
|
|---|
| 1052 | lane_width_backward_5: eval(prop(lane_default_width)); lane_width_backward_6: eval(prop(lane_default_width));
|
|---|
| 1053 | lane_width_backward_7: eval(prop(lane_default_width)); lane_width_backward_8: eval(prop(lane_default_width));
|
|---|
| 1054 |
|
|---|
| 1055 | lane_width_bothways_1: eval(prop(lane_default_width)); lane_width_bothways_2: eval(prop(lane_default_width));
|
|---|
| 1056 | lane_width_bothways_3: eval(prop(lane_default_width)); lane_width_bothways_4: eval(prop(lane_default_width));
|
|---|
| 1057 | }
|
|---|
| 1058 |
|
|---|
| 1059 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1060 | /* Forward lanes */
|
|---|
| 1061 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1062 | way|z17-[is_prop_set(ok)]["width:lanes:forward"],
|
|---|
| 1063 | way|z17-[is_prop_set(ok)]["width:lanes"][prop(oneway_type)=1]
|
|---|
| 1064 | {
|
|---|
| 1065 | temp: eval(cond(has_tag_key("width:lanes:forward"),tag("width:lanes:forward"),tag("width:lanes")));
|
|---|
| 1066 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 1067 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 1068 |
|
|---|
| 1069 | lane_width_forward_1: eval(((prop(temp_length)>0) && (get(prop(temp_list),0)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),0)))):prop(lane_default_width));
|
|---|
| 1070 | lane_width_forward_2: eval(((prop(temp_length)>1) && (get(prop(temp_list),1)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),1)))):prop(lane_default_width));
|
|---|
| 1071 | lane_width_forward_3: eval(((prop(temp_length)>2) && (get(prop(temp_list),2)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),2)))):prop(lane_default_width));
|
|---|
| 1072 | lane_width_forward_4: eval(((prop(temp_length)>3) && (get(prop(temp_list),3)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),3)))):prop(lane_default_width));
|
|---|
| 1073 | lane_width_forward_5: eval(((prop(temp_length)>4) && (get(prop(temp_list),4)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),4)))):prop(lane_default_width));
|
|---|
| 1074 | lane_width_forward_6: eval(((prop(temp_length)>5) && (get(prop(temp_list),5)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),5)))):prop(lane_default_width));
|
|---|
| 1075 | lane_width_forward_7: eval(((prop(temp_length)>6) && (get(prop(temp_list),6)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),6)))):prop(lane_default_width));
|
|---|
| 1076 | lane_width_forward_8: eval(((prop(temp_length)>7) && (get(prop(temp_list),7)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),7)))):prop(lane_default_width));
|
|---|
| 1077 | }
|
|---|
| 1078 |
|
|---|
| 1079 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1080 | /* Backward lanes */
|
|---|
| 1081 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1082 | way|z17-[is_prop_set(ok)]["width:lanes:backward"],
|
|---|
| 1083 | way|z17-[is_prop_set(ok)]["width:lanes"][prop(oneway_type)=(-1)]
|
|---|
| 1084 | {
|
|---|
| 1085 | temp: eval(cond(has_tag_key("width:lanes:backward"),tag("width:lanes:backward"),tag("width:lanes")));
|
|---|
| 1086 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 1087 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 1088 |
|
|---|
| 1089 | lane_width_backward_1: eval(((prop(temp_length)>0) && (get(prop(temp_list),0)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),0)))):prop(lane_default_width));
|
|---|
| 1090 | lane_width_backward_2: eval(((prop(temp_length)>1) && (get(prop(temp_list),1)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),1)))):prop(lane_default_width));
|
|---|
| 1091 | lane_width_backward_3: eval(((prop(temp_length)>2) && (get(prop(temp_list),2)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),2)))):prop(lane_default_width));
|
|---|
| 1092 | lane_width_backward_4: eval(((prop(temp_length)>3) && (get(prop(temp_list),3)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),3)))):prop(lane_default_width));
|
|---|
| 1093 | lane_width_backward_5: eval(((prop(temp_length)>4) && (get(prop(temp_list),4)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),4)))):prop(lane_default_width));
|
|---|
| 1094 | lane_width_backward_6: eval(((prop(temp_length)>5) && (get(prop(temp_list),5)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),5)))):prop(lane_default_width));
|
|---|
| 1095 | lane_width_backward_7: eval(((prop(temp_length)>6) && (get(prop(temp_list),6)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),6)))):prop(lane_default_width));
|
|---|
| 1096 | lane_width_backward_8: eval(((prop(temp_length)>7) && (get(prop(temp_list),7)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),7)))):prop(lane_default_width));
|
|---|
| 1097 | }
|
|---|
| 1098 |
|
|---|
| 1099 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1100 | /* Bothways lanes */
|
|---|
| 1101 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1102 | way|z17-[is_prop_set(ok)]["width:lanes:both_ways"]
|
|---|
| 1103 | {
|
|---|
| 1104 | temp: eval(tag("width:lanes:both_ways"));
|
|---|
| 1105 | temp_list: eval(split("|",prop(temp)));
|
|---|
| 1106 | temp_length: eval(length(prop(temp_list)));
|
|---|
| 1107 |
|
|---|
| 1108 | lane_width_bothways_1: eval(((prop(temp_length)>0) && (get(prop(temp_list),0)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),0)))):prop(lane_default_width));
|
|---|
| 1109 | lane_width_bothways_2: eval(((prop(temp_length)>1) && (get(prop(temp_list),1)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),1)))):prop(lane_default_width));
|
|---|
| 1110 | lane_width_bothways_3: eval(((prop(temp_length)>2) && (get(prop(temp_list),2)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),2)))):prop(lane_default_width));
|
|---|
| 1111 | lane_width_bothways_4: eval(((prop(temp_length)>3) && (get(prop(temp_list),3)>0))?(max(prop(lane_min_width),(prop(pixel_per_metre)*get(prop(temp_list),3)))):prop(lane_default_width));
|
|---|
| 1112 | }
|
|---|
| 1113 |
|
|---|
| 1114 | way|z17-[is_prop_set(ok)]
|
|---|
| 1115 | {
|
|---|
| 1116 | lane_width_all_forward: eval(
|
|---|
| 1117 | ((prop(lanes_fwd)>0)?prop(lane_width_forward_1):0)+
|
|---|
| 1118 | ((prop(lanes_fwd)>1)?prop(lane_width_forward_2):0)+
|
|---|
| 1119 | ((prop(lanes_fwd)>2)?prop(lane_width_forward_3):0)+
|
|---|
| 1120 | ((prop(lanes_fwd)>3)?prop(lane_width_forward_4):0)+
|
|---|
| 1121 | ((prop(lanes_fwd)>4)?prop(lane_width_forward_5):0)+
|
|---|
| 1122 | ((prop(lanes_fwd)>5)?prop(lane_width_forward_6):0)+
|
|---|
| 1123 | ((prop(lanes_fwd)>6)?prop(lane_width_forward_7):0)+
|
|---|
| 1124 | ((prop(lanes_fwd)>7)?prop(lane_width_forward_8):0)
|
|---|
| 1125 | );
|
|---|
| 1126 |
|
|---|
| 1127 | lane_width_all_backward: eval(
|
|---|
| 1128 | ((prop(lanes_bwd)>0)?prop(lane_width_backward_1):0)+
|
|---|
| 1129 | ((prop(lanes_bwd)>1)?prop(lane_width_backward_2):0)+
|
|---|
| 1130 | ((prop(lanes_bwd)>2)?prop(lane_width_backward_3):0)+
|
|---|
| 1131 | ((prop(lanes_bwd)>3)?prop(lane_width_backward_4):0)+
|
|---|
| 1132 | ((prop(lanes_bwd)>4)?prop(lane_width_backward_5):0)+
|
|---|
| 1133 | ((prop(lanes_bwd)>5)?prop(lane_width_backward_6):0)+
|
|---|
| 1134 | ((prop(lanes_bwd)>6)?prop(lane_width_backward_7):0)+
|
|---|
| 1135 | ((prop(lanes_bwd)>7)?prop(lane_width_backward_8):0)
|
|---|
| 1136 | );
|
|---|
| 1137 |
|
|---|
| 1138 | lane_width_all_bothways: eval(
|
|---|
| 1139 | ((prop(lanes_both)>0)?prop(lane_width_bothways_1):0)+
|
|---|
| 1140 | ((prop(lanes_both)>1)?prop(lane_width_bothways_2):0)+
|
|---|
| 1141 | ((prop(lanes_both)>2)?prop(lane_width_bothways_3):0)+
|
|---|
| 1142 | ((prop(lanes_both)>3)?prop(lane_width_bothways_4):0)
|
|---|
| 1143 | );
|
|---|
| 1144 |
|
|---|
| 1145 | lane_width_all: eval((prop(lane_width_all_forward)+prop(lane_width_all_backward))+prop(lane_width_all_bothways));
|
|---|
| 1146 | }
|
|---|
| 1147 |
|
|---|
| 1148 | /***************************************************************************************************************************************************/
|
|---|
| 1149 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1150 | /* Offset of the road given by the placement tag */
|
|---|
| 1151 | /* It is assumed that only one of the placement tags is set, otherwise the result will most certainly be incorrect */
|
|---|
| 1152 | /* TODO: placement:both_ways is currently not supported, verify support for left-hand-traffic */
|
|---|
| 1153 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1154 | /***************************************************************************************************************************************************/
|
|---|
| 1155 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1156 | /* Error checking */
|
|---|
| 1157 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1158 | way["placement"]
|
|---|
| 1159 | {
|
|---|
| 1160 | data_error: eval(regexp_test("^(transition|middle_of:[0-9]+|right_of:[0-9]+|left_of:[0-9]+)$",tag("placement"))?prop(data_error):"invalid placement value");
|
|---|
| 1161 | }
|
|---|
| 1162 | way["placement:forward"]
|
|---|
| 1163 | {
|
|---|
| 1164 | data_error: eval(regexp_test("^(transition|middle_of:[0-9]+|right_of:[0-9]+|left_of:[0-9]+)$",tag("placement:forward"))?prop(data_error):"invalid placement:forward value");
|
|---|
| 1165 | }
|
|---|
| 1166 | way["placement:backward"]
|
|---|
| 1167 | {
|
|---|
| 1168 | data_error: eval(regexp_test("^(transition|middle_of:[0-9]+|right_of:[0-9]+|left_of:[0-9]+)$",tag("placement:backward"))?prop(data_error):"invalid placement:backward value");
|
|---|
| 1169 | }
|
|---|
| 1170 | way["placement"]["placement:forward"], way["placement"]["placement:backward"], way["placement:forward"]["placement:backward"]
|
|---|
| 1171 | {
|
|---|
| 1172 | data_error: eval("multiple placement tags");
|
|---|
| 1173 | }
|
|---|
| 1174 |
|
|---|
| 1175 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1176 | /* 1. Calculate the borders without consideration of placement */
|
|---|
| 1177 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1178 | way[is_prop_set(ok)]
|
|---|
| 1179 | {
|
|---|
| 1180 | /* Determine the borders of the parts of the carriageway assuming no placement was specified */
|
|---|
| 1181 | placement_offset: 0;
|
|---|
| 1182 | placement_transition: eval(has_tag_key("placement") && (tag("placement")="transition"));
|
|---|
| 1183 | left_carriageway_border: eval(prop(lane_width_all)/2.0);
|
|---|
| 1184 | left_forward_border: eval(cond(prop(style_right_hand_traffic),
|
|---|
| 1185 | (prop(left_carriageway_border) - (prop(lane_width_all_backward)+prop(lane_width_all_bothways))),
|
|---|
| 1186 | prop(left_carriageway_border)
|
|---|
| 1187 | )
|
|---|
| 1188 | );
|
|---|
| 1189 | right_backward_border: eval(cond(prop(style_right_hand_traffic),
|
|---|
| 1190 | (prop(left_carriageway_border) - prop(lane_width_all_backward)),
|
|---|
| 1191 | (prop(left_carriageway_border) - prop(lane_width_all))
|
|---|
| 1192 | )
|
|---|
| 1193 | );
|
|---|
| 1194 | left_bothways_border: eval(cond(prop(style_right_hand_traffic),
|
|---|
| 1195 | (prop(left_carriageway_border) - prop(lane_width_all_backward)),
|
|---|
| 1196 | (prop(left_carriageway_border) - prop(lane_width_all_forward))
|
|---|
| 1197 | )
|
|---|
| 1198 | );
|
|---|
| 1199 | }
|
|---|
| 1200 |
|
|---|
| 1201 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1202 | /* 2.a. Offset of the forward lanes */
|
|---|
| 1203 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1204 | way|z17-[is_prop_set(ok)]
|
|---|
| 1205 | {
|
|---|
| 1206 | lane_offset_forward_1: eval(prop(left_forward_border)-
|
|---|
| 1207 | (prop(lane_width_forward_1)/2));
|
|---|
| 1208 | lane_offset_forward_2: eval(prop(lane_offset_forward_1)-
|
|---|
| 1209 | ((prop(lane_width_forward_1)+
|
|---|
| 1210 | prop(lane_width_forward_2))/2));
|
|---|
| 1211 | lane_offset_forward_3: eval(prop(lane_offset_forward_2)-
|
|---|
| 1212 | ((prop(lane_width_forward_2)+
|
|---|
| 1213 | prop(lane_width_forward_3))/2));
|
|---|
| 1214 | lane_offset_forward_4: eval(prop(lane_offset_forward_3)-
|
|---|
| 1215 | ((prop(lane_width_forward_3)+
|
|---|
| 1216 | prop(lane_width_forward_4))/2));
|
|---|
| 1217 | lane_offset_forward_5: eval(prop(lane_offset_forward_4)-
|
|---|
| 1218 | ((prop(lane_width_forward_4)+
|
|---|
| 1219 | prop(lane_width_forward_5))/2));
|
|---|
| 1220 | lane_offset_forward_6: eval(prop(lane_offset_forward_5)-
|
|---|
| 1221 | ((prop(lane_width_forward_5)+
|
|---|
| 1222 | prop(lane_width_forward_6))/2));
|
|---|
| 1223 | lane_offset_forward_7: eval(prop(lane_offset_forward_6)-
|
|---|
| 1224 | ((prop(lane_width_forward_6)+
|
|---|
| 1225 | prop(lane_width_forward_7))/2));
|
|---|
| 1226 | lane_offset_forward_8: eval(prop(lane_offset_forward_7)-
|
|---|
| 1227 | ((prop(lane_width_forward_7)+
|
|---|
| 1228 | prop(lane_width_forward_8))/2));
|
|---|
| 1229 | }
|
|---|
| 1230 |
|
|---|
| 1231 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1232 | /* 2.b. Offset of the backward lanes */
|
|---|
| 1233 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1234 | way|z17-[is_prop_set(ok)]
|
|---|
| 1235 | {
|
|---|
| 1236 | lane_offset_backward_1: eval(prop(right_backward_border)+
|
|---|
| 1237 | (prop(lane_width_backward_1)/2));
|
|---|
| 1238 | lane_offset_backward_2: eval(prop(lane_offset_backward_1)+
|
|---|
| 1239 | ((prop(lane_width_backward_1)+
|
|---|
| 1240 | prop(lane_width_backward_2))/2));
|
|---|
| 1241 | lane_offset_backward_3: eval(prop(lane_offset_backward_2)+
|
|---|
| 1242 | ((prop(lane_width_backward_2)+
|
|---|
| 1243 | prop(lane_width_backward_3))/2));
|
|---|
| 1244 | lane_offset_backward_4: eval(prop(lane_offset_backward_3)+
|
|---|
| 1245 | ((prop(lane_width_backward_3)+
|
|---|
| 1246 | prop(lane_width_backward_4))/2));
|
|---|
| 1247 | lane_offset_backward_5: eval(prop(lane_offset_backward_4)+
|
|---|
| 1248 | ((prop(lane_width_backward_4)+
|
|---|
| 1249 | prop(lane_width_backward_5))/2));
|
|---|
| 1250 | lane_offset_backward_6: eval(prop(lane_offset_backward_5)+
|
|---|
| 1251 | ((prop(lane_width_backward_5)+
|
|---|
| 1252 | prop(lane_width_backward_6))/2));
|
|---|
| 1253 | lane_offset_backward_7: eval(prop(lane_offset_backward_6)+
|
|---|
| 1254 | ((prop(lane_width_backward_6)+
|
|---|
| 1255 | prop(lane_width_backward_7))/2));
|
|---|
| 1256 | lane_offset_backward_8: eval(prop(lane_offset_backward_7)+
|
|---|
| 1257 | ((prop(lane_width_backward_7)+
|
|---|
| 1258 | prop(lane_width_backward_8))/2));
|
|---|
| 1259 | }
|
|---|
| 1260 |
|
|---|
| 1261 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1262 | /* 2.c. Offset of the both_ways lanes */
|
|---|
| 1263 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1264 | way|z17-[is_prop_set(ok)]
|
|---|
| 1265 | {
|
|---|
| 1266 | lane_offset_bothways_1: eval(prop(left_bothways_border)-
|
|---|
| 1267 | (prop(lane_width_bothways_1)/2));
|
|---|
| 1268 | lane_offset_bothways_2: eval(prop(lane_offset_bothways_1)-
|
|---|
| 1269 | ((prop(lane_width_bothways_1)+
|
|---|
| 1270 | prop(lane_width_bothways_2))/2));
|
|---|
| 1271 | lane_offset_bothways_3: eval(prop(lane_offset_bothways_2)-
|
|---|
| 1272 | ((prop(lane_width_bothways_2)+
|
|---|
| 1273 | prop(lane_width_bothways_3))/2));
|
|---|
| 1274 | lane_offset_bothways_4: eval(prop(lane_offset_bothways_3)-
|
|---|
| 1275 | ((prop(lane_width_bothways_3)+
|
|---|
| 1276 | prop(lane_width_bothways_4))/2));
|
|---|
| 1277 | }
|
|---|
| 1278 |
|
|---|
| 1279 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1280 | /* 3. Now determine the offset given by the placement tag */
|
|---|
| 1281 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1282 | way[is_prop_set(ok)]["placement:forward"]["placement:forward"!=transition],
|
|---|
| 1283 | way[is_prop_set(ok)][prop(oneway_type)=1][placement][placement!=transition]
|
|---|
| 1284 | {
|
|---|
| 1285 | placement_value: eval(has_tag_key("placement")?tag("placement"):tag("placement:forward"));
|
|---|
| 1286 | placement_offset: eval(
|
|---|
| 1287 | cond(prop("placement_value")="right_of:1",eval((prop(lane_width_forward_1)/2)-prop(lane_offset_forward_1)),
|
|---|
| 1288 | cond(prop("placement_value")="right_of:2",eval((prop(lane_width_forward_2)/2)-prop(lane_offset_forward_2)),
|
|---|
| 1289 | cond(prop("placement_value")="right_of:3",eval((prop(lane_width_forward_3)/2)-prop(lane_offset_forward_3)),
|
|---|
| 1290 | cond(prop("placement_value")="right_of:4",eval((prop(lane_width_forward_4)/2)-prop(lane_offset_forward_4)),
|
|---|
| 1291 | cond(prop("placement_value")="right_of:5",eval((prop(lane_width_forward_5)/2)-prop(lane_offset_forward_5)),
|
|---|
| 1292 | cond(prop("placement_value")="right_of:6",eval((prop(lane_width_forward_6)/2)-prop(lane_offset_forward_6)),
|
|---|
| 1293 | cond(prop("placement_value")="right_of:7",eval((prop(lane_width_forward_7)/2)-prop(lane_offset_forward_7)),
|
|---|
| 1294 | cond(prop("placement_value")="right_of:8",eval((prop(lane_width_forward_8)/2)-prop(lane_offset_forward_8)),
|
|---|
| 1295 | cond(prop("placement_value")="left_of:1",eval(-(prop(lane_offset_forward_1)+(prop(lane_width_forward_1)/2))),
|
|---|
| 1296 | cond(prop("placement_value")="left_of:2",eval(-(prop(lane_offset_forward_2)+(prop(lane_width_forward_2)/2))),
|
|---|
| 1297 | cond(prop("placement_value")="left_of:3",eval(-(prop(lane_offset_forward_3)+(prop(lane_width_forward_3)/2))),
|
|---|
| 1298 | cond(prop("placement_value")="left_of:4",eval(-(prop(lane_offset_forward_4)+(prop(lane_width_forward_4)/2))),
|
|---|
| 1299 | cond(prop("placement_value")="left_of:5",eval(-(prop(lane_offset_forward_5)+(prop(lane_width_forward_5)/2))),
|
|---|
| 1300 | cond(prop("placement_value")="left_of:6",eval(-(prop(lane_offset_forward_6)+(prop(lane_width_forward_6)/2))),
|
|---|
| 1301 | cond(prop("placement_value")="left_of:7",eval(-(prop(lane_offset_forward_7)+(prop(lane_width_forward_7)/2))),
|
|---|
| 1302 | cond(prop("placement_value")="left_of:8",eval(-(prop(lane_offset_forward_8)+(prop(lane_width_forward_8)/2))),
|
|---|
| 1303 | cond(prop("placement_value")="middle_of:1",eval(-prop(lane_offset_forward_1)),
|
|---|
| 1304 | cond(prop("placement_value")="middle_of:2",eval(-prop(lane_offset_forward_2)),
|
|---|
| 1305 | cond(prop("placement_value")="middle_of:3",eval(-prop(lane_offset_forward_3)),
|
|---|
| 1306 | cond(prop("placement_value")="middle_of:4",eval(-prop(lane_offset_forward_4)),
|
|---|
| 1307 | cond(prop("placement_value")="middle_of:5",eval(-prop(lane_offset_forward_5)),
|
|---|
| 1308 | cond(prop("placement_value")="middle_of:6",eval(-prop(lane_offset_forward_6)),
|
|---|
| 1309 | cond(prop("placement_value")="middle_of:7",eval(-prop(lane_offset_forward_7)),
|
|---|
| 1310 | cond(prop("placement_value")="middle_of:8",eval(-prop(lane_offset_forward_8)),
|
|---|
| 1311 | 0
|
|---|
| 1312 | ))))))))))))))))))))))))
|
|---|
| 1313 | );
|
|---|
| 1314 | }
|
|---|
| 1315 | way[is_prop_set(ok)]["placement:backward"]["placement:backward"!=transition],
|
|---|
| 1316 | way[is_prop_set(ok)][prop(oneway_type)=(-1)][placement][placement!=transition]
|
|---|
| 1317 | {
|
|---|
| 1318 | placement_value: eval(has_tag_key("placement")?tag("placement"):tag("placement:backward"));
|
|---|
| 1319 | placement_offset: eval(
|
|---|
| 1320 | cond(prop("placement_value")="right_of:1",eval(-(prop(lane_offset_backward_1)+(prop(lane_width_backward_1)/2))),
|
|---|
| 1321 | cond(prop("placement_value")="right_of:2",eval(-(prop(lane_offset_backward_2)+(prop(lane_width_backward_2)/2))),
|
|---|
| 1322 | cond(prop("placement_value")="right_of:3",eval(-(prop(lane_offset_backward_3)+(prop(lane_width_backward_3)/2))),
|
|---|
| 1323 | cond(prop("placement_value")="right_of:4",eval(-(prop(lane_offset_backward_4)+(prop(lane_width_backward_4)/2))),
|
|---|
| 1324 | cond(prop("placement_value")="right_of:5",eval(-(prop(lane_offset_backward_5)+(prop(lane_width_backward_5)/2))),
|
|---|
| 1325 | cond(prop("placement_value")="right_of:6",eval(-(prop(lane_offset_backward_6)+(prop(lane_width_backward_6)/2))),
|
|---|
| 1326 | cond(prop("placement_value")="right_of:7",eval(-(prop(lane_offset_backward_7)+(prop(lane_width_backward_7)/2))),
|
|---|
| 1327 | cond(prop("placement_value")="right_of:8",eval(-(prop(lane_offset_backward_8)+(prop(lane_width_backward_8)/2))),
|
|---|
| 1328 | cond(prop("placement_value")="left_of:1",eval((prop(lane_width_backward_1)/2)-prop(lane_offset_backward_1)),
|
|---|
| 1329 | cond(prop("placement_value")="left_of:2",eval((prop(lane_width_backward_2)/2)-prop(lane_offset_backward_2)),
|
|---|
| 1330 | cond(prop("placement_value")="left_of:3",eval((prop(lane_width_backward_3)/2)-prop(lane_offset_backward_3)),
|
|---|
| 1331 | cond(prop("placement_value")="left_of:4",eval((prop(lane_width_backward_4)/2)-prop(lane_offset_backward_4)),
|
|---|
| 1332 | cond(prop("placement_value")="left_of:5",eval((prop(lane_width_backward_5)/2)-prop(lane_offset_backward_5)),
|
|---|
| 1333 | cond(prop("placement_value")="left_of:6",eval((prop(lane_width_backward_6)/2)-prop(lane_offset_backward_6)),
|
|---|
| 1334 | cond(prop("placement_value")="left_of:7",eval((prop(lane_width_backward_7)/2)-prop(lane_offset_backward_7)),
|
|---|
| 1335 | cond(prop("placement_value")="left_of:8",eval((prop(lane_width_backward_8)/2)-prop(lane_offset_backward_8)),
|
|---|
| 1336 | cond(prop("placement_value")="middle_of:1",eval(-prop(lane_offset_backward_1)),
|
|---|
| 1337 | cond(prop("placement_value")="middle_of:2",eval(-prop(lane_offset_backward_2)),
|
|---|
| 1338 | cond(prop("placement_value")="middle_of:3",eval(-prop(lane_offset_backward_3)),
|
|---|
| 1339 | cond(prop("placement_value")="middle_of:4",eval(-prop(lane_offset_backward_4)),
|
|---|
| 1340 | cond(prop("placement_value")="middle_of:5",eval(-prop(lane_offset_backward_5)),
|
|---|
| 1341 | cond(prop("placement_value")="middle_of:6",eval(-prop(lane_offset_backward_6)),
|
|---|
| 1342 | cond(prop("placement_value")="middle_of:7",eval(-prop(lane_offset_backward_7)),
|
|---|
| 1343 | cond(prop("placement_value")="middle_of:8",eval(-prop(lane_offset_backward_8)),
|
|---|
| 1344 | 0
|
|---|
| 1345 | ))))))))))))))))))))))))
|
|---|
| 1346 | );
|
|---|
| 1347 | }
|
|---|
| 1348 | way[is_prop_set(ok)]["placement:both_ways"]["placement:both_ways"!=transition]
|
|---|
| 1349 | {
|
|---|
| 1350 | placement_value: eval(tag("placement:both_ways"));
|
|---|
| 1351 | placement_offset: eval(
|
|---|
| 1352 | cond(prop("placement_value")="right_of:1",eval((prop(lane_width_bothways_1)/2)-prop(lane_offset_bothways_1)),
|
|---|
| 1353 | cond(prop("placement_value")="right_of:2",eval((prop(lane_width_bothways_2)/2)-prop(lane_offset_bothways_2)),
|
|---|
| 1354 | cond(prop("placement_value")="right_of:3",eval((prop(lane_width_bothways_3)/2)-prop(lane_offset_bothways_3)),
|
|---|
| 1355 | cond(prop("placement_value")="right_of:4",eval((prop(lane_width_bothways_4)/2)-prop(lane_offset_bothways_4)),
|
|---|
| 1356 | cond(prop("placement_value")="left_of:1",eval(-(prop(lane_offset_bothways_1)+(prop(lane_width_bothways_1)/2))),
|
|---|
| 1357 | cond(prop("placement_value")="left_of:2",eval(-(prop(lane_offset_bothways_2)+(prop(lane_width_bothways_2)/2))),
|
|---|
| 1358 | cond(prop("placement_value")="left_of:3",eval(-(prop(lane_offset_bothways_3)+(prop(lane_width_bothways_3)/2))),
|
|---|
| 1359 | cond(prop("placement_value")="left_of:4",eval(-(prop(lane_offset_bothways_4)+(prop(lane_width_bothways_4)/2))),
|
|---|
| 1360 | cond(prop("placement_value")="middle_of:1",eval(-prop(lane_offset_bothways_1)),
|
|---|
| 1361 | cond(prop("placement_value")="middle_of:2",eval(-prop(lane_offset_bothways_2)),
|
|---|
| 1362 | cond(prop("placement_value")="middle_of:3",eval(-prop(lane_offset_bothways_3)),
|
|---|
| 1363 | cond(prop("placement_value")="middle_of:4",eval(-prop(lane_offset_bothways_4)),
|
|---|
| 1364 | 0
|
|---|
| 1365 | ))))))))))))
|
|---|
| 1366 | );
|
|---|
| 1367 | }
|
|---|
| 1368 |
|
|---|
| 1369 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1370 | /* 4. Move the carriageway and the lanes */
|
|---|
| 1371 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1372 | way[is_prop_set(ok)]
|
|---|
| 1373 | {
|
|---|
| 1374 | /* Move the carriageway borders */
|
|---|
| 1375 | left_carriageway_border: eval((prop(left_carriageway_border) + prop(placement_offset)));
|
|---|
| 1376 | left_forward_border: eval((prop(left_forward_border) + prop(placement_offset)));
|
|---|
| 1377 | right_backward_border: eval((prop(right_backward_border) + prop(placement_offset)));
|
|---|
| 1378 | left_bothways_border: eval((prop(left_bothways_border) + prop(placement_offset)));
|
|---|
| 1379 |
|
|---|
| 1380 | /* Move the lanes */
|
|---|
| 1381 | lane_offset_forward_1: eval((prop(lane_offset_forward_1) + prop(placement_offset)));
|
|---|
| 1382 | lane_offset_forward_2: eval((prop(lane_offset_forward_2) + prop(placement_offset)));
|
|---|
| 1383 | lane_offset_forward_3: eval((prop(lane_offset_forward_3) + prop(placement_offset)));
|
|---|
| 1384 | lane_offset_forward_4: eval((prop(lane_offset_forward_4) + prop(placement_offset)));
|
|---|
| 1385 | lane_offset_forward_5: eval((prop(lane_offset_forward_5) + prop(placement_offset)));
|
|---|
| 1386 | lane_offset_forward_6: eval((prop(lane_offset_forward_6) + prop(placement_offset)));
|
|---|
| 1387 | lane_offset_forward_7: eval((prop(lane_offset_forward_7) + prop(placement_offset)));
|
|---|
| 1388 | lane_offset_forward_8: eval((prop(lane_offset_forward_8) + prop(placement_offset)));
|
|---|
| 1389 | lane_offset_backward_1: eval((prop(lane_offset_backward_1) + prop(placement_offset)));
|
|---|
| 1390 | lane_offset_backward_2: eval((prop(lane_offset_backward_2) + prop(placement_offset)));
|
|---|
| 1391 | lane_offset_backward_3: eval((prop(lane_offset_backward_3) + prop(placement_offset)));
|
|---|
| 1392 | lane_offset_backward_4: eval((prop(lane_offset_backward_4) + prop(placement_offset)));
|
|---|
| 1393 | lane_offset_backward_5: eval((prop(lane_offset_backward_5) + prop(placement_offset)));
|
|---|
| 1394 | lane_offset_backward_6: eval((prop(lane_offset_backward_6) + prop(placement_offset)));
|
|---|
| 1395 | lane_offset_backward_7: eval((prop(lane_offset_backward_7) + prop(placement_offset)));
|
|---|
| 1396 | lane_offset_backward_8: eval((prop(lane_offset_backward_8) + prop(placement_offset)));
|
|---|
| 1397 | lane_offset_bothways_1: eval((prop(lane_offset_bothways_1) + prop(placement_offset)));
|
|---|
| 1398 | lane_offset_bothways_2: eval((prop(lane_offset_bothways_2) + prop(placement_offset)));
|
|---|
| 1399 | lane_offset_bothways_3: eval((prop(lane_offset_bothways_3) + prop(placement_offset)));
|
|---|
| 1400 | lane_offset_bothways_4: eval((prop(lane_offset_bothways_4) + prop(placement_offset)));
|
|---|
| 1401 | }
|
|---|
| 1402 |
|
|---|
| 1403 | /***************************************************************************************************************************************************/
|
|---|
| 1404 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1405 | /* Render the carriageway */
|
|---|
| 1406 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1407 | /***************************************************************************************************************************************************/
|
|---|
| 1408 | way[is_prop_set(ok)][is_prop_set(lanes_all)]::Ground
|
|---|
| 1409 | {
|
|---|
| 1410 | linecap: none;
|
|---|
| 1411 | /* The "ground" will be drawn by each lane, so that we can use different colors per lane */
|
|---|
| 1412 | opacity: 0.0;
|
|---|
| 1413 | width: eval(prop(lane_width_all,"default"));
|
|---|
| 1414 | offset: prop(placement_offset,"default");
|
|---|
| 1415 | major-z-index: -1.0;
|
|---|
| 1416 | }
|
|---|
| 1417 |
|
|---|
| 1418 | /* Sidewalk and cycletrack */
|
|---|
| 1419 | way|z17- {} /* ATTENTION: For whatever reason this is needed, otherwise the following won't be interpreted correctly */
|
|---|
| 1420 | way|z17-[is_prop_set(ok)][is_prop_set(lanes_all)]::Ground
|
|---|
| 1421 | {
|
|---|
| 1422 | /* Cycletrack in an one-way on the left side? */
|
|---|
| 1423 | temp_allow_cycleway_left: eval(!(
|
|---|
| 1424 | ((prop(oneway_type,"default")=1) && prop(style_right_hand_traffic,"default")) ||
|
|---|
| 1425 | ((prop(oneway_type,"default")=(-1)) && (!prop(style_right_hand_traffic,"default")))
|
|---|
| 1426 | ));
|
|---|
| 1427 |
|
|---|
| 1428 | temp_allow_cycleway_left: eval(prop(temp_allow_cycleway_left) || (has_tag_key("oneway:bicycle") && (tag("oneway:bicycle")="no")));
|
|---|
| 1429 | /* Explicitely no cycletrack on the left side? */
|
|---|
| 1430 | temp_allow_cycleway_left: eval((has_tag_key("cycleway:left") && (tag("cycleway:left")="no"))?false:prop(temp_allow_cycleway_left));
|
|---|
| 1431 | /* Cycletrack on the left side */
|
|---|
| 1432 | temp_cycleway_left: eval(((has_tag_key(cycleway) && ((tag(cycleway)="track") && prop(temp_allow_cycleway_left))) ||
|
|---|
| 1433 | (has_tag_key("cycleway:left") && (tag("cycleway:left")="track"))) ||
|
|---|
| 1434 | (has_tag_key("cycleway:both") && (tag("cycleway:both")="track"))
|
|---|
| 1435 | );
|
|---|
| 1436 |
|
|---|
| 1437 | /* Sidewalk on the left side? */
|
|---|
| 1438 | templ: eval((has_tag_key(sidewalk) && ((tag(sidewalk)="both") || (tag(sidewalk)="left")))?1:0);
|
|---|
| 1439 |
|
|---|
| 1440 | /* Combine sidewalk and cycletrack: 0=none; 1=sidewalk; 2=cycletrack; 3=sidewalk and cycletrack */
|
|---|
| 1441 | templ: eval(prop(templ)+(prop(temp_cycleway_left)?2:0));
|
|---|
| 1442 |
|
|---|
| 1443 |
|
|---|
| 1444 | /* Cycletrack in an one-way on the right side? */
|
|---|
| 1445 | temp_allow_cycleway_right: eval(!(
|
|---|
| 1446 | ((prop(oneway_type,"default")=(-1)) && prop(style_right_hand_traffic,"default")) ||
|
|---|
| 1447 | ((prop(oneway_type,"default")=1) && (!prop(style_right_hand_traffic,"default")))
|
|---|
| 1448 | ));
|
|---|
| 1449 |
|
|---|
| 1450 | temp_allow_cycleway_right: eval(prop(temp_allow_cycleway_right) || (has_tag_key("oneway:bicycle") && (tag("oneway:bicycle")="no")));
|
|---|
| 1451 | /* Explicitely no cycletrack on the right side? */
|
|---|
| 1452 | temp_allow_cycleway_right: eval((has_tag_key("cycleway:right") && (tag("cycleway:right")="no"))?false:prop(temp_allow_cycleway_right));
|
|---|
| 1453 | /* Cycletrack on the right side */
|
|---|
| 1454 | temp_cycleway_right: eval(((has_tag_key(cycleway) && ((tag(cycleway)="track") && prop(temp_allow_cycleway_right))) ||
|
|---|
| 1455 | (has_tag_key("cycleway:right") && (tag("cycleway:right")="track"))) ||
|
|---|
| 1456 | (has_tag_key("cycleway:both") && (tag("cycleway:both")="track"))
|
|---|
| 1457 | );
|
|---|
| 1458 |
|
|---|
| 1459 | /* Sidewalk on the right side? */
|
|---|
| 1460 | tempr: eval((has_tag_key(sidewalk) && ((tag(sidewalk)="both") || (tag(sidewalk)="right")))?1:0);
|
|---|
| 1461 |
|
|---|
| 1462 | /* Combine sidewalk and cycletrack: 0=none; 1=sidewalk; 2=cycletrack; 3=sidewalk and cycletrack */
|
|---|
| 1463 | tempr: eval(prop(tempr)+(prop(temp_cycleway_right)?2:0));
|
|---|
| 1464 |
|
|---|
| 1465 |
|
|---|
| 1466 | left-casing-linecap: none;
|
|---|
| 1467 | left-casing-width: eval((prop(templ)>0)?(prop(lane_default_width,"default")/2):0);
|
|---|
| 1468 | left-casing-color: eval(get(prop(style_sidewalk_color,"default"),prop(templ)));
|
|---|
| 1469 | left-casing-opacity: prop(style_ground_opacity,"default");
|
|---|
| 1470 |
|
|---|
| 1471 | right-casing-linecap: none;
|
|---|
| 1472 | right-casing-width: eval((prop(tempr)>0)?(prop(lane_default_width,"default")/2):0);
|
|---|
| 1473 | right-casing-color: eval(get(prop(style_sidewalk_color,"default"),prop(tempr)));
|
|---|
| 1474 | right-casing-opacity: prop(style_ground_opacity,"default");
|
|---|
| 1475 | }
|
|---|
| 1476 |
|
|---|
| 1477 | /***************************************************************************************************************************************************/
|
|---|
| 1478 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1479 | /* Render the lanes */
|
|---|
| 1480 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1481 | /***************************************************************************************************************************************************/
|
|---|
| 1482 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1483 | /* Forward lanes */
|
|---|
| 1484 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1485 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 0]::Lane_Forward_1
|
|---|
| 1486 | {
|
|---|
| 1487 | offset: eval(prop(lane_offset_forward_1,"default"));
|
|---|
| 1488 | width: eval((prop(lane_width_forward_1,"default")-prop(lane_casing,"default")));
|
|---|
| 1489 | right-casing-dashes: eval(prop(change_forward_1_right,"default"));
|
|---|
| 1490 | left-casing-dashes: eval(prop(change_forward_1_left,"default"));
|
|---|
| 1491 | turn_matrix_scaling: eval(is_prop_set(turn_forward_1,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1492 |
|
|---|
| 1493 | opacity: 0.0; linecap: none;
|
|---|
| 1494 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1495 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1496 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1497 | }
|
|---|
| 1498 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 0]::Lane_Forward_1_Color
|
|---|
| 1499 | {
|
|---|
| 1500 | offset: eval(prop(lane_offset_forward_1,"default"));
|
|---|
| 1501 | width: eval(prop(lane_width_forward_1,"default"));
|
|---|
| 1502 | color: prop(color_forward_1,"default");
|
|---|
| 1503 | dashes: eval(is_prop_set(designated_color_forward_1,"default")?list(20,20):prop(unset_property));
|
|---|
| 1504 | dashes-background-color: eval(is_prop_set(designated_color_forward_1,"default")?
|
|---|
| 1505 | prop(designated_color_forward_1,"default"):prop(unset_property));
|
|---|
| 1506 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1507 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1508 | }
|
|---|
| 1509 |
|
|---|
| 1510 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 1]::Lane_Forward_2
|
|---|
| 1511 | {
|
|---|
| 1512 | offset: eval(prop(lane_offset_forward_2,"default"));
|
|---|
| 1513 | width: eval((prop(lane_width_forward_2,"default")-prop(lane_casing,"default")));
|
|---|
| 1514 | right-casing-dashes: eval(prop(change_forward_2_right,"default"));
|
|---|
| 1515 | left-casing-dashes: eval(prop(change_forward_2_left,"default"));
|
|---|
| 1516 | turn_matrix_scaling: eval(is_prop_set(turn_forward_2,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1517 |
|
|---|
| 1518 | opacity: 0.0; linecap: none;
|
|---|
| 1519 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1520 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1521 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1522 | }
|
|---|
| 1523 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 1]::Lane_Forward_2_Color
|
|---|
| 1524 | {
|
|---|
| 1525 | offset: eval(prop(lane_offset_forward_2,"default"));
|
|---|
| 1526 | width: eval(prop(lane_width_forward_2,"default"));
|
|---|
| 1527 | color: prop(color_forward_2,"default");
|
|---|
| 1528 | dashes: eval(is_prop_set(designated_color_forward_2,"default")?list(20,20):prop(unset_property));
|
|---|
| 1529 | dashes-background-color: eval(is_prop_set(designated_color_forward_2,"default")?
|
|---|
| 1530 | prop(designated_color_forward_2,"default"):prop(unset_property));
|
|---|
| 1531 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1532 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1533 | }
|
|---|
| 1534 |
|
|---|
| 1535 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 2]::Lane_Forward_3
|
|---|
| 1536 | {
|
|---|
| 1537 | offset: eval(prop(lane_offset_forward_3,"default"));
|
|---|
| 1538 | width: eval((prop(lane_width_forward_3,"default")-prop(lane_casing,"default")));
|
|---|
| 1539 | right-casing-dashes: eval(prop(change_forward_3_right,"default"));
|
|---|
| 1540 | left-casing-dashes: eval(prop(change_forward_3_left,"default"));
|
|---|
| 1541 | turn_matrix_scaling: eval(is_prop_set(turn_forward_3,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1542 |
|
|---|
| 1543 | opacity: 0.0; linecap: none;
|
|---|
| 1544 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1545 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1546 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1547 | }
|
|---|
| 1548 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 2]::Lane_Forward_3_Color
|
|---|
| 1549 | {
|
|---|
| 1550 | offset: eval(prop(lane_offset_forward_3,"default"));
|
|---|
| 1551 | width: eval(prop(lane_width_forward_3,"default"));
|
|---|
| 1552 | color: prop(color_forward_3,"default");
|
|---|
| 1553 | dashes: eval(is_prop_set(designated_color_forward_3,"default")?list(20,20):prop(unset_property));
|
|---|
| 1554 | dashes-background-color: eval(is_prop_set(designated_color_forward_3,"default")?
|
|---|
| 1555 | prop(designated_color_forward_3,"default"):prop(unset_property));
|
|---|
| 1556 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1557 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1558 | }
|
|---|
| 1559 |
|
|---|
| 1560 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 3]::Lane_Forward_4
|
|---|
| 1561 | {
|
|---|
| 1562 | offset: eval(prop(lane_offset_forward_4,"default"));
|
|---|
| 1563 | width: eval((prop(lane_width_forward_4,"default")-prop(lane_casing,"default")));
|
|---|
| 1564 | right-casing-dashes: eval(prop(change_forward_4_right,"default"));
|
|---|
| 1565 | left-casing-dashes: eval(prop(change_forward_4_left,"default"));
|
|---|
| 1566 | turn_matrix_scaling: eval(is_prop_set(turn_forward_4,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1567 | opacity: 0.0; linecap: none;
|
|---|
| 1568 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1569 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1570 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1571 | }
|
|---|
| 1572 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 3]::Lane_Forward_4_Color
|
|---|
| 1573 | {
|
|---|
| 1574 | offset: eval(prop(lane_offset_forward_4,"default"));
|
|---|
| 1575 | width: eval(prop(lane_width_forward_4,"default"));
|
|---|
| 1576 | color: prop(color_forward_4,"default");
|
|---|
| 1577 | dashes: eval(is_prop_set(designated_color_forward_4,"default")?list(20,20):prop(unset_property));
|
|---|
| 1578 | dashes-background-color: eval(is_prop_set(designated_color_forward_4,"default")?
|
|---|
| 1579 | prop(designated_color_forward_4,"default"):prop(unset_property));
|
|---|
| 1580 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1581 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1582 | }
|
|---|
| 1583 |
|
|---|
| 1584 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 4]::Lane_Forward_5
|
|---|
| 1585 | {
|
|---|
| 1586 | offset: eval(prop(lane_offset_forward_5,"default"));
|
|---|
| 1587 | width: eval((prop(lane_width_forward_5,"default")-prop(lane_casing,"default")));
|
|---|
| 1588 | right-casing-dashes: eval(prop(change_forward_5_right,"default"));
|
|---|
| 1589 | left-casing-dashes: eval(prop(change_forward_5_left,"default"));
|
|---|
| 1590 | turn_matrix_scaling: eval(is_prop_set(turn_forward_5,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1591 |
|
|---|
| 1592 | opacity: 0.0; linecap: none;
|
|---|
| 1593 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1594 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1595 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1596 | }
|
|---|
| 1597 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 4]::Lane_Forward_5_Color
|
|---|
| 1598 | {
|
|---|
| 1599 | offset: eval(prop(lane_offset_forward_5,"default"));
|
|---|
| 1600 | width: eval(prop(lane_width_forward_5,"default"));
|
|---|
| 1601 | color: prop(color_forward_5,"default");
|
|---|
| 1602 | dashes: eval(is_prop_set(designated_color_forward_5,"default")?list(20,20):prop(unset_property));
|
|---|
| 1603 | dashes-background-color: eval(is_prop_set(designated_color_forward_5,"default")?
|
|---|
| 1604 | prop(designated_color_forward_5,"default"):prop(unset_property));
|
|---|
| 1605 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1606 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1607 | }
|
|---|
| 1608 |
|
|---|
| 1609 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 5]::Lane_Forward_6
|
|---|
| 1610 | {
|
|---|
| 1611 | offset: eval(prop(lane_offset_forward_6,"default"));
|
|---|
| 1612 | width: eval((prop(lane_width_forward_6,"default")-prop(lane_casing,"default")));
|
|---|
| 1613 | right-casing-dashes: eval(prop(change_forward_6_right,"default"));
|
|---|
| 1614 | left-casing-dashes: eval(prop(change_forward_6_left,"default"));
|
|---|
| 1615 | turn_matrix_scaling: eval(is_prop_set(turn_forward_6,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1616 |
|
|---|
| 1617 | opacity: 0.0; linecap: none;
|
|---|
| 1618 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1619 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1620 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1621 | }
|
|---|
| 1622 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 5]::Lane_Forward_6_Color
|
|---|
| 1623 | {
|
|---|
| 1624 | offset: eval(prop(lane_offset_forward_6,"default"));
|
|---|
| 1625 | width: eval(prop(lane_width_forward_6,"default"));
|
|---|
| 1626 | color: prop(color_forward_6,"default");
|
|---|
| 1627 | dashes: eval(is_prop_set(designated_color_forward_6,"default")?list(20,20):prop(unset_property));
|
|---|
| 1628 | dashes-background-color: eval(is_prop_set(designated_color_forward_6,"default")?
|
|---|
| 1629 | prop(designated_color_forward_6,"default"):prop(unset_property));
|
|---|
| 1630 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1631 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1632 | }
|
|---|
| 1633 |
|
|---|
| 1634 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 6]::Lane_Forward_7
|
|---|
| 1635 | {
|
|---|
| 1636 | offset: eval(prop(lane_offset_forward_7,"default"));
|
|---|
| 1637 | width: eval((prop(lane_width_forward_7,"default")-prop(lane_casing,"default")));
|
|---|
| 1638 | right-casing-dashes: eval(prop(change_forward_7_right,"default"));
|
|---|
| 1639 | left-casing-dashes: eval(prop(change_forward_7_left,"default"));
|
|---|
| 1640 | turn_matrix_scaling: eval(is_prop_set(turn_forward_7,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1641 |
|
|---|
| 1642 | opacity: 0.0; linecap: none;
|
|---|
| 1643 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1644 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1645 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1646 | }
|
|---|
| 1647 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 6]::Lane_Forward_7_Color
|
|---|
| 1648 | {
|
|---|
| 1649 | offset: eval(prop(lane_offset_forward_7,"default"));
|
|---|
| 1650 | width: eval(prop(lane_width_forward_7,"default"));
|
|---|
| 1651 | color: prop(color_forward_7,"default");
|
|---|
| 1652 | dashes: eval(is_prop_set(designated_color_forward_7,"default")?list(20,20):prop(unset_property));
|
|---|
| 1653 | dashes-background-color: eval(is_prop_set(designated_color_forward_7,"default")?
|
|---|
| 1654 | prop(designated_color_forward_7,"default"):prop(unset_property));
|
|---|
| 1655 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1656 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1657 | }
|
|---|
| 1658 |
|
|---|
| 1659 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 7]::Lane_Forward_8
|
|---|
| 1660 | {
|
|---|
| 1661 | offset: eval(prop(lane_offset_forward_8,"default"));
|
|---|
| 1662 | width: eval((prop(lane_width_forward_8,"default")-prop(lane_casing,"default")));
|
|---|
| 1663 | right-casing-dashes: eval(prop(change_forward_8_right,"default"));
|
|---|
| 1664 | left-casing-dashes: eval(prop(change_forward_8_left,"default"));
|
|---|
| 1665 | turn_matrix_scaling: eval(is_prop_set(turn_forward_8,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1666 |
|
|---|
| 1667 | opacity: 0.0; linecap: none;
|
|---|
| 1668 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1669 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1670 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1671 | }
|
|---|
| 1672 | way|z17-[is_prop_set(ok, "default")][prop(lanes_fwd, "default") > 7]::Lane_Forward_8_Color
|
|---|
| 1673 | {
|
|---|
| 1674 | offset: eval(prop(lane_offset_forward_8,"default"));
|
|---|
| 1675 | width: eval(prop(lane_width_forward_8,"default"));
|
|---|
| 1676 | color: prop(color_forward_8,"default");
|
|---|
| 1677 | dashes: eval(is_prop_set(designated_color_forward_8,"default")?list(20,20):prop(unset_property));
|
|---|
| 1678 | dashes-background-color: eval(is_prop_set(designated_color_forward_8,"default")?
|
|---|
| 1679 | prop(designated_color_forward_8,"default"):prop(unset_property));
|
|---|
| 1680 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1681 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1682 | }
|
|---|
| 1683 |
|
|---|
| 1684 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1685 | /* Backward lanes */
|
|---|
| 1686 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1687 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 0]::Lane_Backward_1
|
|---|
| 1688 | {
|
|---|
| 1689 | offset: eval(prop(lane_offset_backward_1,"default"));
|
|---|
| 1690 | width: eval((prop(lane_width_backward_1,"default")-prop(lane_casing,"default")));
|
|---|
| 1691 | left-casing-dashes: eval(prop(change_backward_1_right,"default"));
|
|---|
| 1692 | right-casing-dashes: eval(prop(change_backward_1_left,"default"));
|
|---|
| 1693 | turn_matrix_scaling: eval(is_prop_set(turn_backward_1,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1694 |
|
|---|
| 1695 | opacity: 0.0; linecap: none;
|
|---|
| 1696 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1697 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1698 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1699 | }
|
|---|
| 1700 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 0]::Lane_Backward_1_Color
|
|---|
| 1701 | {
|
|---|
| 1702 | offset: eval(prop(lane_offset_backward_1,"default"));
|
|---|
| 1703 | width: eval(prop(lane_width_backward_1,"default"));
|
|---|
| 1704 | color: prop(color_backward_1,"default");
|
|---|
| 1705 | dashes: eval(is_prop_set(designated_color_backward_1,"default")?list(20,20):prop(unset_property));
|
|---|
| 1706 | dashes-background-color: eval(is_prop_set(designated_color_backward_1,"default")?
|
|---|
| 1707 | prop(designated_color_backward_1,"default"):prop(unset_property));
|
|---|
| 1708 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1709 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1710 | }
|
|---|
| 1711 |
|
|---|
| 1712 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 1]::Lane_Backward_2
|
|---|
| 1713 | {
|
|---|
| 1714 | offset: eval(prop(lane_offset_backward_2,"default"));
|
|---|
| 1715 | width: eval((prop(lane_width_backward_2,"default")-prop(lane_casing,"default")));
|
|---|
| 1716 | left-casing-dashes: eval(prop(change_backward_2_right,"default"));
|
|---|
| 1717 | right-casing-dashes: eval(prop(change_backward_2_left,"default"));
|
|---|
| 1718 | turn_matrix_scaling: eval(is_prop_set(turn_backward_2,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1719 |
|
|---|
| 1720 | opacity: 0.0; linecap: none;
|
|---|
| 1721 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1722 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1723 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1724 | }
|
|---|
| 1725 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 1]::Lane_Backward_2_Color
|
|---|
| 1726 | {
|
|---|
| 1727 | offset: eval(prop(lane_offset_backward_2,"default"));
|
|---|
| 1728 | width: eval(prop(lane_width_backward_2,"default"));
|
|---|
| 1729 | color: prop(color_backward_2,"default");
|
|---|
| 1730 | dashes: eval(is_prop_set(designated_color_backward_2,"default")?list(20,20):prop(unset_property));
|
|---|
| 1731 | dashes-background-color: eval(is_prop_set(designated_color_backward_2,"default")?
|
|---|
| 1732 | prop(designated_color_backward_2,"default"):prop(unset_property));
|
|---|
| 1733 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1734 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1735 | }
|
|---|
| 1736 |
|
|---|
| 1737 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 2]::Lane_Backward_3
|
|---|
| 1738 | {
|
|---|
| 1739 | offset: eval(prop(lane_offset_backward_3,"default"));
|
|---|
| 1740 | width: eval((prop(lane_width_backward_3,"default")-prop(lane_casing,"default")));
|
|---|
| 1741 | left-casing-dashes: eval(prop(change_backward_3_right,"default"));
|
|---|
| 1742 | right-casing-dashes: eval(prop(change_backward_3_left,"default"));
|
|---|
| 1743 | turn_matrix_scaling: eval(is_prop_set(turn_backward_3,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1744 |
|
|---|
| 1745 | opacity: 0.0; linecap: none;
|
|---|
| 1746 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1747 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1748 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1749 | }
|
|---|
| 1750 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 2]::Lane_Backward_3_Color
|
|---|
| 1751 | {
|
|---|
| 1752 | offset: eval(prop(lane_offset_backward_3,"default"));
|
|---|
| 1753 | width: eval(prop(lane_width_backward_3,"default"));
|
|---|
| 1754 | color: prop(color_backward_3,"default");
|
|---|
| 1755 | dashes: eval(is_prop_set(designated_color_backward_3,"default")?list(20,20):prop(unset_property));
|
|---|
| 1756 | dashes-background-color: eval(is_prop_set(designated_color_backward_3,"default")?
|
|---|
| 1757 | prop(designated_color_backward_3,"default"):prop(unset_property));
|
|---|
| 1758 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1759 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1760 | }
|
|---|
| 1761 |
|
|---|
| 1762 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 3]::Lane_Backward_4
|
|---|
| 1763 | {
|
|---|
| 1764 | offset: eval(prop(lane_offset_backward_4,"default"));
|
|---|
| 1765 | width: eval((prop(lane_width_backward_4,"default")-prop(lane_casing,"default")));
|
|---|
| 1766 | left-casing-dashes: eval(prop(change_backward_4_right,"default"));
|
|---|
| 1767 | right-casing-dashes: eval(prop(change_backward_4_left,"default"));
|
|---|
| 1768 | turn_matrix_scaling: eval(is_prop_set(turn_backward_4,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1769 |
|
|---|
| 1770 | opacity: 0.0; linecap: none;
|
|---|
| 1771 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1772 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1773 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1774 | }
|
|---|
| 1775 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 3]::Lane_Backward_4_Color
|
|---|
| 1776 | {
|
|---|
| 1777 | offset: eval(prop(lane_offset_backward_4,"default"));
|
|---|
| 1778 | width: eval(prop(lane_width_backward_4,"default"));
|
|---|
| 1779 | color: prop(color_backward_4,"default");
|
|---|
| 1780 | dashes: eval(is_prop_set(designated_color_backward_4,"default")?list(20,20):prop(unset_property));
|
|---|
| 1781 | dashes-background-color: eval(is_prop_set(designated_color_backward_4,"default")?
|
|---|
| 1782 | prop(designated_color_backward_4,"default"):prop(unset_property));
|
|---|
| 1783 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1784 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1785 | }
|
|---|
| 1786 |
|
|---|
| 1787 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 4]::Lane_Backward_5
|
|---|
| 1788 | {
|
|---|
| 1789 | offset: eval(prop(lane_offset_backward_5,"default"));
|
|---|
| 1790 | width: eval((prop(lane_width_backward_5,"default")-prop(lane_casing,"default")));
|
|---|
| 1791 | left-casing-dashes: eval(prop(change_backward_5_right,"default"));
|
|---|
| 1792 | right-casing-dashes: eval(prop(change_backward_5_left,"default"));
|
|---|
| 1793 | turn_matrix_scaling: eval(is_prop_set(turn_backward_5,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1794 |
|
|---|
| 1795 | opacity: 0.0; linecap: none;
|
|---|
| 1796 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1797 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1798 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1799 | }
|
|---|
| 1800 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 4]::Lane_Backward_5_Color
|
|---|
| 1801 | {
|
|---|
| 1802 | offset: eval(prop(lane_offset_backward_5,"default"));
|
|---|
| 1803 | width: eval(prop(lane_width_backward_5,"default"));
|
|---|
| 1804 | color: prop(color_backward_5,"default");
|
|---|
| 1805 | dashes: eval(is_prop_set(designated_color_backward_5,"default")?list(20,20):prop(unset_property));
|
|---|
| 1806 | dashes-background-color: eval(is_prop_set(designated_color_backward_5,"default")?
|
|---|
| 1807 | prop(designated_color_backward_5,"default"):prop(unset_property));
|
|---|
| 1808 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1809 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1810 | }
|
|---|
| 1811 |
|
|---|
| 1812 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 5]::Lane_Backward_6
|
|---|
| 1813 | {
|
|---|
| 1814 | offset: eval(prop(lane_offset_backward_6,"default"));
|
|---|
| 1815 | width: eval((prop(lane_width_backward_6,"default")-prop(lane_casing,"default")));
|
|---|
| 1816 | left-casing-dashes: eval(prop(change_backward_6_right,"default"));
|
|---|
| 1817 | right-casing-dashes: eval(prop(change_backward_6_left,"default"));
|
|---|
| 1818 | turn_matrix_scaling: eval(is_prop_set(turn_backward_6,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1819 |
|
|---|
| 1820 | opacity: 0.0; linecap: none;
|
|---|
| 1821 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1822 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1823 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1824 | }
|
|---|
| 1825 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 5]::Lane_Backward_6_Color
|
|---|
| 1826 | {
|
|---|
| 1827 | offset: eval(prop(lane_offset_backward_6,"default"));
|
|---|
| 1828 | width: eval(prop(lane_width_backward_6,"default"));
|
|---|
| 1829 | color: prop(color_backward_6,"default");
|
|---|
| 1830 | dashes: eval(is_prop_set(designated_color_backward_6,"default")?list(20,20):prop(unset_property));
|
|---|
| 1831 | dashes-background-color: eval(is_prop_set(designated_color_backward_6,"default")?
|
|---|
| 1832 | prop(designated_color_backward_6,"default"):prop(unset_property));
|
|---|
| 1833 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1834 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1835 | }
|
|---|
| 1836 |
|
|---|
| 1837 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 6]::Lane_Backward_7
|
|---|
| 1838 | {
|
|---|
| 1839 | offset: eval(prop(lane_offset_backward_7,"default"));
|
|---|
| 1840 | width: eval((prop(lane_width_backward_7,"default")-prop(lane_casing,"default")));
|
|---|
| 1841 | left-casing-dashes: eval(prop(change_backward_7_right,"default"));
|
|---|
| 1842 | right-casing-dashes: eval(prop(change_backward_7_left,"default"));
|
|---|
| 1843 | turn_matrix_scaling: eval(is_prop_set(turn_backward_7,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1844 |
|
|---|
| 1845 | opacity: 0.0; linecap: none;
|
|---|
| 1846 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1847 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1848 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1849 | }
|
|---|
| 1850 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 6]::Lane_Backward_7_Color
|
|---|
| 1851 | {
|
|---|
| 1852 | offset: eval(prop(lane_offset_backward_7,"default"));
|
|---|
| 1853 | width: eval(prop(lane_width_backward_7,"default"));
|
|---|
| 1854 | color: prop(color_backward_7,"default");
|
|---|
| 1855 | dashes: eval(is_prop_set(designated_color_backward_7,"default")?list(20,20):prop(unset_property));
|
|---|
| 1856 | dashes-background-color: eval(is_prop_set(designated_color_backward_7,"default")?
|
|---|
| 1857 | prop(designated_color_backward_7,"default"):prop(unset_property));
|
|---|
| 1858 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1859 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1860 | }
|
|---|
| 1861 |
|
|---|
| 1862 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 7]::Lane_Backward_8
|
|---|
| 1863 | {
|
|---|
| 1864 | offset: eval(prop(lane_offset_backward_8,"default"));
|
|---|
| 1865 | width: eval((prop(lane_width_backward_8,"default")-prop(lane_casing,"default")));
|
|---|
| 1866 | left-casing-dashes: eval(prop(change_backward_8_right,"default"));
|
|---|
| 1867 | right-casing-dashes: eval(prop(change_backward_8_left,"default"));
|
|---|
| 1868 | turn_matrix_scaling: eval(is_prop_set(turn_backward_8,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1869 |
|
|---|
| 1870 | opacity: 0.0; linecap: none;
|
|---|
| 1871 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1872 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1873 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1874 | }
|
|---|
| 1875 | way|z17-[is_prop_set(ok, "default")][prop(lanes_bwd, "default") > 7]::Lane_Backward_8_Color
|
|---|
| 1876 | {
|
|---|
| 1877 | offset: eval(prop(lane_offset_backward_8,"default"));
|
|---|
| 1878 | width: eval(prop(lane_width_backward_8,"default"));
|
|---|
| 1879 | color: prop(color_backward_8,"default");
|
|---|
| 1880 | dashes: eval(is_prop_set(designated_color_backward_8,"default")?list(20,20):prop(unset_property));
|
|---|
| 1881 | dashes-background-color: eval(is_prop_set(designated_color_backward_8,"default")?
|
|---|
| 1882 | prop(designated_color_backward_8,"default"):prop(unset_property));
|
|---|
| 1883 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1884 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1885 | }
|
|---|
| 1886 |
|
|---|
| 1887 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1888 | /* Bothways lanes */
|
|---|
| 1889 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1890 | way|z17-[is_prop_set(ok, "default")][prop(lanes_both, "default") > 0]::Lane_Bothways_1
|
|---|
| 1891 | {
|
|---|
| 1892 | offset: eval(prop(lane_offset_bothways_1,"default"));
|
|---|
| 1893 | width: eval((prop(lane_width_bothways_1,"default")-prop(lane_casing,"default")));
|
|---|
| 1894 | right-casing-dashes: eval(prop(change_bothways_1_right,"default"));
|
|---|
| 1895 | left-casing-dashes: eval(prop(change_bothways_1_left,"default"));
|
|---|
| 1896 | turn_matrix_scaling: eval(is_prop_set(turn_bothways_1,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1897 |
|
|---|
| 1898 | opacity: 0.0; linecap: none;
|
|---|
| 1899 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1900 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1901 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1902 | }
|
|---|
| 1903 | way|z17-[is_prop_set(ok, "default")][prop(lanes_both, "default") > 0]::Lane_Bothways_1_Color
|
|---|
| 1904 | {
|
|---|
| 1905 | offset: eval(prop(lane_offset_bothways_1,"default"));
|
|---|
| 1906 | width: eval(prop(lane_width_bothways_1,"default"));
|
|---|
| 1907 | color: prop(color_bothways_1,"default");
|
|---|
| 1908 | dashes: eval(is_prop_set(designated_color_bothways_1,"default")?list(20,20):prop(unset_property));
|
|---|
| 1909 | dashes-background-color: eval(is_prop_set(designated_color_bothways_1,"default")?
|
|---|
| 1910 | prop(designated_color_bothways_1,"default"):prop(unset_property));
|
|---|
| 1911 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1912 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1913 | }
|
|---|
| 1914 |
|
|---|
| 1915 | way|z17-[is_prop_set(ok, "default")][prop(lanes_both, "default") > 1]::Lane_Bothways_2
|
|---|
| 1916 | {
|
|---|
| 1917 | offset: eval(prop(lane_offset_bothways_2,"default"));
|
|---|
| 1918 | width: eval((prop(lane_width_bothways_2,"default")-prop(lane_casing,"default")));
|
|---|
| 1919 | right-casing-dashes: eval(prop(change_bothways_2_right,"default"));
|
|---|
| 1920 | left-casing-dashes: eval(prop(change_bothways_2_left,"default"));
|
|---|
| 1921 | turn_matrix_scaling: eval(is_prop_set(turn_bothways_2,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1922 |
|
|---|
| 1923 | opacity: 0.0; linecap: none;
|
|---|
| 1924 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1925 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1926 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1927 | }
|
|---|
| 1928 | way|z17-[is_prop_set(ok, "default")][prop(lanes_both, "default") > 1]::Lane_Bothways_2_Color
|
|---|
| 1929 | {
|
|---|
| 1930 | offset: eval(prop(lane_offset_bothways_2,"default"));
|
|---|
| 1931 | width: eval(prop(lane_width_bothways_2,"default"));
|
|---|
| 1932 | color: prop(color_bothways_2,"default");
|
|---|
| 1933 | dashes: eval(is_prop_set(designated_color_bothways_2,"default")?list(20,20):prop(unset_property));
|
|---|
| 1934 | dashes-background-color: eval(is_prop_set(designated_color_bothways_2,"default")?
|
|---|
| 1935 | prop(designated_color_bothways_2,"default"):prop(unset_property));
|
|---|
| 1936 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1937 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1938 | }
|
|---|
| 1939 |
|
|---|
| 1940 | way|z17-[is_prop_set(ok, "default")][prop(lanes_both, "default") > 2]::Lane_Bothways_3
|
|---|
| 1941 | {
|
|---|
| 1942 | offset: eval(prop(lane_offset_bothways_3,"default"));
|
|---|
| 1943 | width: eval((prop(lane_width_bothways_3,"default")-prop(lane_casing,"default")));
|
|---|
| 1944 | right-casing-dashes: eval(prop(change_bothways_3_right,"default"));
|
|---|
| 1945 | left-casing-dashes: eval(prop(change_bothways_3_left,"default"));
|
|---|
| 1946 | turn_matrix_scaling: eval(is_prop_set(turn_bothways_3,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1947 |
|
|---|
| 1948 | opacity: 0.0; linecap: none;
|
|---|
| 1949 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1950 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1951 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1952 | }
|
|---|
| 1953 | way|z17-[is_prop_set(ok, "default")][prop(lanes_both, "default") > 2]::Lane_Bothways_3_Color
|
|---|
| 1954 | {
|
|---|
| 1955 | offset: eval(prop(lane_offset_bothways_3,"default"));
|
|---|
| 1956 | width: eval(prop(lane_width_bothways_3,"default"));
|
|---|
| 1957 | color: prop(color_bothways_3,"default");
|
|---|
| 1958 | dashes: eval(is_prop_set(designated_color_bothways_3,"default")?list(20,20):prop(unset_property));
|
|---|
| 1959 | dashes-background-color: eval(is_prop_set(designated_color_bothways_3,"default")?
|
|---|
| 1960 | prop(designated_color_bothways_3,"default"):prop(unset_property));
|
|---|
| 1961 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1962 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1963 | }
|
|---|
| 1964 |
|
|---|
| 1965 | way|z17-[is_prop_set(ok, "default")][prop(lanes_both, "default") > 3]::Lane_Bothways_4
|
|---|
| 1966 | {
|
|---|
| 1967 | offset: eval(prop(lane_offset_bothways_4,"default"));
|
|---|
| 1968 | width: eval((prop(lane_width_bothways_4,"default")-prop(lane_casing,"default")));
|
|---|
| 1969 | right-casing-dashes: eval(prop(change_bothways_4_right,"default"));
|
|---|
| 1970 | left-casing-dashes: eval(prop(change_bothways_4_left,"default"));
|
|---|
| 1971 | turn_matrix_scaling: eval(is_prop_set(turn_bothways_4,"default")?floor(min(prop(lane_default_width,"default"),prop(width))/9):0);
|
|---|
| 1972 |
|
|---|
| 1973 | opacity: 0.0; linecap: none;
|
|---|
| 1974 | right-casing-width: prop(road_marking_width,"default"); right-casing-color: white; right-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1975 | left-casing-width: prop(road_marking_width,"default"); left-casing-color: white; left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 1976 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0));
|
|---|
| 1977 | }
|
|---|
| 1978 | way|z17-[is_prop_set(ok, "default")][prop(lanes_both, "default") > 3]::Lane_Bothways_4_Color
|
|---|
| 1979 | {
|
|---|
| 1980 | offset: eval(prop(lane_offset_bothways_4,"default"));
|
|---|
| 1981 | width: eval(prop(lane_width_bothways_4,"default"));
|
|---|
| 1982 | color: prop(color_bothways_4,"default");
|
|---|
| 1983 | dashes: eval(is_prop_set(designated_color_bothways_4,"default")?list(20,20):prop(unset_property));
|
|---|
| 1984 | dashes-background-color: eval(is_prop_set(designated_color_bothways_4,"default")?
|
|---|
| 1985 | prop(designated_color_bothways_4,"default"):prop(unset_property));
|
|---|
| 1986 | opacity: prop(style_lane_opacity,"default"); linecap: none;
|
|---|
| 1987 | major-z-index: eval(cond(prop(placement_transition,"default"),-0.1,0.0)); object-z-index: -0.1;
|
|---|
| 1988 | }
|
|---|
| 1989 |
|
|---|
| 1990 | /***************************************************************************************************************************************************/
|
|---|
| 1991 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1992 | /* Ugly hack for turn lanes */
|
|---|
| 1993 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1994 | /***************************************************************************************************************************************************/
|
|---|
| 1995 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1996 | /* Forward lanes */
|
|---|
| 1997 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 1998 | way[prop(turn_matrix_scaling,"Lane_Forward_1")>0]::Lane_Turn_M1_Forward_1
|
|---|
| 1999 | {
|
|---|
| 2000 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_1");
|
|---|
| 2001 | offset: eval(prop(offset,"Lane_Forward_1")+(3*prop(t_m_s)));
|
|---|
| 2002 | temp: eval(get(prop(turn_forward_1,"default"),0)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2003 | temp: eval(get(prop(turn_forward_1,"default"),1)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2004 | temp: eval(get(prop(turn_forward_1,"default"),2)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2005 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2006 | }
|
|---|
| 2007 | way[prop(turn_matrix_scaling,"Lane_Forward_1")>0]::Lane_Turn_M2_Forward_1
|
|---|
| 2008 | {
|
|---|
| 2009 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_1");
|
|---|
| 2010 | offset: eval(prop(offset,"Lane_Forward_1")+(0*prop(t_m_s)));
|
|---|
| 2011 | temp: eval(get(prop(turn_forward_1,"default"),3)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2012 | temp: eval(get(prop(turn_forward_1,"default"),4)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2013 | temp: eval(get(prop(turn_forward_1,"default"),5)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2014 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2015 | }
|
|---|
| 2016 | way[prop(turn_matrix_scaling,"Lane_Forward_1")>0]::Lane_Turn_M3_Forward_1
|
|---|
| 2017 | {
|
|---|
| 2018 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_1");
|
|---|
| 2019 | offset: eval(prop(offset,"Lane_Forward_1")-(3*prop(t_m_s)));
|
|---|
| 2020 | temp: eval(get(prop(turn_forward_1,"default"),6)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2021 | temp: eval(get(prop(turn_forward_1,"default"),7)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2022 | temp: eval(get(prop(turn_forward_1,"default"),8)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2023 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2024 | }
|
|---|
| 2025 |
|
|---|
| 2026 | way[prop(turn_matrix_scaling,"Lane_Forward_2")>0]::Lane_Turn_M1_Forward_2
|
|---|
| 2027 | {
|
|---|
| 2028 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_2");
|
|---|
| 2029 | offset: eval(prop(offset,"Lane_Forward_2")+(3*prop(t_m_s)));
|
|---|
| 2030 | temp: eval(get(prop(turn_forward_2,"default"),0)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2031 | temp: eval(get(prop(turn_forward_2,"default"),1)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2032 | temp: eval(get(prop(turn_forward_2,"default"),2)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2033 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2034 | }
|
|---|
| 2035 | way[prop(turn_matrix_scaling,"Lane_Forward_2")>0]::Lane_Turn_M2_Forward_2
|
|---|
| 2036 | {
|
|---|
| 2037 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_2");
|
|---|
| 2038 | offset: eval(prop(offset,"Lane_Forward_2")+(0*prop(t_m_s)));
|
|---|
| 2039 | temp: eval(get(prop(turn_forward_2,"default"),3)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2040 | temp: eval(get(prop(turn_forward_2,"default"),4)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2041 | temp: eval(get(prop(turn_forward_2,"default"),5)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2042 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2043 | }
|
|---|
| 2044 | way[prop(turn_matrix_scaling,"Lane_Forward_2")>0]::Lane_Turn_M3_Forward_2
|
|---|
| 2045 | {
|
|---|
| 2046 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_2");
|
|---|
| 2047 | offset: eval(prop(offset,"Lane_Forward_2")-(3*prop(t_m_s)));
|
|---|
| 2048 | temp: eval(get(prop(turn_forward_2,"default"),6)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2049 | temp: eval(get(prop(turn_forward_2,"default"),7)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2050 | temp: eval(get(prop(turn_forward_2,"default"),8)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2051 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2052 | }
|
|---|
| 2053 |
|
|---|
| 2054 | way[prop(turn_matrix_scaling,"Lane_Forward_3")>0]::Lane_Turn_M1_Forward_3
|
|---|
| 2055 | {
|
|---|
| 2056 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_3");
|
|---|
| 2057 | offset: eval(prop(offset,"Lane_Forward_3")+(3*prop(t_m_s)));
|
|---|
| 2058 | temp: eval(get(prop(turn_forward_3,"default"),0)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2059 | temp: eval(get(prop(turn_forward_3,"default"),1)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2060 | temp: eval(get(prop(turn_forward_3,"default"),2)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2061 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2062 | }
|
|---|
| 2063 | way[prop(turn_matrix_scaling,"Lane_Forward_3")>0]::Lane_Turn_M2_Forward_3
|
|---|
| 2064 | {
|
|---|
| 2065 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_3");
|
|---|
| 2066 | offset: eval(prop(offset,"Lane_Forward_3")+(0*prop(t_m_s)));
|
|---|
| 2067 | temp: eval(get(prop(turn_forward_3,"default"),3)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2068 | temp: eval(get(prop(turn_forward_3,"default"),4)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2069 | temp: eval(get(prop(turn_forward_3,"default"),5)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2070 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2071 | }
|
|---|
| 2072 | way[prop(turn_matrix_scaling,"Lane_Forward_3")>0]::Lane_Turn_M3_Forward_3
|
|---|
| 2073 | {
|
|---|
| 2074 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_3");
|
|---|
| 2075 | offset: eval(prop(offset,"Lane_Forward_3")-(3*prop(t_m_s)));
|
|---|
| 2076 | temp: eval(get(prop(turn_forward_3,"default"),6)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2077 | temp: eval(get(prop(turn_forward_3,"default"),7)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2078 | temp: eval(get(prop(turn_forward_3,"default"),8)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2079 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2080 | }
|
|---|
| 2081 |
|
|---|
| 2082 | way[prop(turn_matrix_scaling,"Lane_Forward_4")>0]::Lane_Turn_M1_Forward_4
|
|---|
| 2083 | {
|
|---|
| 2084 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_4");
|
|---|
| 2085 | offset: eval(prop(offset,"Lane_Forward_4")+(3*prop(t_m_s)));
|
|---|
| 2086 | temp: eval(get(prop(turn_forward_4,"default"),0)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2087 | temp: eval(get(prop(turn_forward_4,"default"),1)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2088 | temp: eval(get(prop(turn_forward_4,"default"),2)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2089 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2090 | }
|
|---|
| 2091 | way[prop(turn_matrix_scaling,"Lane_Forward_4")>0]::Lane_Turn_M2_Forward_4
|
|---|
| 2092 | {
|
|---|
| 2093 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_4");
|
|---|
| 2094 | offset: eval(prop(offset,"Lane_Forward_4")+(0*prop(t_m_s)));
|
|---|
| 2095 | temp: eval(get(prop(turn_forward_4,"default"),3)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2096 | temp: eval(get(prop(turn_forward_4,"default"),4)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2097 | temp: eval(get(prop(turn_forward_4,"default"),5)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2098 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2099 | }
|
|---|
| 2100 | way[prop(turn_matrix_scaling,"Lane_Forward_4")>0]::Lane_Turn_M3_Forward_4
|
|---|
| 2101 | {
|
|---|
| 2102 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_4");
|
|---|
| 2103 | offset: eval(prop(offset,"Lane_Forward_4")-(3*prop(t_m_s)));
|
|---|
| 2104 | temp: eval(get(prop(turn_forward_4,"default"),6)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2105 | temp: eval(get(prop(turn_forward_4,"default"),7)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2106 | temp: eval(get(prop(turn_forward_4,"default"),8)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2107 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2108 | }
|
|---|
| 2109 |
|
|---|
| 2110 | way[prop(turn_matrix_scaling,"Lane_Forward_5")>0]::Lane_Turn_M1_Forward_5
|
|---|
| 2111 | {
|
|---|
| 2112 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_5");
|
|---|
| 2113 | offset: eval(prop(offset,"Lane_Forward_5")+(3*prop(t_m_s)));
|
|---|
| 2114 | temp: eval(get(prop(turn_forward_5,"default"),0)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2115 | temp: eval(get(prop(turn_forward_5,"default"),1)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2116 | temp: eval(get(prop(turn_forward_5,"default"),2)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2117 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2118 | }
|
|---|
| 2119 | way[prop(turn_matrix_scaling,"Lane_Forward_5")>0]::Lane_Turn_M2_Forward_5
|
|---|
| 2120 | {
|
|---|
| 2121 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_5");
|
|---|
| 2122 | offset: eval(prop(offset,"Lane_Forward_5")+(0*prop(t_m_s)));
|
|---|
| 2123 | temp: eval(get(prop(turn_forward_5,"default"),3)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2124 | temp: eval(get(prop(turn_forward_5,"default"),4)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2125 | temp: eval(get(prop(turn_forward_5,"default"),5)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2126 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2127 | }
|
|---|
| 2128 | way[prop(turn_matrix_scaling,"Lane_Forward_5")>0]::Lane_Turn_M3_Forward_5
|
|---|
| 2129 | {
|
|---|
| 2130 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_5");
|
|---|
| 2131 | offset: eval(prop(offset,"Lane_Forward_5")-(3*prop(t_m_s)));
|
|---|
| 2132 | temp: eval(get(prop(turn_forward_5,"default"),6)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2133 | temp: eval(get(prop(turn_forward_5,"default"),7)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2134 | temp: eval(get(prop(turn_forward_5,"default"),8)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2135 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2136 | }
|
|---|
| 2137 |
|
|---|
| 2138 | way[prop(turn_matrix_scaling,"Lane_Forward_6")>0]::Lane_Turn_M1_Forward_6
|
|---|
| 2139 | {
|
|---|
| 2140 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_6");
|
|---|
| 2141 | offset: eval(prop(offset,"Lane_Forward_6")+(3*prop(t_m_s)));
|
|---|
| 2142 | temp: eval(get(prop(turn_forward_6,"default"),0)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2143 | temp: eval(get(prop(turn_forward_6,"default"),1)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2144 | temp: eval(get(prop(turn_forward_6,"default"),2)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2145 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2146 | }
|
|---|
| 2147 | way[prop(turn_matrix_scaling,"Lane_Forward_6")>0]::Lane_Turn_M2_Forward_6
|
|---|
| 2148 | {
|
|---|
| 2149 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_6");
|
|---|
| 2150 | offset: eval(prop(offset,"Lane_Forward_6")+(0*prop(t_m_s)));
|
|---|
| 2151 | temp: eval(get(prop(turn_forward_6,"default"),3)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2152 | temp: eval(get(prop(turn_forward_6,"default"),4)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2153 | temp: eval(get(prop(turn_forward_6,"default"),5)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2154 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2155 | }
|
|---|
| 2156 | way[prop(turn_matrix_scaling,"Lane_Forward_6")>0]::Lane_Turn_M3_Forward_6
|
|---|
| 2157 | {
|
|---|
| 2158 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_6");
|
|---|
| 2159 | offset: eval(prop(offset,"Lane_Forward_6")-(3*prop(t_m_s)));
|
|---|
| 2160 | temp: eval(get(prop(turn_forward_6,"default"),6)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2161 | temp: eval(get(prop(turn_forward_6,"default"),7)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2162 | temp: eval(get(prop(turn_forward_6,"default"),8)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2163 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2164 | }
|
|---|
| 2165 |
|
|---|
| 2166 | way[prop(turn_matrix_scaling,"Lane_Forward_7")>0]::Lane_Turn_M1_Forward_7
|
|---|
| 2167 | {
|
|---|
| 2168 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_7");
|
|---|
| 2169 | offset: eval(prop(offset,"Lane_Forward_7")+(3*prop(t_m_s)));
|
|---|
| 2170 | temp: eval(get(prop(turn_forward_7,"default"),0)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2171 | temp: eval(get(prop(turn_forward_7,"default"),1)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2172 | temp: eval(get(prop(turn_forward_7,"default"),2)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2173 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2174 | }
|
|---|
| 2175 | way[prop(turn_matrix_scaling,"Lane_Forward_7")>0]::Lane_Turn_M2_Forward_7
|
|---|
| 2176 | {
|
|---|
| 2177 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_7");
|
|---|
| 2178 | offset: eval(prop(offset,"Lane_Forward_7")+(0*prop(t_m_s)));
|
|---|
| 2179 | temp: eval(get(prop(turn_forward_7,"default"),3)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2180 | temp: eval(get(prop(turn_forward_7,"default"),4)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2181 | temp: eval(get(prop(turn_forward_7,"default"),5)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2182 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2183 | }
|
|---|
| 2184 | way[prop(turn_matrix_scaling,"Lane_Forward_7")>0]::Lane_Turn_M3_Forward_7
|
|---|
| 2185 | {
|
|---|
| 2186 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_7");
|
|---|
| 2187 | offset: eval(prop(offset,"Lane_Forward_7")-(3*prop(t_m_s)));
|
|---|
| 2188 | temp: eval(get(prop(turn_forward_7,"default"),6)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2189 | temp: eval(get(prop(turn_forward_7,"default"),7)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2190 | temp: eval(get(prop(turn_forward_7,"default"),8)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2191 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2192 | }
|
|---|
| 2193 |
|
|---|
| 2194 | way[prop(turn_matrix_scaling,"Lane_Forward_8")>0]::Lane_Turn_M1_Forward_8
|
|---|
| 2195 | {
|
|---|
| 2196 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_8");
|
|---|
| 2197 | offset: eval(prop(offset,"Lane_Forward_8")+(3*prop(t_m_s)));
|
|---|
| 2198 | temp: eval(get(prop(turn_forward_8,"default"),0)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2199 | temp: eval(get(prop(turn_forward_8,"default"),1)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2200 | temp: eval(get(prop(turn_forward_8,"default"),2)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2201 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2202 | }
|
|---|
| 2203 | way[prop(turn_matrix_scaling,"Lane_Forward_8")>0]::Lane_Turn_M2_Forward_8
|
|---|
| 2204 | {
|
|---|
| 2205 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_8");
|
|---|
| 2206 | offset: eval(prop(offset,"Lane_Forward_8")+(0*prop(t_m_s)));
|
|---|
| 2207 | temp: eval(get(prop(turn_forward_8,"default"),3)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2208 | temp: eval(get(prop(turn_forward_8,"default"),4)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2209 | temp: eval(get(prop(turn_forward_8,"default"),5)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2210 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2211 | }
|
|---|
| 2212 | way[prop(turn_matrix_scaling,"Lane_Forward_8")>0]::Lane_Turn_M3_Forward_8
|
|---|
| 2213 | {
|
|---|
| 2214 | t_m_s: prop(turn_matrix_scaling,"Lane_Forward_8");
|
|---|
| 2215 | offset: eval(prop(offset,"Lane_Forward_8")-(3*prop(t_m_s)));
|
|---|
| 2216 | temp: eval(get(prop(turn_forward_8,"default"),6)); left-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2217 | temp: eval(get(prop(turn_forward_8,"default"),7)); dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2218 | temp: eval(get(prop(turn_forward_8,"default"),8)); right-casing-dashes: eval(list(0,get(prop(temp),0)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),4)*prop(t_m_s)));
|
|---|
| 2219 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2220 | }
|
|---|
| 2221 |
|
|---|
| 2222 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2223 | /* Backward lanes */
|
|---|
| 2224 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2225 | way[prop(turn_matrix_scaling,"Lane_Backward_1")>0]::Lane_Turn_M1_Backward_1
|
|---|
| 2226 | {
|
|---|
| 2227 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_1");
|
|---|
| 2228 | offset: eval(prop(offset,"Lane_Backward_1")+(3*prop(t_m_s)));
|
|---|
| 2229 | temp: eval(get(prop(turn_backward_1,"default"),8)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2230 | temp: eval(get(prop(turn_backward_1,"default"),7)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2231 | temp: eval(get(prop(turn_backward_1,"default"),6)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2232 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2233 | }
|
|---|
| 2234 | way[prop(turn_matrix_scaling,"Lane_Backward_1")>0]::Lane_Turn_M2_Backward_1
|
|---|
| 2235 | {
|
|---|
| 2236 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_1");
|
|---|
| 2237 | offset: eval(prop(offset,"Lane_Backward_1")+(0*prop(t_m_s)));
|
|---|
| 2238 | temp: eval(get(prop(turn_backward_1,"default"),5)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2239 | temp: eval(get(prop(turn_backward_1,"default"),4)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2240 | temp: eval(get(prop(turn_backward_1,"default"),3)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2241 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2242 | }
|
|---|
| 2243 | way[prop(turn_matrix_scaling,"Lane_Backward_1")>0]::Lane_Turn_M3_Backward_1
|
|---|
| 2244 | {
|
|---|
| 2245 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_1");
|
|---|
| 2246 | offset: eval(prop(offset,"Lane_Backward_1")-(3*prop(t_m_s)));
|
|---|
| 2247 | temp: eval(get(prop(turn_backward_1,"default"),2)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2248 | temp: eval(get(prop(turn_backward_1,"default"),1)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2249 | temp: eval(get(prop(turn_backward_1,"default"),0)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2250 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2251 | }
|
|---|
| 2252 |
|
|---|
| 2253 | way[prop(turn_matrix_scaling,"Lane_Backward_2")>0]::Lane_Turn_M1_Backward_2
|
|---|
| 2254 | {
|
|---|
| 2255 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_2");
|
|---|
| 2256 | offset: eval(prop(offset,"Lane_Backward_2")+(3*prop(t_m_s)));
|
|---|
| 2257 | temp: eval(get(prop(turn_backward_2,"default"),8)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2258 | temp: eval(get(prop(turn_backward_2,"default"),7)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2259 | temp: eval(get(prop(turn_backward_2,"default"),6)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2260 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2261 | }
|
|---|
| 2262 | way[prop(turn_matrix_scaling,"Lane_Backward_2")>0]::Lane_Turn_M2_Backward_2
|
|---|
| 2263 | {
|
|---|
| 2264 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_2");
|
|---|
| 2265 | offset: eval(prop(offset,"Lane_Backward_2")+(0*prop(t_m_s)));
|
|---|
| 2266 | temp: eval(get(prop(turn_backward_2,"default"),5)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2267 | temp: eval(get(prop(turn_backward_2,"default"),4)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2268 | temp: eval(get(prop(turn_backward_2,"default"),3)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2269 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2270 | }
|
|---|
| 2271 | way[prop(turn_matrix_scaling,"Lane_Backward_2")>0]::Lane_Turn_M3_Backward_2
|
|---|
| 2272 | {
|
|---|
| 2273 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_2");
|
|---|
| 2274 | offset: eval(prop(offset,"Lane_Backward_2")-(3*prop(t_m_s)));
|
|---|
| 2275 | temp: eval(get(prop(turn_backward_2,"default"),2)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2276 | temp: eval(get(prop(turn_backward_2,"default"),1)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2277 | temp: eval(get(prop(turn_backward_2,"default"),0)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2278 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2279 | }
|
|---|
| 2280 |
|
|---|
| 2281 | way[prop(turn_matrix_scaling,"Lane_Backward_3")>0]::Lane_Turn_M1_Backward_3
|
|---|
| 2282 | {
|
|---|
| 2283 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_3");
|
|---|
| 2284 | offset: eval(prop(offset,"Lane_Backward_3")+(3*prop(t_m_s)));
|
|---|
| 2285 | temp: eval(get(prop(turn_backward_3,"default"),8)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2286 | temp: eval(get(prop(turn_backward_3,"default"),7)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2287 | temp: eval(get(prop(turn_backward_3,"default"),6)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2288 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2289 | }
|
|---|
| 2290 | way[prop(turn_matrix_scaling,"Lane_Backward_3")>0]::Lane_Turn_M2_Backward_3
|
|---|
| 2291 | {
|
|---|
| 2292 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_3");
|
|---|
| 2293 | offset: eval(prop(offset,"Lane_Backward_3")+(0*prop(t_m_s)));
|
|---|
| 2294 | temp: eval(get(prop(turn_backward_3,"default"),5)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2295 | temp: eval(get(prop(turn_backward_3,"default"),4)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2296 | temp: eval(get(prop(turn_backward_3,"default"),3)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2297 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2298 | }
|
|---|
| 2299 | way[prop(turn_matrix_scaling,"Lane_Backward_3")>0]::Lane_Turn_M3_Backward_3
|
|---|
| 2300 | {
|
|---|
| 2301 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_3");
|
|---|
| 2302 | offset: eval(prop(offset,"Lane_Backward_3")-(3*prop(t_m_s)));
|
|---|
| 2303 | temp: eval(get(prop(turn_backward_3,"default"),2)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2304 | temp: eval(get(prop(turn_backward_3,"default"),1)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2305 | temp: eval(get(prop(turn_backward_3,"default"),0)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2306 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2307 | }
|
|---|
| 2308 |
|
|---|
| 2309 | way[prop(turn_matrix_scaling,"Lane_Backward_4")>0]::Lane_Turn_M1_Backward_4
|
|---|
| 2310 | {
|
|---|
| 2311 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_4");
|
|---|
| 2312 | offset: eval(prop(offset,"Lane_Backward_4")+(3*prop(t_m_s)));
|
|---|
| 2313 | temp: eval(get(prop(turn_backward_4,"default"),8)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2314 | temp: eval(get(prop(turn_backward_4,"default"),7)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2315 | temp: eval(get(prop(turn_backward_4,"default"),6)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2316 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2317 | }
|
|---|
| 2318 | way[prop(turn_matrix_scaling,"Lane_Backward_4")>0]::Lane_Turn_M2_Backward_4
|
|---|
| 2319 | {
|
|---|
| 2320 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_4");
|
|---|
| 2321 | offset: eval(prop(offset,"Lane_Backward_4")+(0*prop(t_m_s)));
|
|---|
| 2322 | temp: eval(get(prop(turn_backward_4,"default"),5)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2323 | temp: eval(get(prop(turn_backward_4,"default"),4)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2324 | temp: eval(get(prop(turn_backward_4,"default"),3)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2325 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2326 | }
|
|---|
| 2327 | way[prop(turn_matrix_scaling,"Lane_Backward_4")>0]::Lane_Turn_M3_Backward_4
|
|---|
| 2328 | {
|
|---|
| 2329 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_4");
|
|---|
| 2330 | offset: eval(prop(offset,"Lane_Backward_4")-(3*prop(t_m_s)));
|
|---|
| 2331 | temp: eval(get(prop(turn_backward_4,"default"),2)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2332 | temp: eval(get(prop(turn_backward_4,"default"),1)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2333 | temp: eval(get(prop(turn_backward_4,"default"),0)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2334 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2335 | }
|
|---|
| 2336 |
|
|---|
| 2337 | way[prop(turn_matrix_scaling,"Lane_Backward_5")>0]::Lane_Turn_M1_Backward_5
|
|---|
| 2338 | {
|
|---|
| 2339 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_5");
|
|---|
| 2340 | offset: eval(prop(offset,"Lane_Backward_5")+(3*prop(t_m_s)));
|
|---|
| 2341 | temp: eval(get(prop(turn_backward_5,"default"),8)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2342 | temp: eval(get(prop(turn_backward_5,"default"),7)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2343 | temp: eval(get(prop(turn_backward_5,"default"),6)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2344 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2345 | }
|
|---|
| 2346 | way[prop(turn_matrix_scaling,"Lane_Backward_5")>0]::Lane_Turn_M2_Backward_5
|
|---|
| 2347 | {
|
|---|
| 2348 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_5");
|
|---|
| 2349 | offset: eval(prop(offset,"Lane_Backward_5")+(0*prop(t_m_s)));
|
|---|
| 2350 | temp: eval(get(prop(turn_backward_5,"default"),5)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2351 | temp: eval(get(prop(turn_backward_5,"default"),4)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2352 | temp: eval(get(prop(turn_backward_5,"default"),3)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2353 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2354 | }
|
|---|
| 2355 | way[prop(turn_matrix_scaling,"Lane_Backward_5")>0]::Lane_Turn_M3_Backward_5
|
|---|
| 2356 | {
|
|---|
| 2357 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_5");
|
|---|
| 2358 | offset: eval(prop(offset,"Lane_Backward_5")-(3*prop(t_m_s)));
|
|---|
| 2359 | temp: eval(get(prop(turn_backward_5,"default"),2)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2360 | temp: eval(get(prop(turn_backward_5,"default"),1)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2361 | temp: eval(get(prop(turn_backward_5,"default"),0)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2362 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2363 | }
|
|---|
| 2364 |
|
|---|
| 2365 | way[prop(turn_matrix_scaling,"Lane_Backward_6")>0]::Lane_Turn_M1_Backward_6
|
|---|
| 2366 | {
|
|---|
| 2367 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_6");
|
|---|
| 2368 | offset: eval(prop(offset,"Lane_Backward_6")+(3*prop(t_m_s)));
|
|---|
| 2369 | temp: eval(get(prop(turn_backward_6,"default"),8)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2370 | temp: eval(get(prop(turn_backward_6,"default"),7)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2371 | temp: eval(get(prop(turn_backward_6,"default"),6)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2372 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2373 | }
|
|---|
| 2374 | way[prop(turn_matrix_scaling,"Lane_Backward_6")>0]::Lane_Turn_M2_Backward_6
|
|---|
| 2375 | {
|
|---|
| 2376 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_6");
|
|---|
| 2377 | offset: eval(prop(offset,"Lane_Backward_6")+(0*prop(t_m_s)));
|
|---|
| 2378 | temp: eval(get(prop(turn_backward_6,"default"),5)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2379 | temp: eval(get(prop(turn_backward_6,"default"),4)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2380 | temp: eval(get(prop(turn_backward_6,"default"),3)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2381 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2382 | }
|
|---|
| 2383 | way[prop(turn_matrix_scaling,"Lane_Backward_6")>0]::Lane_Turn_M3_Backward_6
|
|---|
| 2384 | {
|
|---|
| 2385 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_6");
|
|---|
| 2386 | offset: eval(prop(offset,"Lane_Backward_6")-(3*prop(t_m_s)));
|
|---|
| 2387 | temp: eval(get(prop(turn_backward_6,"default"),2)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2388 | temp: eval(get(prop(turn_backward_6,"default"),1)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2389 | temp: eval(get(prop(turn_backward_6,"default"),0)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2390 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2391 | }
|
|---|
| 2392 |
|
|---|
| 2393 | way[prop(turn_matrix_scaling,"Lane_Backward_7")>0]::Lane_Turn_M1_Backward_7
|
|---|
| 2394 | {
|
|---|
| 2395 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_7");
|
|---|
| 2396 | offset: eval(prop(offset,"Lane_Backward_7")+(3*prop(t_m_s)));
|
|---|
| 2397 | temp: eval(get(prop(turn_backward_7,"default"),8)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2398 | temp: eval(get(prop(turn_backward_7,"default"),7)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2399 | temp: eval(get(prop(turn_backward_7,"default"),6)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2400 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2401 | }
|
|---|
| 2402 | way[prop(turn_matrix_scaling,"Lane_Backward_7")>0]::Lane_Turn_M2_Backward_7
|
|---|
| 2403 | {
|
|---|
| 2404 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_7");
|
|---|
| 2405 | offset: eval(prop(offset,"Lane_Backward_7")+(0*prop(t_m_s)));
|
|---|
| 2406 | temp: eval(get(prop(turn_backward_7,"default"),5)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2407 | temp: eval(get(prop(turn_backward_7,"default"),4)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2408 | temp: eval(get(prop(turn_backward_7,"default"),3)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2409 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2410 | }
|
|---|
| 2411 | way[prop(turn_matrix_scaling,"Lane_Backward_7")>0]::Lane_Turn_M3_Backward_7
|
|---|
| 2412 | {
|
|---|
| 2413 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_7");
|
|---|
| 2414 | offset: eval(prop(offset,"Lane_Backward_7")-(3*prop(t_m_s)));
|
|---|
| 2415 | temp: eval(get(prop(turn_backward_7,"default"),2)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2416 | temp: eval(get(prop(turn_backward_7,"default"),1)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2417 | temp: eval(get(prop(turn_backward_7,"default"),0)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2418 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2419 | }
|
|---|
| 2420 |
|
|---|
| 2421 | way[prop(turn_matrix_scaling,"Lane_Backward_8")>0]::Lane_Turn_M1_Backward_8
|
|---|
| 2422 | {
|
|---|
| 2423 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_8");
|
|---|
| 2424 | offset: eval(prop(offset,"Lane_Backward_8")+(3*prop(t_m_s)));
|
|---|
| 2425 | temp: eval(get(prop(turn_backward_8,"default"),8)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2426 | temp: eval(get(prop(turn_backward_8,"default"),7)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2427 | temp: eval(get(prop(turn_backward_8,"default"),6)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2428 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2429 | }
|
|---|
| 2430 | way[prop(turn_matrix_scaling,"Lane_Backward_8")>0]::Lane_Turn_M2_Backward_8
|
|---|
| 2431 | {
|
|---|
| 2432 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_8");
|
|---|
| 2433 | offset: eval(prop(offset,"Lane_Backward_8")+(0*prop(t_m_s)));
|
|---|
| 2434 | temp: eval(get(prop(turn_backward_8,"default"),5)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2435 | temp: eval(get(prop(turn_backward_8,"default"),4)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2436 | temp: eval(get(prop(turn_backward_8,"default"),3)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2437 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2438 | }
|
|---|
| 2439 | way[prop(turn_matrix_scaling,"Lane_Backward_8")>0]::Lane_Turn_M3_Backward_8
|
|---|
| 2440 | {
|
|---|
| 2441 | t_m_s: prop(turn_matrix_scaling,"Lane_Backward_8");
|
|---|
| 2442 | offset: eval(prop(offset,"Lane_Backward_8")-(3*prop(t_m_s)));
|
|---|
| 2443 | temp: eval(get(prop(turn_backward_8,"default"),2)); left-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2444 | temp: eval(get(prop(turn_backward_8,"default"),1)); dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2445 | temp: eval(get(prop(turn_backward_8,"default"),0)); right-casing-dashes: eval(list(0,get(prop(temp),4)*prop(t_m_s),get(prop(temp),3)*prop(t_m_s),get(prop(temp),2)*prop(t_m_s),get(prop(temp),1)*prop(t_m_s),get(prop(temp),0)*prop(t_m_s)));
|
|---|
| 2446 | color: white; left-casing-color: white; right-casing-color: white; width: prop(t_m_s); left-casing-width: eval(prop(t_m_s)); right-casing-width: eval(prop(t_m_s)); opacity: eval(prop(style_markings_opacity,"default")); right-casing-opacity: eval(prop(style_markings_opacity,"default")); left-casing-opacity: eval(prop(style_markings_opacity,"default"));
|
|---|
| 2447 | }
|
|---|
| 2448 |
|
|---|
| 2449 | /***************************************************************************************************************************************************/
|
|---|
| 2450 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2451 | /* Additional attributes/features */
|
|---|
| 2452 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2453 | /***************************************************************************************************************************************************/
|
|---|
| 2454 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2455 | /* Proposed man_made=bridge */
|
|---|
| 2456 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2457 | area[man_made=bridge]
|
|---|
| 2458 | {
|
|---|
| 2459 | fill-color: #808080;
|
|---|
| 2460 | fill-opacity: 0.5;
|
|---|
| 2461 | color: #404DA0;
|
|---|
| 2462 | width: 5;
|
|---|
| 2463 | }
|
|---|
| 2464 |
|
|---|
| 2465 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2466 | /* Proposed highway=junction */
|
|---|
| 2467 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2468 | area[highway=junction]
|
|---|
| 2469 | {
|
|---|
| 2470 | fill-color: #808080;
|
|---|
| 2471 | fill-opacity: 0.5;
|
|---|
| 2472 | width: 2;
|
|---|
| 2473 | color: #505050;
|
|---|
| 2474 | opacity: 0.5;
|
|---|
| 2475 | }
|
|---|
| 2476 |
|
|---|
| 2477 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2478 | /* Street lamp */
|
|---|
| 2479 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2480 | node|z17-[highway="street_lamp"]::Lighting_1
|
|---|
| 2481 | {
|
|---|
| 2482 | symbol-shape: circle;
|
|---|
| 2483 | symbol-size: eval(12 * prop(pixel_per_metre,"default"));
|
|---|
| 2484 | symbol-fill-color: white;
|
|---|
| 2485 | symbol-fill-opacity: 0.07;
|
|---|
| 2486 | }
|
|---|
| 2487 | node|z17-[highway="street_lamp"]::Lighting_2
|
|---|
| 2488 | {
|
|---|
| 2489 | symbol-shape: circle;
|
|---|
| 2490 | symbol-size: eval(18 * prop(pixel_per_metre,"default"));
|
|---|
| 2491 | symbol-fill-color: white;
|
|---|
| 2492 | symbol-fill-opacity: 0.05;
|
|---|
| 2493 | }
|
|---|
| 2494 | node|z17-[highway="street_lamp"]::Lighting_3
|
|---|
| 2495 | {
|
|---|
| 2496 | symbol-shape: circle;
|
|---|
| 2497 | symbol-size: eval(25 * prop(pixel_per_metre,"default"));
|
|---|
| 2498 | symbol-fill-color: white;
|
|---|
| 2499 | symbol-fill-opacity: 0.05;
|
|---|
| 2500 | }
|
|---|
| 2501 |
|
|---|
| 2502 |
|
|---|
| 2503 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2504 | /* Lighting */
|
|---|
| 2505 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2506 | way|z17-[lit?][is_prop_set(width,"Ground")]::Lighting_1
|
|---|
| 2507 | {
|
|---|
| 2508 | width: eval(prop(width,"Ground"));
|
|---|
| 2509 | width: eval(prop(width)+(is_prop_set(left-casing-width,"Ground")?prop(left-casing-width,"Ground"):0));
|
|---|
| 2510 | width: eval(prop(width)+(is_prop_set(right-casing-width,"Ground")?prop(right-casing-width,"Ground"):0));
|
|---|
| 2511 | opacity: 0.1; color: white; linecap: none;
|
|---|
| 2512 | major-z-index: eval(prop(major-z-index,"Ground")-0.1);
|
|---|
| 2513 | offset: eval(prop(offset,"Ground"));
|
|---|
| 2514 | }
|
|---|
| 2515 | way|z17-[lit?][is_prop_set(width,"Ground")]::Lighting_2
|
|---|
| 2516 | {
|
|---|
| 2517 | width: eval(prop(width,"Lighting_1")+(3 * prop(pixel_per_metre,"default")));
|
|---|
| 2518 | opacity: 0.1; color: white; linecap: none;
|
|---|
| 2519 | major-z-index: eval(prop(major-z-index,"Lighting_1")); offset: eval(prop(offset,"Lighting_1"));
|
|---|
| 2520 | }
|
|---|
| 2521 | way|z17-[lit?][is_prop_set(width,"Ground")]::Lighting_3
|
|---|
| 2522 | {
|
|---|
| 2523 | width: eval(prop(width,"Lighting_2")+(3 * prop(pixel_per_metre,"default")));
|
|---|
| 2524 | opacity: 0.1; color: white; linecap: none;
|
|---|
| 2525 | major-z-index: eval(prop(major-z-index,"Lighting_1")); offset: eval(prop(offset,"Lighting_1"));
|
|---|
| 2526 | }
|
|---|
| 2527 |
|
|---|
| 2528 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2529 | /* Destination */
|
|---|
| 2530 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2531 | way[destination]::Destination
|
|---|
| 2532 | {
|
|---|
| 2533 | text-offset: eval(prop("placement_offset","default"));
|
|---|
| 2534 | text: eval(get(split(";",tag(destination)),0));
|
|---|
| 2535 | text: eval(has_tag_key("destination:ref")?concat(prop(text)," (",get(split(";",tag("destination:ref")),0),")"):prop(text));
|
|---|
| 2536 | text: eval(has_tag_key("destination:country")?concat(prop(text)," [",get(split(";",tag("destination:country")),0),"]"):prop(text));
|
|---|
| 2537 | font-size: eval(prop(lane_default_width,"default")); text-color: white; text-opacity: 0.3;
|
|---|
| 2538 | text-halo-radius: 2; text-halo-color: blue; text-halo-opacity: 0.3;
|
|---|
| 2539 | }
|
|---|
| 2540 | way["destination:forward"]::Destination_Forward
|
|---|
| 2541 | {
|
|---|
| 2542 | text-offset: eval(prop("placement_offset","default")+(eval(prop(lane_width_all,"default"))/4));
|
|---|
| 2543 | text: eval(get(split(";",tag("destination:forward")),0));
|
|---|
| 2544 | text: eval(has_tag_key("destination:forward:ref")?concat(prop(text)," (",get(split(";",tag("destination:forward:ref")),0),")"):prop(text));
|
|---|
| 2545 | text: eval(has_tag_key("destination:forward:country")?concat(prop(text)," [",get(split(";",tag("destination:forward:country")),0),"]"):prop(text));
|
|---|
| 2546 | font-size: eval(prop(lane_default_width,"default")); text-color: white; text-opacity: 0.3;
|
|---|
| 2547 | text-halo-radius: 2; text-halo-color: blue; text-halo-opacity: 0.3;
|
|---|
| 2548 | }
|
|---|
| 2549 | way["destination:backward"]::Destination_Backward
|
|---|
| 2550 | {
|
|---|
| 2551 | text-offset: eval(prop("placement_offset","default")-(eval(prop(lane_width_all,"default"))/4));
|
|---|
| 2552 | text: eval(get(split(";",tag("destination:backward")),0));
|
|---|
| 2553 | text: eval(has_tag_key("destination:backward:ref")?concat(prop(text)," (",get(split(";",tag("destination:backward:ref")),0),")"):prop(text));
|
|---|
| 2554 | text: eval(has_tag_key("destination:forward:country")?concat(prop(text)," [",get(split(";",tag("destination:forward:country")),0),"]"):prop(text));
|
|---|
| 2555 | font-size: eval(prop(lane_default_width,"default")); text-color: white; text-opacity: 0.3;
|
|---|
| 2556 | text-halo-radius: 2; text-halo-color: blue; text-halo-opacity: 0.3;
|
|---|
| 2557 | }
|
|---|
| 2558 |
|
|---|
| 2559 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2560 | /* Member nodes of enforcement relations */
|
|---|
| 2561 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2562 | relation[type="enforcement"] >[role="from"] node
|
|---|
| 2563 | {
|
|---|
| 2564 | symbol-stroke-color: #00FF00; symbol-shape: square; symbol-size: 5; symbol-stroke-width: 2;
|
|---|
| 2565 | }
|
|---|
| 2566 | relation[type="enforcement"] >[role="to"] node
|
|---|
| 2567 | {
|
|---|
| 2568 | symbol-stroke-color: #FF0000; symbol-shape: square; symbol-size: 5; symbol-stroke-width: 2;
|
|---|
| 2569 | }
|
|---|
| 2570 |
|
|---|
| 2571 | /***************************************************************************************************************************************************/
|
|---|
| 2572 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2573 | /* Check for some common errors */
|
|---|
| 2574 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2575 | /***************************************************************************************************************************************************/
|
|---|
| 2576 | way{} /* Why-oh-why do I need this.... */
|
|---|
| 2577 |
|
|---|
| 2578 | /* Discouraged alternative values for oneway*/
|
|---|
| 2579 | way[oneway=true], way[oneway=1] { data_error: "use oneway=yes"; }
|
|---|
| 2580 |
|
|---|
| 2581 | /* Rejected turn lanes proposal */
|
|---|
| 2582 | way["lanes:turnright"], way["lanes:turnleft"],
|
|---|
| 2583 | way["lanes:through"], way["lanes:merge"],
|
|---|
| 2584 | way["lanes:turnright:forward"], way["lanes:turnleft:forward"],
|
|---|
| 2585 | way["lanes:through:forward"], way["lanes:merge:forward"],
|
|---|
| 2586 | way["lanes:turnright:backward"], way["lanes:turnleft:backward"],
|
|---|
| 2587 | way["lanes:through:backward"], way["lanes:merge:backward"]
|
|---|
| 2588 | { data_error: "lanes:<turn> rejected"; }
|
|---|
| 2589 |
|
|---|
| 2590 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2591 | /* Disputed checks: disabled by default */
|
|---|
| 2592 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2593 | /* maxspeed should be numerical (yes, this is disputed, I know, that's why this is disabled by default) */
|
|---|
| 2594 | way[prop(style_show_disputed)][maxspeed] { data_error: eval(regexp_test("^[0-9]+$",tag(maxspeed))?prop(data_error):"maxspeed not numerical"); }
|
|---|
| 2595 | way[prop(style_show_disputed)]["maxspeed:forward"] { data_error: eval(regexp_test("^[0-9]+$",tag("maxspeed:forward"))?prop(data_error):"maxspeed:forward not numerical"); }
|
|---|
| 2596 | way[prop(style_show_disputed)]["maxspeed:backward"] { data_error: eval(regexp_test("^[0-9]+$",tag("maxspeed:backward"))?prop(data_error):"maxspeed:backward not numerical"); }
|
|---|
| 2597 | /* A source should be given for maxspeed */
|
|---|
| 2598 | way[prop(style_show_disputed)][maxspeed][!"source:maxspeed"] { data_warning: "source:maxspeed missing"; }
|
|---|
| 2599 | /* Value of source:maxspeed should be <country code>:<context> */
|
|---|
| 2600 | 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"); }
|
|---|
| 2601 |
|
|---|
| 2602 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2603 | /* Display warnings/errors */
|
|---|
| 2604 | /*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|---|
| 2605 | way[is_prop_set(data_warning)][prop(style_show_warnings)=yes]
|
|---|
| 2606 | {
|
|---|
| 2607 | casing-width: 4;
|
|---|
| 2608 | casing-color: yellow;
|
|---|
| 2609 | text: eval(prop(data_warning));
|
|---|
| 2610 | font-size: 12;
|
|---|
| 2611 | text-halo-radius: 1;
|
|---|
| 2612 | }
|
|---|
| 2613 | way[is_prop_set(data_error)][prop(style_show_errors)=yes]
|
|---|
| 2614 | {
|
|---|
| 2615 | casing-width: 5;
|
|---|
| 2616 | casing-color: red;
|
|---|
| 2617 | text: eval(prop(data_error));
|
|---|
| 2618 | font-size: 14;
|
|---|
| 2619 | text-halo-radius: 1;
|
|---|
| 2620 | }
|
|---|