From bb154f4ee8514801d4ddb10b38c03566f911f208 Mon Sep 17 00:00:00 2001 From: Peter Hanecak <115141505+phanecak-maptiler@users.noreply.github.com> Date: Thu, 25 Jan 2024 16:01:39 +0100 Subject: [PATCH] fix for problem with "James Bay" in water_name (water label) #1595 (#1621) For important marine points distance between NE and OSM with the same name must by under 50km. --- layers/water_name/update_marine_point.sql | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/layers/water_name/update_marine_point.sql b/layers/water_name/update_marine_point.sql index 95dfd96..bd9293f 100644 --- a/layers/water_name/update_marine_point.sql +++ b/layers/water_name/update_marine_point.sql @@ -18,8 +18,11 @@ $$ SELECT osm.osm_id, ne.scalerank FROM osm_marine_point AS osm LEFT JOIN ne_10m_geography_marine_polys AS ne ON - lower(trim(regexp_replace(ne.name, '\\s+', ' ', 'g'))) IN (lower(osm.name), lower(osm.tags->'name:en'), lower(osm.tags->'name:es')) - OR substring(lower(trim(regexp_replace(ne.name, '\\s+', ' ', 'g'))) FROM 1 FOR length(lower(osm.name))) = lower(osm.name) + ( + lower(trim(regexp_replace(ne.name, '\\s+', ' ', 'g'))) IN (lower(osm.name), lower(osm.tags->'name:en'), lower(osm.tags->'name:es')) + OR substring(lower(trim(regexp_replace(ne.name, '\\s+', ' ', 'g'))) FROM 1 FOR length(lower(osm.name))) = lower(osm.name) + ) + AND ST_DWithin(ne.geometry, osm.geometry, 50000) ) UPDATE osm_marine_point AS osm SET "rank" = scalerank