From 7e9a6812d71ffe0fed8cf9ac35a945129b242023 Mon Sep 17 00:00:00 2001 From: Brian Sperlongano Date: Mon, 23 Aug 2021 08:14:50 -0400 Subject: [PATCH] Add international airports at z8-9 (#1187) Closes #1082 This PR moves the aerodrome/aerodrome_type consolidation (via template) into the lower-level `osm_aerodrome_label_point` table, and creates a partial index on class `international` for airports with an `iata` code. The presence of an `iata` code is more significant than an `icao` code which exists at many smaller, general aviation airport. Therefore, `international` + `iata` should be a sufficient filter. Zoom 8 international airports in the NYC area (blue dots): ![image](https://user-images.githubusercontent.com/3254090/130335311-10b7aa35-d2f9-42cc-a054-878048012040.png) Zoom 10 in the same area: ![image](https://user-images.githubusercontent.com/3254090/130335327-3989cfba-80ca-46dd-a157-45b375f84a8d.png) --- layers/aerodrome_label/aerodrome_label.sql | 27 +++++++++++++++--- layers/aerodrome_label/etl_diagram.png | Bin 17112 -> 18529 bytes .../update_aerodrome_label_point.sql | 12 ++++++++ 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/layers/aerodrome_label/aerodrome_label.sql b/layers/aerodrome_label/aerodrome_label.sql index 818d3fd..9a68a2b 100644 --- a/layers/aerodrome_label/aerodrome_label.sql +++ b/layers/aerodrome_label/aerodrome_label.sql @@ -19,6 +19,28 @@ CREATE OR REPLACE FUNCTION layer_aerodrome_label(bbox geometry, ) AS $$ +SELECT + -- etldoc: osm_aerodrome_label_point -> layer_aerodrome_label:z8 + -- etldoc: osm_aerodrome_label_point -> layer_aerodrome_label:z9 + ABS(osm_id) AS id, -- mvt feature IDs can't be negative + geometry, + name, + COALESCE(NULLIF(name_en, ''), name) AS name_en, + COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, + tags, + aerodrome_type AS class, + NULLIF(iata, '') AS iata, + NULLIF(icao, '') AS icao, + substring(ele FROM E'^(-?\\d+)(\\D|$)')::int AS ele, + round(substring(ele FROM E'^(-?\\d+)(\\D|$)')::int * 3.2808399)::int AS ele_ft +FROM osm_aerodrome_label_point +WHERE geometry && bbox + AND aerodrome_type = 'international' + AND iata <> '' + AND zoom_level BETWEEN 8 AND 9 + +UNION ALL + SELECT -- etldoc: osm_aerodrome_label_point -> layer_aerodrome_label:z10_ ABS(osm_id) AS id, -- mvt feature IDs can't be negative @@ -27,10 +49,7 @@ SELECT COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, tags, - CASE - %%FIELD_MAPPING: class %% - ELSE 'other' - END AS class, + aerodrome_type AS class, NULLIF(iata, '') AS iata, NULLIF(icao, '') AS icao, substring(ele FROM E'^(-?\\d+)(\\D|$)')::int AS ele, diff --git a/layers/aerodrome_label/etl_diagram.png b/layers/aerodrome_label/etl_diagram.png index 387966441e063137c70208f94a78c307a18a7d39..0198ff2efcdc9054c218c8ca930a559e0158b65f 100644 GIT binary patch literal 18529 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 ''; + +UPDATE osm_aerodrome_label_point SET aerodrome_type=( + CASE + %%FIELD_MAPPING: class %% + ELSE 'other' END +); + CREATE SCHEMA IF NOT EXISTS aerodrome_label; CREATE TABLE IF NOT EXISTS aerodrome_label.osm_ids