Changes between Version 18 and Version 19 of Styles/ParkingLanes


Ignore:
Timestamp:
2022-12-09T12:16:43+01:00 (3 years ago)
Author:
Supaplex030
Comment:

Updated after street parking revision proposal was approved

Legend:

Unmodified
Added
Removed
Modified
  • Styles/ParkingLanes

    v18 v19  
    1515    title: "Parking lanes";
    1616    description: "Parking lanes along roads and parking/stopping restrictions.";
    17     link: "https://wiki.openstreetmap.org/wiki/Key:parking:lane";
     17    link: "https://wiki.openstreetmap.org/wiki/Street_parking";
    1818    icon: "blue-sign-with-car.svg";
    19     author: "Sebastian Klemm, Kay Drangmeister, Jeroen Hoek, riiga";
    20     version: "0.[[revision]]_[[date]]";
     19    author: "Sebastian Klemm, Kay Drangmeister, Jeroen Hoek, riiga, Supaplex030";
     20    version: "1.[[revision]]_[[date]]";
    2121    min-josm-version: "4399";
    2222}
     
    3939    title: "Парковка вдоль дороги";
    4040    description: "Парковка вдоль дорог/ограничения и запреты у такой парковки";
    41     link: "https://wiki.openstreetmap.org/wiki/RU:Key:parking:lane";
    42 }
    43 
     41}
     42
     43/*-----------*/
    4444/* Settings. */
     45/*-----------*/
    4546
    4647setting::show_warnings {
    4748  type: boolean;
    48   label: tr("Show warning symbols for deprecated or incompatible tag values");
     49  label: tr("Show warning symbols for deprecated and incompatible tag values");
    4950  default: true;
    5051}
     
    5253setting::highlight_conditions {
    5354  type: boolean;
    54   label: tr("Use different colours to highlight values of parking:condition:*");
     55  label: tr("Use different colours to highlight parking restrictions");
    5556  default: true;
    5657}
    5758
     59/*-----------------------*/
    5860/* Mark deprecated tags. */
    59 way[highway][parking:lane:right=~/^(no_parking|no_standing|no_stopping|fire_lane)$/]::parking_lanes_right,
    60 way[highway][parking:lane:both=~/^(no_parking|no_standing|no_stopping|fire_lane)$/]::parking_lanes_right
     61/*-----------------------*/
     62
     63way[highway][parking:lane:right]::parking_lanes_right,
     64way[highway][parking:lane:both]::parking_lanes_right,
     65way[highway][parking:lane:right:parallel]::parking_lanes_right,
     66way[highway][parking:lane:both:parallel]::parking_lanes_right,
     67way[highway][parking:lane:right:diagonal]::parking_lanes_right,
     68way[highway][parking:lane:both:diagonal]::parking_lanes_right,
     69way[highway][parking:lane:right:perpendicular]::parking_lanes_right,
     70way[highway][parking:lane:both:perpendicular]::parking_lanes_right,
     71way[highway][parking:lane:right:marked]::parking_lanes_right,
     72way[highway][parking:lane:both:marked]::parking_lanes_right
    6173{
    6274    set deprecated_type;
    6375}
    64 
    65 way[highway][parking:lane:left=~/^(no_parking|no_standing|no_stopping|fire_lane)$/]::parking_lanes_left,
    66 way[highway][parking:lane:both=~/^(no_parking|no_standing|no_stopping|fire_lane)$/]::parking_lanes_left
     76way[highway][parking:lane:left]::parking_lanes_left,
     77way[highway][parking:lane:both]::parking_lanes_left,
     78way[highway][parking:lane:left:parallel]::parking_lanes_left,
     79way[highway][parking:lane:both:parallel]::parking_lanes_left,
     80way[highway][parking:lane:left:diagonal]::parking_lanes_left,
     81way[highway][parking:lane:both:diagonal]::parking_lanes_left,
     82way[highway][parking:lane:left:perpendicular]::parking_lanes_left,
     83way[highway][parking:lane:both:perpendicular]::parking_lanes_left,
     84way[highway][parking:lane:left:marked]::parking_lanes_left,
     85way[highway][parking:lane:both:marked]::parking_lanes_left
    6786{
    6887    set deprecated_type;
    6988}
    7089
     90way[highway][parking:condition:right]::parking_lanes_right,
     91way[highway][parking:condition:both]::parking_lanes_right,
    7192way[highway][parking:condition:right:default]::parking_lanes_right,
    7293way[highway][parking:condition:both:default]::parking_lanes_right,
     
    7697    set deprecated_type;
    7798}
    78 
     99way[highway][parking:condition:left]::parking_lanes_left,
     100way[highway][parking:condition:both]::parking_lanes_left,
    79101way[highway][parking:condition:left:default]::parking_lanes_left,
    80102way[highway][parking:condition:both:default]::parking_lanes_left,
     
    85107}
    86108
    87 way[highway][parking:lane:right]::parking_lanes_right,
    88 way[highway][parking:lane:both]::parking_lanes_right/*,
    89 way[highway][parking:condition:right]::parking_lanes_right,
    90 way[highway][parking:condition:both]::parking_lanes_right*/
     109/*---------------*/
     110/* Set warnings. */
     111/*---------------*/
     112
     113/* Set warnings for deprecated tags. */
     114
     115way[highway].deprecated_type::parking_lanes_right
     116{
     117    set warning_deprecated;
     118}
     119way[highway].deprecated_type::parking_lanes_left
     120{
     121    set warning_deprecated;
     122}
     123
     124/* Tags should either document 'both' sides or 'left' and 'right' separately. */
     125
     126way[highway][parking:both][parking:right]::parking_lanes_right,
     127way[highway][parking:both:orientation][parking:right:orientation]::parking_lanes_right,
     128way[highway][parking:both:access][parking:right:access]::parking_lanes_right,
     129way[highway][parking:both:restriction][parking:right:restriction]::parking_lanes_right,
     130way[highway][parking:both:fee][parking:right:fee]::parking_lanes_right,
     131way[highway][parking:both:maxstay][parking:right:maxstay]::parking_lanes_right
     132{
     133    set warning;
     134}
     135way[highway][parking:both][parking:left]::parking_lanes_left,
     136way[highway][parking:both:orientation][parking:left:orientation]::parking_lanes_left,
     137way[highway][parking:both:access][parking:left:access]::parking_lanes_left,
     138way[highway][parking:both:restriction][parking:left:restriction]::parking_lanes_left,
     139way[highway][parking:both:fee][parking:left:fee]::parking_lanes_left,
     140way[highway][parking:both:maxstay][parking:left:maxstay]::parking_lanes_left
     141{
     142    set warning;
     143}
     144
     145/*---------------------------------------------*/
     146/* Style physical attributes (size and shape). */
     147/*---------------------------------------------*/
     148
     149/* General draw order specification. */
     150
     151way[highway][parking:right]::parking_lanes_right,
     152way[highway][parking:both]::parking_lanes_right
    91153{
    92154    z-index: -3;
    93155    linecap: none;
    94156}
    95 way[highway][parking:lane:left]::parking_lanes_left,
    96 way[highway][parking:lane:both]::parking_lanes_left/*,
    97 way[highway][parking:condition:left]::parking_lanes_left,
    98 way[highway][parking:condition:both]::parking_lanes_left*/
     157way[highway][parking:left]::parking_lanes_left,
     158way[highway][parking:both]::parking_lanes_left
    99159{
    100160    z-index: -3;
     
    102162}
    103163
    104 way[highway][parking:lane:right=parallel]::parking_lanes_right,
    105 way[highway][parking:lane:both=parallel]::parking_lanes_right
     164/* Fallback for unspecified orientation. */
     165
     166way[highway][parking:right=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/]::parking_lanes_right,
     167way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/]::parking_lanes_right
     168{
     169    width: 6;
     170    dashes: 10, 4;
     171}
     172way[highway][parking:left=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/]::parking_lanes_left,
     173way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/]::parking_lanes_left
     174{
     175    width: 6;
     176    dashes: 10, 4;
     177}
     178
     179/* unspecified orientation with conditional parking restrictions (add extra layer for no stopping markers on top of parallel parkers) */
     180
     181way[highway][parking:right=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     182way[highway][parking:right=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     183way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     184way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right
     185{
     186    dashes: 10, 18;
     187}
     188way[highway][parking:right=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     189way[highway][parking:right=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     190way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     191way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional
     192{
     193    width: 6;
     194    dashes: 6, 22;
     195    dashes-offset: 12;
     196    offset: -8;
     197}
     198way[highway][parking:left=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     199way[highway][parking:left=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     200way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     201way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left
     202{
     203    dashes: 10, 18;
     204}
     205way[highway][parking:left=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     206way[highway][parking:left=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     207way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     208way[highway][parking:both=~/^(yes|lane|street_side|on_kerb|half_on_kerb|shoulder)$/][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional
     209{
     210    width: 6;
     211    dashes: 6, 22;
     212    dashes-offset: 12;
     213    offset: 8;
     214}
     215
     216/*-----------------------------------------------------------------*/
     217/* Styling for specific orientations and conditional restrictions. */
     218/*-----------------------------------------------------------------*/
     219
     220/* parallel every time. */
     221
     222way[highway][parking:right:orientation=parallel]::parking_lanes_right,
     223way[highway][parking:both:orientation=parallel]::parking_lanes_right
     224{
     225    width: 3;
     226    dashes: 10, 3;
     227}
     228way[highway][parking:left:orientation=parallel]::parking_lanes_left,
     229way[highway][parking:both:orientation=parallel]::parking_lanes_left
     230{
     231    width: 3;
     232    dashes: 10, 3;
     233}
     234
     235/* parallel with conditional parking restrictions (add extra layer for no stopping markers on top of parallel parkers) */
     236
     237way[highway][parking:right:orientation=parallel][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     238way[highway][parking:right:orientation=parallel][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     239way[highway][parking:both:orientation=parallel][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     240way[highway][parking:both:orientation=parallel][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right
     241{
     242    dashes: 10, 16;
     243}
     244way[highway][parking:right:orientation=parallel][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     245way[highway][parking:right:orientation=parallel][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     246way[highway][parking:both:orientation=parallel][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     247way[highway][parking:both:orientation=parallel][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional
     248{
     249    width: 6;
     250    dashes: 6, 20;
     251    dashes-offset: 11;
     252    offset: -8;
     253}
     254way[highway][parking:left:orientation=parallel][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     255way[highway][parking:left:orientation=parallel][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     256way[highway][parking:both:orientation=parallel][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     257way[highway][parking:both:orientation=parallel][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left
     258{
     259    dashes: 10, 16;
     260}
     261way[highway][parking:left:orientation=parallel][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     262way[highway][parking:left:orientation=parallel][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     263way[highway][parking:both:orientation=parallel][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     264way[highway][parking:both:orientation=parallel][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional
     265{
     266    width: 6;
     267    dashes: 6, 20;
     268    dashes-offset: 11;
     269    offset: 8;
     270}
     271
     272/* diagonal every time. */
     273
     274way[highway][parking:right:orientation=diagonal]::parking_lanes_right,
     275way[highway][parking:both:orientation=diagonal]::parking_lanes_right
     276{
     277    width: 7;
     278    dashes: 4, 6;
     279}
     280way[highway][parking:left:orientation=diagonal]::parking_lanes_left,
     281way[highway][parking:both:orientation=diagonal]::parking_lanes_left
     282{
     283    width: 7;
     284    dashes: 4, 6;
     285}
     286
     287/* diagonal with conditional parking restrictions (add extra layer for no stopping markers on top of parallel parkers) */
     288
     289way[highway][parking:right:orientation=diagonal][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     290way[highway][parking:right:orientation=diagonal][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     291way[highway][parking:both:orientation=diagonal][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     292way[highway][parking:both:orientation=diagonal][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right
     293{
     294    dashes: 4, 16;
     295}
     296way[highway][parking:right:orientation=diagonal][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     297way[highway][parking:right:orientation=diagonal][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     298way[highway][parking:both:orientation=diagonal][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     299way[highway][parking:both:orientation=diagonal][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional
     300{
     301    width: 6;
     302    dashes: 6, 14;
     303    dashes-offset: 11;
     304    offset: -8;
     305}
     306way[highway][parking:left:orientation=diagonal][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     307way[highway][parking:left:orientation=diagonal][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     308way[highway][parking:both:orientation=diagonal][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     309way[highway][parking:both:orientation=diagonal][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left
     310{
     311    dashes: 4, 16;
     312}
     313way[highway][parking:left:orientation=diagonal][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     314way[highway][parking:left:orientation=diagonal][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     315way[highway][parking:both:orientation=diagonal][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     316way[highway][parking:both:orientation=diagonal][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional
     317{
     318    width: 6;
     319    dashes: 6, 14;
     320    dashes-offset: 11;
     321    offset: 8;
     322}
     323
     324/* perpendicular every time. */
     325
     326way[highway][parking:right:orientation=perpendicular]::parking_lanes_right,
     327way[highway][parking:both:orientation=perpendicular]::parking_lanes_right
     328{
     329    width: 10;
     330    dashes: 3, 4;
     331}
     332way[highway][parking:left:orientation=perpendicular]::parking_lanes_left,
     333way[highway][parking:both:orientation=perpendicular]::parking_lanes_left
     334{
     335    width: 10;
     336    dashes: 3, 4;
     337}
     338
     339/* perpendicular with conditional parking restrictions (add extra layer for no stopping markers on top of parallel parkers) */
     340
     341way[highway][parking:right:orientation=perpendicular][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     342way[highway][parking:right:orientation=perpendicular][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     343way[highway][parking:both:orientation=perpendicular][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right,
     344way[highway][parking:both:orientation=perpendicular][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right
     345{
     346    dashes: 3, 11;
     347}
     348way[highway][parking:right:orientation=perpendicular][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     349way[highway][parking:right:orientation=perpendicular][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     350way[highway][parking:both:orientation=perpendicular][parking:right:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional,
     351way[highway][parking:both:orientation=perpendicular][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_right_conditional
     352{
     353    width: 6;
     354    dashes: 6, 8;
     355    dashes-offset: 8.5;
     356    offset: -8;
     357}
     358way[highway][parking:left:orientation=perpendicular][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     359way[highway][parking:left:orientation=perpendicular][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     360way[highway][parking:both:orientation=perpendicular][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left,
     361way[highway][parking:both:orientation=perpendicular][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left
     362{
     363    dashes: 3, 11;
     364}
     365way[highway][parking:left:orientation=perpendicular][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     366way[highway][parking:left:orientation=perpendicular][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     367way[highway][parking:both:orientation=perpendicular][parking:left:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional,
     368way[highway][parking:both:orientation=perpendicular][parking:both:restriction:conditional=~/(no_parking|no_standing|no_stopping)/]::parking_lanes_left_conditional
     369{
     370    width: 6;
     371    dashes: 6, 8;
     372    dashes-offset: 8.5;
     373    offset: 8;
     374}
     375
     376/* Styling for no or separate parking. */
     377
     378way[highway][parking:right=no]::parking_lanes_right,
     379way[highway][parking:both=no]::parking_lanes_right
     380{
     381    width: 6;
     382    dashes: 6, 12;
     383}
     384way[highway][parking:left=no]::parking_lanes_left,
     385way[highway][parking:both=no]::parking_lanes_left
     386{
     387    width: 6;
     388    dashes: 6, 12;
     389}
     390
     391way[highway][parking:right=separate]::parking_lanes_right,
     392way[highway][parking:both=separate]::parking_lanes_right
     393{
     394    repeat-image: images/separate-flipped.svg;
     395}
     396way[highway][parking:left=separate]::parking_lanes_left,
     397way[highway][parking:both=separate]::parking_lanes_left
     398{
     399    repeat-image: images/separate.svg;
     400}
     401
     402/* Support ways without physical, but legal attributes. */
     403
     404way[highway][parking:right:restriction=~/^(no_parking|no_standing|no_stopping)$/][!parking:right][!parking:both]::parking_lanes_right,
     405way[highway][parking:both:restriction=~/^(no_parking|no_standing|no_stopping)$/][!parking:right][!parking:both]::parking_lanes_right
     406{
     407    width: 6;
     408    dashes: 6, 12;
     409}
     410way[highway][parking:left:restriction=~/^(no_parking|no_standing|no_stopping)$/][!parking:left][!parking:both]::parking_lanes_left,
     411way[highway][parking:both:restriction=~/^(no_parking|no_standing|no_stopping)$/][!parking:left][!parking:both]::parking_lanes_left
     412{
     413    width: 6;
     414    dashes: 6, 12;
     415}
     416
     417/*--------------------------------------------------------------------------*/
     418/* Styling for specific positions (add a second line symbolising the kerb). */
     419/*--------------------------------------------------------------------------*/
     420
     421way[highway][parking:left=~/^(lane|street_side|on_kerb|half_on_kerb|shoulder)$/]::parking_lanes_left_kerb,
     422way[highway][parking:both=~/^(lane|street_side|on_kerb|half_on_kerb|shoulder)$/]::parking_lanes_left_kerb
     423{
     424    z-index: -4;
     425    width: 2;
     426}
     427way[highway][parking:right=~/^(lane|street_side|on_kerb|half_on_kerb|shoulder)$/]::parking_lanes_right_kerb,
     428way[highway][parking:both=~/^(lane|street_side|on_kerb|half_on_kerb|shoulder)$/]::parking_lanes_right_kerb
     429{
     430    z-index: -4;
     431    width: 2;
     432}
     433
     434/* (add a second kerb line for street_side parking to create a "box"). */
     435
     436way[highway][parking:left=street_side]::parking_lanes_left_kerb2,
     437way[highway][parking:both=street_side]::parking_lanes_left_kerb2
     438{
     439    z-index: -4;
     440    width: 2;
     441    offset: 4;
     442}
     443way[highway][parking:right=street_side]::parking_lanes_right_kerb2,
     444way[highway][parking:both=street_side]::parking_lanes_right_kerb2
     445{
     446    z-index: -4;
     447    width: 2;
     448    offset: -4;
     449}
     450
     451way[highway][parking:left=~/^(lane|street_side)$/]::parking_lanes_left_kerb,
     452way[highway][parking:both=~/^(lane|street_side)$/]::parking_lanes_left_kerb
     453{
     454    offset: prop("width", parking_lanes_left) + 7;
     455}
     456way[highway][parking:right=~/^(lane|street_side)$/]::parking_lanes_right_kerb,
     457way[highway][parking:both=~/^(lane|street_side)$/]::parking_lanes_right_kerb
     458{
     459    offset: -prop("width", parking_lanes_right) - 7;
     460}
     461
     462way[highway][parking:left=~/^(on_kerb|shoulder)$/]::parking_lanes_left_kerb,
     463way[highway][parking:both=~/^(on_kerb|shoulder)$/]::parking_lanes_left_kerb
     464{
     465    offset: 4;
     466}
     467way[highway][parking:right=~/^(on_kerb|shoulder)$/]::parking_lanes_right_kerb,
     468way[highway][parking:both=~/^(on_kerb|shoulder)$/]::parking_lanes_right_kerb
     469{
     470    offset: -4;
     471}
     472
     473way[highway][parking:left=half_on_kerb]::parking_lanes_left_kerb,
     474way[highway][parking:both=half_on_kerb]::parking_lanes_left_kerb
     475{
     476    offset: prop("width", parking_lanes_left) / 2 + 5;
     477}
     478way[highway][parking:right=half_on_kerb]::parking_lanes_right_kerb,
     479way[highway][parking:both=half_on_kerb]::parking_lanes_right_kerb
     480{
     481    offset: -prop("width", parking_lanes_right) / 2 - 5;
     482}
     483
     484/*-----------------------*/
     485/* Offset specification. */
     486/*-----------------------*/
     487
     488way[highway][parking:right]::parking_lanes_right,
     489way[highway][parking:both]::parking_lanes_right,
     490way[highway][parking:right:orientation]::parking_lanes_right,
     491way[highway][parking:both:orientation]::parking_lanes_right,
     492way[highway][parking:right:restriction]::parking_lanes_right,
     493way[highway][parking:both:restriction]::parking_lanes_right
     494{
     495    offset: eval(-4 - (prop("width") * 0.5) - (prop("width", "default") * 0.5));
     496    repeat-image-offset: -8;
     497    repeat-image-width: 8;
     498    repeat-image-height: 8;
     499    repeat-image-spacing: 16;
     500}
     501
     502way[highway][parking:left]::parking_lanes_left,
     503way[highway][parking:both]::parking_lanes_left,
     504way[highway][parking:left:orientation]::parking_lanes_left,
     505way[highway][parking:both:orientation]::parking_lanes_left,
     506way[highway][parking:left:restriction]::parking_lanes_left,
     507way[highway][parking:both:restriction]::parking_lanes_left
     508{
     509    offset: eval(4 + (prop("width") * 0.5) + (prop("width", "default") * 0.5));
     510    repeat-image-offset: 8;
     511    repeat-image-width: 8;
     512    repeat-image-height: 8;
     513    repeat-image-spacing: 16;
     514}
     515
     516/*----------------------------------*/
     517/* Style legal attributes (colour). */
     518/*----------------------------------*/
     519
     520/* Free parking (no fee, no maxstay, no access or parking restrictions). */
     521
     522way[highway][parking:right:fee=no][setting("highlight_conditions")]::parking_lanes_right,
     523way[highway][parking:both:fee=no][setting("highlight_conditions")]::parking_lanes_right
     524{
     525    color: chartreuse;
     526}
     527way[highway][parking:left:fee=no][setting("highlight_conditions")]::parking_lanes_left,
     528way[highway][parking:both:fee=no][setting("highlight_conditions")]::parking_lanes_left
     529{
     530    color: chartreuse;
     531}
     532
     533/* Free parking with time limit. */
     534
     535way[highway][parking:right:maxstay][parking:right:maxstay!=no][setting("highlight_conditions")]::parking_lanes_right,
     536way[highway][parking:both:maxstay][parking:both:maxstay!=no][setting("highlight_conditions")]::parking_lanes_right
     537{
     538    color: dodgerblue;
     539}
     540way[highway][parking:left:maxstay][parking:left:maxstay!=no][setting("highlight_conditions")]::parking_lanes_left,
     541way[highway][parking:both:maxstay][parking:both:maxstay!=no][setting("highlight_conditions")]::parking_lanes_left
     542{
     543    color: dodgerblue;
     544}
     545
     546way[highway][parking:right:maxstay:conditional][setting("highlight_conditions")]::parking_lanes_right,
     547way[highway][parking:both:maxstay:conditional][setting("highlight_conditions")]::parking_lanes_right
     548{
     549    color: dodgerblue;
     550}
     551way[highway][parking:left:maxstay:conditional][setting("highlight_conditions")]::parking_lanes_left,
     552way[highway][parking:both:maxstay:conditional][setting("highlight_conditions")]::parking_lanes_left
     553{
     554    color: dodgerblue;
     555}
     556
     557/* Paid parking. */
     558
     559way[highway][parking:right:fee=yes][setting("highlight_conditions")]::parking_lanes_right,
     560way[highway][parking:both:fee=yes][setting("highlight_conditions")]::parking_lanes_right
     561{
     562    color: lightskyblue;
     563}
     564way[highway][parking:left:fee=yes][setting("highlight_conditions")]::parking_lanes_left,
     565way[highway][parking:both:fee=yes][setting("highlight_conditions")]::parking_lanes_left
     566{
     567    color: lightskyblue;
     568}
     569
     570way[highway][parking:right:fee:conditional=~/yes/][setting("highlight_conditions")]::parking_lanes_right,
     571way[highway][parking:both:fee:conditional=~/yes/][setting("highlight_conditions")]::parking_lanes_right
     572{
     573    color: lightskyblue;
     574}
     575way[highway][parking:left:fee:conditional=~/yes/][setting("highlight_conditions")]::parking_lanes_left,
     576way[highway][parking:both:fee:conditional=~/yes/][setting("highlight_conditions")]::parking_lanes_left
     577{
     578    color: lightskyblue;
     579}
     580
     581/* Residential zone or paid parking. */
     582
     583way[highway][parking:right:fee=yes][parking:right:zone][parking:right:zone!=no][setting("highlight_conditions")]::parking_lanes_right,
     584way[highway][parking:right:fee=yes][parking:both:zone][parking:both:zone!=no][setting("highlight_conditions")]::parking_lanes_right,
     585way[highway][parking:both:fee=yes][parking:right:zone][parking:right:zone!=no][setting("highlight_conditions")]::parking_lanes_right,
     586way[highway][parking:both:fee=yes][parking:both:zone][parking:both:zone!=no][setting("highlight_conditions")]::parking_lanes_right
     587{
     588    color: hotpink;
     589}
     590way[highway][parking:left:fee=yes][parking:left:zone][parking:left:zone!=no][setting("highlight_conditions")]::parking_lanes_left,
     591way[highway][parking:left:fee=yes][parking:both:zone][parking:both:zone!=no][setting("highlight_conditions")]::parking_lanes_left,
     592way[highway][parking:both:fee=yes][parking:left:zone][parking:left:zone!=no][setting("highlight_conditions")]::parking_lanes_left,
     593way[highway][parking:both:fee=yes][parking:both:zone][parking:both:zone!=no][setting("highlight_conditions")]::parking_lanes_left
     594{
     595    color: hotpink;
     596}
     597
     598/* Customers parking. */
     599
     600way[highway][parking:right:access=customers][setting("highlight_conditions")]::parking_lanes_right,
     601way[highway][parking:both:access=customers][setting("highlight_conditions")]::parking_lanes_right
     602{
     603    color: darkorange;
     604}
     605way[highway][parking:left:access=customers][setting("highlight_conditions")]::parking_lanes_left,
     606way[highway][parking:both:access=customers][setting("highlight_conditions")]::parking_lanes_left
     607{
     608    color: darkorange;
     609}
     610
     611way[highway][parking:right:access:conditional=~/customers/][setting("highlight_conditions")]::parking_lanes_right,
     612way[highway][parking:both:access:conditional=~/customers/][setting("highlight_conditions")]::parking_lanes_right
     613{
     614    color: darkorange;
     615}
     616way[highway][parking:left:access:conditional=~/customers/][setting("highlight_conditions")]::parking_lanes_left,
     617way[highway][parking:both:access:conditional=~/customers/][setting("highlight_conditions")]::parking_lanes_left
     618{
     619    color: darkorange;
     620}
     621
     622/* No public access. */
     623
     624way[highway][parking:right:access=no][setting("highlight_conditions")]::parking_lanes_right,
     625way[highway][parking:both:access=no][setting("highlight_conditions")]::parking_lanes_right
     626{
     627    color: red;
     628}
     629way[highway][parking:left:access=no][setting("highlight_conditions")]::parking_lanes_left,
     630way[highway][parking:both:access=no][setting("highlight_conditions")]::parking_lanes_left
     631{
     632    color: red;
     633}
     634
     635way[highway][parking:right:access:conditional=~/no/][setting("highlight_conditions")]::parking_lanes_right,
     636way[highway][parking:both:access:conditional=~/no/][setting("highlight_conditions")]::parking_lanes_right
     637{
     638    color: red;
     639}
     640way[highway][parking:left:access:conditional=~/no/][setting("highlight_conditions")]::parking_lanes_left,
     641way[highway][parking:both:access:conditional=~/no/][setting("highlight_conditions")]::parking_lanes_left
     642{
     643    color: red;
     644}
     645
     646/* Customers parking. */
     647
     648way[highway][parking:right:access=customers][setting("highlight_conditions")]::parking_lanes_right,
     649way[highway][parking:both:access=customers][setting("highlight_conditions")]::parking_lanes_right
     650{
     651    color: darkorange;
     652}
     653way[highway][parking:left:access=customers][setting("highlight_conditions")]::parking_lanes_left,
     654way[highway][parking:both:access=customers][setting("highlight_conditions")]::parking_lanes_left
     655{
     656    color: darkorange;
     657}
     658
     659way[highway][parking:right:access:conditional=~/customers/][setting("highlight_conditions")]::parking_lanes_right,
     660way[highway][parking:both:access:conditional=~/customers/][setting("highlight_conditions")]::parking_lanes_right
     661{
     662    color: darkorange;
     663}
     664way[highway][parking:left:access:conditional=~/customers/][setting("highlight_conditions")]::parking_lanes_left,
     665way[highway][parking:both:access:conditional=~/customers/][setting("highlight_conditions")]::parking_lanes_left
     666{
     667    color: darkorange;
     668}
     669
     670/* Disabled parking. */
     671
     672way[highway][parking:right:disabled][parking:right:disabled!=no][setting("highlight_conditions")]::parking_lanes_right,
     673way[highway][parking:both:disabled][parking:right:disabled!=no][setting("highlight_conditions")]::parking_lanes_right
     674{
     675    color: turquoise;
     676}
     677way[highway][parking:left:disabled][parking:right:disabled!=no][setting("highlight_conditions")]::parking_lanes_left,
     678way[highway][parking:both:disabled][parking:right:disabled!=no][setting("highlight_conditions")]::parking_lanes_left
     679{
     680    color: turquoise;
     681}
     682
     683way[highway][parking:right:disabled:conditional][setting("highlight_conditions")]::parking_lanes_right,
     684way[highway][parking:both:disabled:conditional][setting("highlight_conditions")]::parking_lanes_right
     685{
     686    color: turquoise;
     687}
     688way[highway][parking:left:disabled:conditional][setting("highlight_conditions")]::parking_lanes_left,
     689way[highway][parking:both:disabled:conditional][setting("highlight_conditions")]::parking_lanes_left
     690{
     691    color: turquoise;
     692}
     693
     694/* Charging electric vehicles. */
     695
     696way[highway][parking:right:restriction=charging_only][setting("highlight_conditions")]::parking_lanes_right,
     697way[highway][parking:both:restriction=charging_only][setting("highlight_conditions")]::parking_lanes_right
     698{
     699    color: limegreen;
     700}
     701way[highway][parking:left:restriction=charging_only][setting("highlight_conditions")]::parking_lanes_left,
     702way[highway][parking:both:restriction=charging_only][setting("highlight_conditions")]::parking_lanes_left
     703{
     704    color: limegreen;
     705}
     706
     707way[highway][parking:right:restriction:conditional=~/charging_only/][setting("highlight_conditions")]::parking_lanes_right,
     708way[highway][parking:both:restriction:conditional=~/charging_only/][setting("highlight_conditions")]::parking_lanes_right
     709{
     710    color: limegreen;
     711}
     712way[highway][parking:left:restriction:conditional=~/charging_only/][setting("highlight_conditions")]::parking_lanes_left,
     713way[highway][parking:both:restriction:conditional=~/charging_only/][setting("highlight_conditions")]::parking_lanes_left
     714{
     715    color: limegreen;
     716}
     717
     718/* Loading zone. */
     719
     720way[highway][parking:right:restriction=loading_only][setting("highlight_conditions")]::parking_lanes_right,
     721way[highway][parking:both:restriction=loading_only][setting("highlight_conditions")]::parking_lanes_right
     722{
     723    color: lightcyan;
     724}
     725way[highway][parking:left:restriction=loading_only][setting("highlight_conditions")]::parking_lanes_left,
     726way[highway][parking:both:restriction=loading_only][setting("highlight_conditions")]::parking_lanes_left
     727{
     728    color: lightcyan;
     729}
     730
     731way[highway][parking:right:restriction:conditional=~/loading_only/][setting("highlight_conditions")]::parking_lanes_right,
     732way[highway][parking:both:restriction:conditional=~/loading_only/][setting("highlight_conditions")]::parking_lanes_right
     733{
     734    color: lightcyan;
     735}
     736way[highway][parking:left:restriction:conditional=~/loading_only/][setting("highlight_conditions")]::parking_lanes_left,
     737way[highway][parking:both:restriction:conditional=~/loading_only/][setting("highlight_conditions")]::parking_lanes_left
     738{
     739    color: lightcyan;
     740}
     741
     742/* Non-existent parking lanes with physical reason */
     743
     744way[highway][parking:right=no][parking:right:reason][setting("highlight_conditions")]::parking_lanes_right,
     745way[highway][parking:right=no][parking:both:reason][setting("highlight_conditions")]::parking_lanes_right,
     746way[highway][parking:both=no][parking:right:reason][setting("highlight_conditions")]::parking_lanes_right,
     747way[highway][parking:both=no][parking:both:reason][setting("highlight_conditions")]::parking_lanes_right
     748{
     749    color: plum;
     750}
     751way[highway][parking:left=no][parking:left:reason][setting("highlight_conditions")]::parking_lanes_left,
     752way[highway][parking:left=no][parking:both:reason][setting("highlight_conditions")]::parking_lanes_left,
     753way[highway][parking:both=no][parking:left:reason][setting("highlight_conditions")]::parking_lanes_left,
     754way[highway][parking:both=no][parking:both:reason][setting("highlight_conditions")]::parking_lanes_left
     755{
     756    color: plum;
     757}
     758
     759/* No parking restrictions */
     760
     761way[highway][parking:right:restriction=no_parking][setting("highlight_conditions")]::parking_lanes_right,
     762way[highway][parking:both:restriction=no_parking][setting("highlight_conditions")]::parking_lanes_right
     763{
     764    color: orange;
     765}
     766way[highway][parking:left:restriction=no_parking][setting("highlight_conditions")]::parking_lanes_left,
     767way[highway][parking:both:restriction=no_parking][setting("highlight_conditions")]::parking_lanes_left
     768{
     769    color: orange;
     770}
     771
     772way[highway][parking:right:restriction:conditional=~/no_parking/][setting("highlight_conditions")]::parking_lanes_right_conditional,
     773way[highway][parking:both:restriction:conditional=~/no_parking/][setting("highlight_conditions")]::parking_lanes_right_conditional
     774{
     775    color: orange;
     776}
     777way[highway][parking:left:restriction:conditional=~/no_parking/][setting("highlight_conditions")]::parking_lanes_left_conditional,
     778way[highway][parking:both:restriction:conditional=~/no_parking/][setting("highlight_conditions")]::parking_lanes_left_conditional
     779{
     780    color: orange;
     781}
     782
     783way[highway][parking:right:restriction=no_standing][setting("highlight_conditions")]::parking_lanes_right,
     784way[highway][parking:both:restriction=no_standing][setting("highlight_conditions")]::parking_lanes_right
     785{
     786    color: salmon;
     787}
     788way[highway][parking:left:restriction=no_standing][setting("highlight_conditions")]::parking_lanes_left,
     789way[highway][parking:both:restriction=no_standing][setting("highlight_conditions")]::parking_lanes_left
     790{
     791    color: salmon;
     792}
     793
     794way[highway][parking:right:restriction:conditional=~/no_standing/][setting("highlight_conditions")]::parking_lanes_right_conditional,
     795way[highway][parking:both:restriction:conditional=~/no_standing/][setting("highlight_conditions")]::parking_lanes_right_conditional
     796{
     797    color: salmon;
     798}
     799way[highway][parking:left:restriction:conditional=~/no_standing/][setting("highlight_conditions")]::parking_lanes_left_conditional,
     800way[highway][parking:both:restriction:conditional=~/no_standing/][setting("highlight_conditions")]::parking_lanes_left_conditional
     801{
     802    color: salmon;
     803}
     804
     805way[highway][parking:right:restriction=no_stopping][setting("highlight_conditions")]::parking_lanes_right,
     806way[highway][parking:both:restriction=no_stopping][setting("highlight_conditions")]::parking_lanes_right
     807{
     808    color: red;
     809}
     810way[highway][parking:left:restriction=no_stopping][setting("highlight_conditions")]::parking_lanes_left,
     811way[highway][parking:both:restriction=no_stopping][setting("highlight_conditions")]::parking_lanes_left
     812{
     813    color: red;
     814}
     815
     816way[highway][parking:right:restriction:conditional=~/no_stopping/][setting("highlight_conditions")]::parking_lanes_right_conditional,
     817way[highway][parking:both:restriction:conditional=~/no_stopping/][setting("highlight_conditions")]::parking_lanes_right_conditional
     818{
     819    color: red;
     820}
     821way[highway][parking:left:restriction:conditional=~/no_stopping/][setting("highlight_conditions")]::parking_lanes_left_conditional,
     822way[highway][parking:both:restriction:conditional=~/no_stopping/][setting("highlight_conditions")]::parking_lanes_left_conditional
     823{
     824    color: red;
     825}
     826
     827/*------------------------------------------------------------------*/
     828/* Styling to read deprecated tags - a warning style is added later */
     829/*------------------------------------------------------------------*/
     830
     831way[highway][parking:lane:right]::parking_lanes_right_deprecated,
     832way[highway][parking:lane:both]::parking_lanes_right_deprecated
     833{
     834    z-index: -3;
     835    linecap: none;
     836}
     837way[highway][parking:lane:left]::parking_lanes_left_deprecated,
     838way[highway][parking:lane:both]::parking_lanes_left_deprecated
     839{
     840    z-index: -3;
     841    linecap: none;
     842}
     843
     844way[highway][parking:lane:right=parallel]::parking_lanes_right_deprecated,
     845way[highway][parking:lane:both=parallel]::parking_lanes_right_deprecated
    106846{
    107847    width: 3;
    108848    dashes: 10, 2;
    109849}
    110 way[highway][parking:lane:left=parallel]::parking_lanes_left,
    111 way[highway][parking:lane:both=parallel]::parking_lanes_left
     850way[highway][parking:lane:left=parallel]::parking_lanes_left_deprecated,
     851way[highway][parking:lane:both=parallel]::parking_lanes_left_deprecated
    112852{
    113853    width: 3;
     
    115855}
    116856
    117 way[highway][parking:lane:right=perpendicular]::parking_lanes_right,
    118 way[highway][parking:lane:both=perpendicular]::parking_lanes_right
     857way[highway][parking:lane:right=perpendicular]::parking_lanes_right_deprecated,
     858way[highway][parking:lane:both=perpendicular]::parking_lanes_right_deprecated
    119859{
    120860    width: 10;
    121861    dashes: 3, 4;
    122862}
    123 way[highway][parking:lane:left=perpendicular]::parking_lanes_left,
    124 way[highway][parking:lane:both=perpendicular]::parking_lanes_left
     863way[highway][parking:lane:left=perpendicular]::parking_lanes_left_deprecated,
     864way[highway][parking:lane:both=perpendicular]::parking_lanes_left_deprecated
    125865{
    126866    width: 10;
     
    128868}
    129869
    130 way[highway][parking:lane:right=diagonal]::parking_lanes_right,
    131 way[highway][parking:lane:both=diagonal]::parking_lanes_right
     870way[highway][parking:lane:right=diagonal]::parking_lanes_right_deprecated,
     871way[highway][parking:lane:both=diagonal]::parking_lanes_right_deprecated
    132872{
    133873    width: 7;
    134874    dashes: 4, 6;
    135875}
    136 way[highway][parking:lane:left=diagonal]::parking_lanes_left,
    137 way[highway][parking:lane:both=diagonal]::parking_lanes_left
     876way[highway][parking:lane:left=diagonal]::parking_lanes_left_deprecated,
     877way[highway][parking:lane:both=diagonal]::parking_lanes_left_deprecated
    138878{
    139879    width: 7;
     
    141881}
    142882
    143 way[highway][parking:lane:right=marked]::parking_lanes_right,
    144 way[highway][parking:lane:both=marked]::parking_lanes_right
     883way[highway][parking:lane:right=marked]::parking_lanes_right_deprecated,
     884way[highway][parking:lane:both=marked]::parking_lanes_right_deprecated
    145885{
    146886    width: 3;
    147887    dashes: 10, 12;
    148888}
    149 way[highway][parking:lane:left=marked]::parking_lanes_left,
    150 way[highway][parking:lane:both=marked]::parking_lanes_left
     889way[highway][parking:lane:left=marked]::parking_lanes_left_deprecated,
     890way[highway][parking:lane:both=marked]::parking_lanes_left_deprecated
    151891{
    152892    width: 3;
     
    154894}
    155895
    156 way[highway][parking:lane:right=separate]::parking_lanes_right,
    157 way[highway][parking:lane:both=separate]::parking_lanes_right
     896way[highway][parking:lane:right=separate]::parking_lanes_right_deprecated,
     897way[highway][parking:lane:both=separate]::parking_lanes_right_deprecated
    158898{
    159899    repeat-image: images/separate-flipped.svg;
    160900}
    161 way[highway][parking:lane:left=separate]::parking_lanes_left,
    162 way[highway][parking:lane:both=separate]::parking_lanes_left
     901way[highway][parking:lane:left=separate]::parking_lanes_left_deprecated,
     902way[highway][parking:lane:both=separate]::parking_lanes_left_deprecated
    163903{
    164904    repeat-image: images/separate.svg;
    165905}
    166906
    167 way[highway][parking:lane:right=no]::parking_lanes_right,
    168 way[highway][parking:lane:both=no]::parking_lanes_right
     907way[highway][parking:lane:right=no]::parking_lanes_right_deprecated,
     908way[highway][parking:lane:both=no]::parking_lanes_right_deprecated
    169909{
    170910    width: 6;
    171911    dashes: 6, 12;
    172912}
    173 way[highway][parking:lane:left=no]::parking_lanes_left,
    174 way[highway][parking:lane:both=no]::parking_lanes_left
     913way[highway][parking:lane:left=no]::parking_lanes_left_deprecated,
     914way[highway][parking:lane:both=no]::parking_lanes_left_deprecated
    175915{
    176916    width: 6;
     
    178918}
    179919
    180 way[highway][parking:lane:right=yes]::parking_lanes_right,
    181 way[highway][parking:lane:both=yes]::parking_lanes_right
     920way[highway][parking:lane:right=yes]::parking_lanes_right_deprecated,
     921way[highway][parking:lane:both=yes]::parking_lanes_right_deprecated
    182922{
    183923    width: 9;
    184924    dashes: 5, 5;
    185925}
    186 way[highway][parking:lane:left=yes]::parking_lanes_left,
    187 way[highway][parking:lane:both=yes]::parking_lanes_left
     926way[highway][parking:lane:left=yes]::parking_lanes_left_deprecated,
     927way[highway][parking:lane:both=yes]::parking_lanes_left_deprecated
    188928{
    189929    width: 9;
     
    192932
    193933/* Support ways without lane, but with condition */
    194 way[highway][parking:condition:right][!parking:lane:right][!parking:lane:both]::parking_lanes_right,
    195 way[highway][parking:condition:both][!parking:lane:right][!parking:lane:both]::parking_lanes_right
     934way[highway][parking:condition:right][!parking:lane:right][!parking:lane:both]::parking_lanes_right_deprecated,
     935way[highway][parking:condition:both][!parking:lane:right][!parking:lane:both]::parking_lanes_right_deprecated
    196936{
    197937    width: 4;
    198938    dashes: 4;
    199939}
    200 way[highway][parking:condition:left][!parking:lane:left][!parking:lane:both]::parking_lanes_left,
    201 way[highway][parking:condition:both][!parking:lane:left][!parking:lane:both]::parking_lanes_left
     940way[highway][parking:condition:left][!parking:lane:left][!parking:lane:both]::parking_lanes_left_deprecated,
     941way[highway][parking:condition:both][!parking:lane:left][!parking:lane:both]::parking_lanes_left_deprecated
    202942{
    203943    width: 4;
     
    205945}
    206946
    207 way[highway][parking:lane:right]::parking_lanes_right,
    208 way[highway][parking:lane:both]::parking_lanes_right,
    209 way[highway][parking:condition:right]::parking_lanes_right,
    210 way[highway][parking:condition:both]::parking_lanes_right
     947way[highway][parking:lane:right]::parking_lanes_right_deprecated,
     948way[highway][parking:lane:both]::parking_lanes_right_deprecated,
     949way[highway][parking:condition:right]::parking_lanes_right_deprecated,
     950way[highway][parking:condition:both]::parking_lanes_right_deprecated
    211951{
    212952    offset: eval(0 - 4 - (prop("width") * 0.5) - (prop("width", "default") * 0.5));
     
    217957}
    218958
    219 way[highway][parking:lane:left]::parking_lanes_left,
    220 way[highway][parking:lane:both]::parking_lanes_left,
    221 way[highway][parking:condition:left]::parking_lanes_left,
    222 way[highway][parking:condition:both]::parking_lanes_left
     959way[highway][parking:lane:left]::parking_lanes_left_deprecated,
     960way[highway][parking:lane:both]::parking_lanes_left_deprecated,
     961way[highway][parking:condition:left]::parking_lanes_left_deprecated,
     962way[highway][parking:condition:both]::parking_lanes_left_deprecated
    223963{
    224964    offset: eval(4 + (prop("width") * 0.5) + (prop("width", "default") * 0.5));
     
    229969}
    230970
    231 /* Set warnings for deprecated tags. */
    232 way[highway][parking:lane:right].deprecated_type::parking_lanes_right,
    233 way[highway][parking:lane:both].deprecated_type::parking_lanes_right,
    234 way[highway][parking:condition:right].deprecated_type::parking_lanes_right,
    235 way[highway][parking:condition:both].deprecated_type::parking_lanes_right
    236 {
    237     set warning;
    238 }
    239 
    240 way[highway][parking:lane:left].deprecated_type::parking_lanes_left,
    241 way[highway][parking:lane:both].deprecated_type::parking_lanes_left,
    242 way[highway][parking:condition:left].deprecated_type::parking_lanes_left,
    243 way[highway][parking:condition:both].deprecated_type::parking_lanes_left
    244 {
    245     set warning;
    246 }
    247 
    248 /* Tags should either document 'both' sides or 'left' and 'right' separately. */
    249 way[highway][parking:condition:both][parking:condition:right]::parking_lanes_right,
    250 way[highway][parking:lane:both][parking:lane:right]::parking_lanes_right
    251 {
    252     set warning;
    253 }
    254 
    255 way[highway][parking:condition:both][parking:condition:left]::parking_lanes_left,
    256 way[highway][parking:lane:both][parking:lane:left]::parking_lanes_left
    257 {
    258     set warning;
    259 }
    260 
    261 way[highway][parking:condition:right=free][setting("highlight_conditions")]::parking_lanes_right,
    262 way[highway][parking:condition:both=free][setting("highlight_conditions")]::parking_lanes_right
     971way[highway][parking:condition:right=free][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     972way[highway][parking:condition:both=free][setting("highlight_conditions")]::parking_lanes_right_deprecated
    263973{
    264974    color: chartreuse;
    265975}
    266976
    267 way[highway][parking:condition:left=free][setting("highlight_conditions")]::parking_lanes_left,
    268 way[highway][parking:condition:both=free][setting("highlight_conditions")]::parking_lanes_left
     977way[highway][parking:condition:left=free][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     978way[highway][parking:condition:both=free][setting("highlight_conditions")]::parking_lanes_left_deprecated
    269979{
    270980    color: chartreuse;
    271981}
    272982
    273 way[highway][parking:condition:right=disc][setting("highlight_conditions")]::parking_lanes_right,
    274 way[highway][parking:condition:both=disc][setting("highlight_conditions")]::parking_lanes_right
    275 {
    276     color: #1c86ee;
    277 }
    278 way[highway][parking:condition:left=disc][setting("highlight_conditions")]::parking_lanes_left,
    279 way[highway][parking:condition:both=disc][setting("highlight_conditions")]::parking_lanes_left
    280 {
    281     color: #1c86ee;
    282 }
    283 
    284 way[highway][parking:condition:right=ticket][setting("highlight_conditions")]::parking_lanes_right,
    285 way[highway][parking:condition:both=ticket][setting("highlight_conditions")]::parking_lanes_right
    286 {
    287     color: #009999;
    288 }
    289 way[highway][parking:condition:left=ticket][setting("highlight_conditions")]::parking_lanes_left,
    290 way[highway][parking:condition:both=ticket][setting("highlight_conditions")]::parking_lanes_left
    291 {
    292     color: #009999;
    293 }
    294 
    295 way[highway][parking:condition:right=residents][setting("highlight_conditions")]::parking_lanes_right,
    296 way[highway][parking:condition:both=residents][setting("highlight_conditions")]::parking_lanes_right
    297 {
    298     color: darkviolet;
    299 }
    300 way[highway][parking:condition:left=residents][setting("highlight_conditions")]::parking_lanes_left,
    301 way[highway][parking:condition:both=residents][setting("highlight_conditions")]::parking_lanes_left
    302 {
    303     color: darkviolet;
    304 }
    305 
    306 way[highway][parking:condition:right=customers][setting("highlight_conditions")]::parking_lanes_right,
    307 way[highway][parking:condition:both=customers][setting("highlight_conditions")]::parking_lanes_right
    308 {
    309     color: #ff3399;
    310 }
    311 way[highway][parking:condition:left=customers][setting("highlight_conditions")]::parking_lanes_left,
    312 way[highway][parking:condition:both=customers][setting("highlight_conditions")]::parking_lanes_left
    313 {
    314     color: #ff3399;
    315 }
    316 
    317 way[highway][parking:condition:right=private][setting("highlight_conditions")]::parking_lanes_right,
    318 way[highway][parking:condition:both=private][setting("highlight_conditions")]::parking_lanes_right
    319 {
    320     color: gold;
    321 }
    322 way[highway][parking:condition:left=private][setting("highlight_conditions")]::parking_lanes_left,
    323 way[highway][parking:condition:both=private][setting("highlight_conditions")]::parking_lanes_left
    324 {
    325     color: gold;
    326 }
    327 
    328 way[highway][parking:condition:right=disabled][setting("highlight_conditions")]::parking_lanes_right,
    329 way[highway][parking:condition:both=disabled][setting("highlight_conditions")]::parking_lanes_right
     983way[highway][parking:condition:right=disc][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     984way[highway][parking:condition:both=disc][setting("highlight_conditions")]::parking_lanes_right_deprecated
     985{
     986    color: dodgerblue;
     987}
     988way[highway][parking:condition:left=disc][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     989way[highway][parking:condition:both=disc][setting("highlight_conditions")]::parking_lanes_left_deprecated
     990{
     991    color: dodgerblue;
     992}
     993
     994way[highway][parking:condition:right=ticket][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     995way[highway][parking:condition:both=ticket][setting("highlight_conditions")]::parking_lanes_right_deprecated
     996{
     997    color: lightskyblue;
     998}
     999way[highway][parking:condition:left=ticket][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1000way[highway][parking:condition:both=ticket][setting("highlight_conditions")]::parking_lanes_left_deprecated
     1001{
     1002    color: lightskyblue;
     1003}
     1004
     1005way[highway][parking:condition:right=residents][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1006way[highway][parking:condition:both=residents][setting("highlight_conditions")]::parking_lanes_right_deprecated
     1007{
     1008    color: orangered;
     1009}
     1010way[highway][parking:condition:left=residents][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1011way[highway][parking:condition:both=residents][setting("highlight_conditions")]::parking_lanes_left_deprecated
     1012{
     1013    color: orangered;
     1014}
     1015
     1016way[highway][parking:condition:right=customers][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1017way[highway][parking:condition:both=customers][setting("highlight_conditions")]::parking_lanes_right_deprecated
     1018{
     1019    color: darkorange;
     1020}
     1021way[highway][parking:condition:left=customers][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1022way[highway][parking:condition:both=customers][setting("highlight_conditions")]::parking_lanes_left_deprecated
     1023{
     1024    color: darkorange;
     1025}
     1026
     1027way[highway][parking:condition:right=private][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1028way[highway][parking:condition:both=private][setting("highlight_conditions")]::parking_lanes_right_deprecated
     1029{
     1030    color: orangered;
     1031}
     1032way[highway][parking:condition:left=private][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1033way[highway][parking:condition:both=private][setting("highlight_conditions")]::parking_lanes_left_deprecated
     1034{
     1035    color: orangered;
     1036}
     1037
     1038way[highway][parking:condition:right=disabled][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1039way[highway][parking:condition:both=disabled][setting("highlight_conditions")]::parking_lanes_right_deprecated
    3301040{
    3311041    color: turquoise;
    3321042}
    333 way[highway][parking:condition:left=disabled][setting("highlight_conditions")]::parking_lanes_left,
    334 way[highway][parking:condition:both=disabled][setting("highlight_conditions")]::parking_lanes_left
     1043way[highway][parking:condition:left=disabled][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1044way[highway][parking:condition:both=disabled][setting("highlight_conditions")]::parking_lanes_left_deprecated
    3351045{
    3361046    color: turquoise;
    3371047}
    3381048
    339 way[highway][parking:condition:right=no_parking][setting("highlight_conditions")]::parking_lanes_right,
    340 way[highway][parking:condition:both=no_parking][setting("highlight_conditions")]::parking_lanes_right
     1049way[highway][parking:condition:right=charging][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1050way[highway][parking:condition:both=charging][setting("highlight_conditions")]::parking_lanes_right_deprecated
     1051{
     1052    color: limegreen;
     1053}
     1054way[highway][parking:condition:left=charging][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1055way[highway][parking:condition:both=charging][setting("highlight_conditions")]::parking_lanes_left_deprecated
     1056{
     1057    color: limegreen;
     1058}
     1059
     1060way[highway][parking:condition:right=loading][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1061way[highway][parking:condition:both=loading][setting("highlight_conditions")]::parking_lanes_right_deprecated
     1062{
     1063    color: lightcyan;
     1064}
     1065way[highway][parking:condition:left=loading][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1066way[highway][parking:condition:both=loading][setting("highlight_conditions")]::parking_lanes_left_deprecated
     1067{
     1068    color: lightcyan;
     1069}
     1070
     1071way[highway][parking:condition:right=no_parking][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1072way[highway][parking:condition:both=no_parking][setting("highlight_conditions")]::parking_lanes_right_deprecated
    3411073{
    3421074    color: orange;
    3431075}
    344 way[highway][parking:condition:left=no_parking][setting("highlight_conditions")]::parking_lanes_left,
    345 way[highway][parking:condition:both=no_parking][setting("highlight_conditions")]::parking_lanes_left
     1076way[highway][parking:condition:left=no_parking][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1077way[highway][parking:condition:both=no_parking][setting("highlight_conditions")]::parking_lanes_left_deprecated
    3461078{
    3471079    color: orange;
    3481080}
    3491081
    350 way[highway][parking:condition:right=no_standing][setting("highlight_conditions")]::parking_lanes_right,
    351 way[highway][parking:condition:both=no_standing][setting("highlight_conditions")]::parking_lanes_right
     1082way[highway][parking:condition:right=no_standing][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1083way[highway][parking:condition:both=no_standing][setting("highlight_conditions")]::parking_lanes_right_deprecated
    3521084{
    3531085    color: salmon;
    3541086}
    355 way[highway][parking:condition:left=no_standing][setting("highlight_conditions")]::parking_lanes_left,
    356 way[highway][parking:condition:both=no_standing][setting("highlight_conditions")]::parking_lanes_left
     1087way[highway][parking:condition:left=no_standing][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1088way[highway][parking:condition:both=no_standing][setting("highlight_conditions")]::parking_lanes_left_deprecated
    3571089{
    3581090    color: salmon;
    3591091}
    3601092
    361 way[highway][parking:condition:right=no_stopping][setting("highlight_conditions")]::parking_lanes_right,
    362 way[highway][parking:condition:both=no_stopping][setting("highlight_conditions")]::parking_lanes_right
     1093way[highway][parking:condition:right=no_stopping][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1094way[highway][parking:condition:both=no_stopping][setting("highlight_conditions")]::parking_lanes_right_deprecated
    3631095{
    3641096    color: red;
    3651097}
    366 way[highway][parking:condition:left=no_stopping][setting("highlight_conditions")]::parking_lanes_left,
    367 way[highway][parking:condition:both=no_stopping][setting("highlight_conditions")]::parking_lanes_left
     1098way[highway][parking:condition:left=no_stopping][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1099way[highway][parking:condition:both=no_stopping][setting("highlight_conditions")]::parking_lanes_left_deprecated
    3681100{
    3691101    color: red;
    3701102}
    371 way[highway][parking:condition:right=no][setting("highlight_conditions")]::parking_lanes_right,
    372 way[highway][parking:condition:both=no][setting("highlight_conditions")]::parking_lanes_right
     1103way[highway][parking:condition:right=no][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1104way[highway][parking:condition:both=no][setting("highlight_conditions")]::parking_lanes_right_deprecated
    3731105{
    3741106    color: maroon;
    3751107}
    376 way[highway][parking:condition:left=no][setting("highlight_conditions")]::parking_lanes_left,
    377 way[highway][parking:condition:both=no][setting("highlight_conditions")]::parking_lanes_left
     1108way[highway][parking:condition:left=no][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1109way[highway][parking:condition:both=no][setting("highlight_conditions")]::parking_lanes_left_deprecated
    3781110{
    3791111    color: maroon;
    3801112}
    3811113
    382 /* Support showing the more restrictive form of parking when the default is free or disc */
    383 way[highway][parking:condition:right=free][parking:condition:right:conditional=~/disc/][setting("highlight_conditions")]::parking_lanes_right,
    384 way[highway][parking:condition:both=free][parking:condition:both:conditional=~/disc/][setting("highlight_conditions")]::parking_lanes_right
    385 {
    386     color: #1c86ee;
    387 }
    388 
    389 way[highway][parking:condition:left=free][parking:condition:left:conditional=~/disc/][setting("highlight_conditions")]::parking_lanes_left,
    390 way[highway][parking:condition:both=free][parking:condition:both:conditional=~/disc/][setting("highlight_conditions")]::parking_lanes_left
    391 {
    392     color: #1c86ee;
    393 }
    394 
    395 way[highway][parking:condition:right=~/^(free|disc)$/][parking:condition:right:conditional=~/ticket/][setting("highlight_conditions")]::parking_lanes_right,
    396 way[highway][parking:condition:both=~/^(free|disc)$/][parking:condition:both:conditional=~/ticket/][setting("highlight_conditions")]::parking_lanes_right
    397 {
    398     color: #009999;
    399 }
    400 
    401 way[highway][parking:condition:left=~/^(free|disc)$/][parking:condition:left:conditional=~/ticket/][setting("highlight_conditions")]::parking_lanes_left,
    402 way[highway][parking:condition:both=~/^(free|disc)$/][parking:condition:both:conditional=~/ticket/][setting("highlight_conditions")]::parking_lanes_left
    403 {
    404     color: #009999;
    405 }
     1114way[highway][parking:condition:right=free][parking:condition:right:conditional=~/disc/][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1115way[highway][parking:condition:both=free][parking:condition:both:conditional=~/disc/][setting("highlight_conditions")]::parking_lanes_right_deprecated
     1116{
     1117    color: dodgerblue;
     1118}
     1119
     1120way[highway][parking:condition:left=free][parking:condition:left:conditional=~/disc/][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1121way[highway][parking:condition:both=free][parking:condition:both:conditional=~/disc/][setting("highlight_conditions")]::parking_lanes_left_deprecated
     1122{
     1123    color: dodgerblue;
     1124}
     1125
     1126way[highway][parking:condition:right=~/^(free|disc)$/][parking:condition:right:conditional=~/ticket/][setting("highlight_conditions")]::parking_lanes_right_deprecated,
     1127way[highway][parking:condition:both=~/^(free|disc)$/][parking:condition:both:conditional=~/ticket/][setting("highlight_conditions")]::parking_lanes_right_deprecated
     1128{
     1129    color: lightskyblue;
     1130}
     1131
     1132way[highway][parking:condition:left=~/^(free|disc)$/][parking:condition:left:conditional=~/ticket/][setting("highlight_conditions")]::parking_lanes_left_deprecated,
     1133way[highway][parking:condition:both=~/^(free|disc)$/][parking:condition:both:conditional=~/ticket/][setting("highlight_conditions")]::parking_lanes_left_deprecated
     1134{
     1135    color: lightskyblue;
     1136}
     1137
     1138/*-----------------*/
     1139/* Style warnings. */
     1140/*-----------------*/
    4061141
    4071142way.warning[setting("show_warnings")]::parking_lanes_right
     
    4141149    repeat-image-spacing: 12;
    4151150}
    416 
    4171151way.warning[setting("show_warnings")]::parking_lanes_left
    4181152{
     
    4251159}
    4261160
     1161way.warning_deprecated[setting("show_warnings")]::parking_lanes_right
     1162{
     1163    repeat-image: images/warning_deprecated-flipped.svg;
     1164    repeat-image-offset: -12;
     1165    repeat-image-width: 16;
     1166    repeat-image-height: 16;
     1167    repeat-image-spacing: 12;
     1168}
     1169way.warning_deprecated[setting("show_warnings")]::parking_lanes_left
     1170{
     1171    repeat-image: images/warning_deprecated.svg;
     1172    repeat-image-offset: 12;
     1173    repeat-image-width: 16;
     1174    repeat-image-height: 16;
     1175    repeat-image-spacing: 12;
     1176}
     1177
    4271178}}}