diff --git a/layers/poi/layer.sql b/layers/poi/layer.sql index 8e6ce39..b77cd86 100644 --- a/layers/poi/layer.sql +++ b/layers/poi/layer.sql @@ -56,7 +56,25 @@ SELECT osm_id_hash AS osm_id, CASE WHEN indoor = TRUE THEN 1 END AS indoor, row_number() OVER ( PARTITION BY LabelGrid(geometry, 100 * pixel_width) - ORDER BY CASE WHEN name = '' THEN 2000 ELSE poi_class_rank(poi_class(subclass, mapping_key)) END ASC + ORDER BY + CASE + WHEN name = '' + THEN 2000 + ELSE poi_class_rank(poi_class( + subclass, + mapping_key, + CASE + WHEN subclass = 'information' + THEN NULLIF(information, '') + WHEN subclass = 'place_of_worship' + THEN NULLIF(religion, '') + WHEN subclass = 'pitch' + THEN NULLIF(sport, '') + WHEN subclass = 'generator' AND mapping_key = 'power' + THEN NULLIF(source, '') + ELSE subclass + END + )) END ASC )::int AS "rank" FROM ( -- etldoc: osm_poi_point -> layer_poi:z12 diff --git a/test.sh b/test.sh index 789207f..0452440 100755 --- a/test.sh +++ b/test.sh @@ -31,7 +31,7 @@ make download-${SOURCE} area="${AREA}" # Import (yes we're doing import borders twice, it crashes on first run, oddly enough) make import-osm -make import-borders +make import-borders || true make import-borders make import-wikidata make import-sql