From 5ae8992d9b789175fa7263ce50e4d432f635b502 Mon Sep 17 00:00:00 2001
From: Jeroen Hoek <mail@jeroenhoek.nl>
Date: Sun, 5 Mar 2023 11:49:19 +0100
Subject: [PATCH] Minimal support for aeroway=taxilane

`aeroway=taxilane` is used on larger more complex airports for ground
movement paths of aircraft outside of (or leading out of) the movement
area.
---
 resources/data/validator/combinations.mapcss | 6 +++---
 resources/styles/standard/elemstyles.mapcss  | 6 ++++--
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/resources/data/validator/combinations.mapcss b/resources/data/validator/combinations.mapcss
index d1dafcc7a..59b7fbacb 100644
--- a/resources/data/validator/combinations.mapcss
+++ b/resources/data/validator/combinations.mapcss
@@ -495,7 +495,7 @@ way[highway=footway][cycleway=lane] {
 }
 
 /* {0} on suspicious object, #17255, #19650, #19572, #17253, #19821, #15667, #19930, #20435, #20471, #18815 */
-way[oneway ][!highway][!area:highway][!railway][!aerialway][attraction!=summer_toboggan][aeroway!~/^(runway|taxiway)$/][leisure!=track][waterway !~ /^(canal|fairway|lock|river|tidal_channel)$/],
+way[oneway ][!highway][!area:highway][!railway][!aerialway][attraction!=summer_toboggan][aeroway!~/^(runway|taxiway|taxilane)$/][leisure!=track][waterway !~ /^(canal|fairway|lock|river|tidal_channel)$/],
 node[lanes ][!barrier][!ford][highway!=mini_roundabout][!junction][leisure!~/^(bowling_alley|slipway|swimming_pool|track)$/][!traffic_calming]!.only_one_tag,
 way[lanes  ][!barrier][!ford][!highway ][!area:highway][!junction][leisure!~/^(bowling_alley|slipway|swimming_pool|track)$/][!traffic_calming]!.only_one_tag,
 *[tunnel   ][!highway][!area:highway][!railway][!waterway][!piste:type][type!=tunnel][public_transport!=platform][route!=ferry][man_made!=pipeline][man_made!=goods_conveyor][man_made!=wildlife_crossing][man_made!=tunnel][power!=cable]!.TunnelCulvertWithoutWaterway,
@@ -503,7 +503,7 @@ way[lanes  ][!barrier][!ford][!highway ][!area:highway][!junction][leisure!~/^(b
 *[psv      ][!highway][!area:highway][!railway][!waterway][barrier !~ /^(bollard|bump_gate|bus_trap|cattle_grid|chain|coupure|entrance|gate|height_restrictor|jersey_barrier|kerb|lift_gate|rope|sally_port|sliding_beam|sliding_gate|spikes|swing_gate|toll_booth|yes)$/][amenity !~ /^parking.*/],
 *[width    ][!highway][!area:highway][!railway][!waterway][!aeroway][!cycleway][!footway][!barrier][!man_made][!entrance][natural!=stone][leisure!=track],
 *[maxspeed ][!highway][!area:highway][!railway][traffic_sign !~ /^((.*;)?maxspeed(;.*)?|[A-Z][A-Z]:.+)$/][traffic_sign:forward !~ /^((.*;)?maxspeed(;.*)?|[A-Z][A-Z]:.+)$/][traffic_sign:backward !~ /^((.*;)?maxspeed(;.*)?|[A-Z][A-Z]:.+)$/][type != enforcement][waterway !~ /^(canal|fairway|lock|river|tidal_channel)$/][!traffic_calming][aerialway!=zip_line],
-way[incline][!highway][!area:highway][!railway][aeroway!~/^(runway|taxiway)$/][attraction!=summer_toboggan][leisure!=slipway] {
+way[incline][!highway][!area:highway][!railway][aeroway!~/^(runway|taxiway|taxilane)$/][attraction!=summer_toboggan][leisure!=slipway] {
   throwWarning: tr("{0} on suspicious object", "{0.key}");
   group: tr("suspicious tag combination");
 }
@@ -1075,4 +1075,4 @@ relation[piste:type=nordic][!piste:grooming]{
 *[voltage:primary][voltage:secondary][transformer=generator][tag("voltage:secondary")<tag("voltage:primary")] {
   throwWarning: tr("{0} is lower than {1} on {2}.", "{1.key}", "{0.key}", "{2.tag}");
   group: tr("suspicious tag combination");
-}
\ No newline at end of file
+}
diff --git a/resources/styles/standard/elemstyles.mapcss b/resources/styles/standard/elemstyles.mapcss
index db8f12249..37b4cd17a 100644
--- a/resources/styles/standard/elemstyles.mapcss
+++ b/resources/styles/standard/elemstyles.mapcss
@@ -4398,7 +4398,8 @@ way[aeroway=taxiway] {
     width: 2;
     color: aeroway#660000;
 }
-way[aeroway=parking_position] {
+way[aeroway=parking_position],
+way[aeroway=taxilane] {
     width: 1;
     color: aeroway#660000;
 }
@@ -4412,7 +4413,8 @@ area[aeroway=hangar] {
 }
 node[aeroway=apron],
 node[aeroway=runway],
-node[aeroway=taxiway] {
+node[aeroway=taxiway],
+node[aeroway=taxilane] {
     icon-image: "presets/misc/deprecated.svg";
     set icon_z17;
 }
-- 
2.34.1

