From 22cd373f66264907776830ab175e65c2294fb125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Gw=C3=B3=C5=BAd=C5=BA?= <114614618+michalgwo@users.noreply.github.com> Date: Wed, 18 Dec 2024 16:53:00 +0100 Subject: [PATCH] Include mountain peaks without elevation, but with name tag (#1682) Fixes #761, Fixes #1328 According to the https://github.com/openmaptiles/openmaptiles/issues/1328#issuecomment-1463800079 I included peaks without elevation, but with a name. --------- Co-authored-by: Tomas Pohanka --- layers/mountain_peak/mountain_peak.sql | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/layers/mountain_peak/mountain_peak.sql b/layers/mountain_peak/mountain_peak.sql index cf91e018..4ef027db 100644 --- a/layers/mountain_peak/mountain_peak.sql +++ b/layers/mountain_peak/mountain_peak.sql @@ -55,9 +55,9 @@ SELECT FROM ( SELECT osm_id, geometry, - name, - COALESCE(NULLIF(name_en, ''), name) AS name_en, - COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, + NULLIF(name, '') as name, + COALESCE(NULLIF(name_en, ''), NULLIF(name, '')) AS name_en, + COALESCE(NULLIF(name_de, ''), NULLIF(name, ''), NULLIF(name_en, '')) AS name_de, tags, substring(ele FROM E'^(-?\\d+)(\\D|$)')::int AS ele, round(substring(ele FROM E'^(-?\\d+)(\\D|$)')::int * 3.2808399)::int AS ele_ft, @@ -65,15 +65,17 @@ FROM ( row_number() OVER ( PARTITION BY LabelGrid(geometry, 100 * pixel_width) ORDER BY ( - substring(ele FROM E'^(-?\\d+)(\\D|$)')::int + + (CASE WHEN ele <> '' THEN substring(ele FROM E'^(-?\\d+)(\\D|$)')::int ELSE 0 END) + (CASE WHEN wikipedia <> '' THEN 10000 ELSE 0 END) + (CASE WHEN name <> '' THEN 10000 ELSE 0 END) ) DESC )::int AS "rank" FROM peak_point WHERE geometry && bbox - AND ele IS NOT NULL - AND ele ~ E'^-?\\d{1,4}(\\D|$)' + AND ( + (ele <> '' AND ele ~ E'^-?\\d{1,4}(\\D|$)') + OR name <> '' + ) ) AS ranked_peaks WHERE zoom_level >= 7 AND (rank <= 5 OR zoom_level >= 14)