Nameless POI should have least important rank

pull/60/head
Lukas Martinelli 2016-11-30 15:07:58 +00:00
rodzic eb847606bb
commit e50979b45c
1 zmienionych plików z 2 dodań i 4 usunięć

Wyświetl plik

@ -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