diff --git a/layers/poi/layer.sql b/layers/poi/layer.sql index c0a75ba4..68dcec13 100644 --- a/layers/poi/layer.sql +++ b/layers/poi/layer.sql @@ -4,12 +4,10 @@ CREATE OR REPLACE FUNCTION layer_poi(bbox geometry, zoom_level integer, pixel_width numeric) RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class text, subclass text, "rank" int) AS $$ - SELECT osm_id, geometry, NULLIF(name, ''), NULLIF(name_en, ''), poi_class(subclass) AS class, subclass, + SELECT osm_id, geometry, NULLIF(name, '') AS name, NULLIF(name_en, '') AS name_en, poi_class(subclass) AS class, subclass, row_number() OVER ( PARTITION BY LabelGrid(geometry, 100 * pixel_width) - ORDER BY - CASE WHEN name = '' THEN 1 ELSE 0 END ASC, - poi_class_rank(poi_class(subclass)) ASC + ORDER BY CASE WHEN name = '' THEN 2000 ELSE poi_class_rank(poi_class(subclass)) END ASC )::int AS "rank" FROM ( -- etldoc: osm_poi_point -> layer_poi:z14