From 14dc0f0926b68c6b7dfc3bb0a1e3f1daea380b66 Mon Sep 17 00:00:00 2001 From: Lukas Martinelli Date: Mon, 16 Jan 2017 16:40:39 +0100 Subject: [PATCH] Limit sea/ocean labels by rank --- layers/water_name/layer.sql | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/layers/water_name/layer.sql b/layers/water_name/layer.sql index 143a00d..b71b8cb 100644 --- a/layers/water_name/layer.sql +++ b/layers/water_name/layer.sql @@ -12,7 +12,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class t AND ((zoom_level BETWEEN 9 AND 13 AND LineLabel(zoom_level, NULLIF(name, ''), geometry)) OR (zoom_level >= 14)) -- etldoc: osm_water_point -> layer_water_name:z9_13 - -- etldoc: osm_water_point -> layer_water_name:z14_ + -- etldoc: osm_water_point -> layer_water_name:z14_ UNION ALL SELECT osm_id, geometry, name, name_en, 'lake'::text AS class FROM osm_water_point @@ -20,12 +20,13 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class t (zoom_level BETWEEN 9 AND 13 AND area > 70000*2^(20-zoom_level)) OR (zoom_level >= 14) ) - -- etldoc: osm_marine_point -> layer_water_name:z14 + -- etldoc: osm_marine_point -> layer_water_name:z0_14_ UNION ALL SELECT osm_id, geometry, name, name_en, place::text AS class FROM osm_marine_point WHERE geometry && bbox AND ( - (zoom_level <= 4 AND place = 'ocean') - OR (zoom_level >= 5) + place = 'ocean' + OR (zoom_level <= "rank" AND "rank" IS NOT NULL) + OR (zoom_level >= 8) ); $$ LANGUAGE SQL IMMUTABLE;