Merge branch 'master' into gh-master

# Conflicts:
#	Makefile
#	layers/landuse/landuse.sql
#	layers/poi/poi.sql
This commit is contained in:
2021-04-24 22:47:18 +02:00
20 changed files with 760 additions and 42 deletions

View File

@@ -26,7 +26,7 @@ SELECT osm_id_hash AS osm_id,
COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags,
poi_class(subclass, mapping_key) AS class,
poi_class(subclass, mapping_key, subtype) AS class,
CASE
WHEN subclass = 'information'
THEN NULLIF(information, '')
@@ -34,6 +34,8 @@ SELECT osm_id_hash AS osm_id,
THEN NULLIF(religion, '')
WHEN subclass = 'pitch'
THEN NULLIF(sport, '')
WHEN subclass = 'sports_centre'
THEN NULLIF(sport, subclass)
ELSE subclass
END AS subclass,
agg_stop,
@@ -42,9 +44,33 @@ 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
)::int AS "rank"
ORDER BY
CASE
WHEN name = ''
THEN 2000
ELSE poi_class_rank(poi_class(
subclass,
mapping_key,
subtype
), subclass) END ASC
)::int AS "rank"
FROM (
-- Intermediate mapping for subtype and filtering out nameless industrial/office buildings
SELECT *,
CASE
WHEN subclass = 'information'
THEN NULLIF(information, '')
WHEN subclass = 'place_of_worship'
THEN NULLIF(religion, '')
WHEN subclass = 'pitch'
THEN NULLIF(sport, '')
WHEN subclass = 'sports_centre'
THEN NULLIF(sport, '')
WHEN subclass = 'generator' AND mapping_key = 'power'
THEN NULLIF(source, '')
ELSE subclass
END as subtype
FROM (
-- etldoc: osm_poi_point -> layer_poi:z12
-- etldoc: osm_poi_point -> layer_poi:z13
SELECT *,
@@ -92,7 +118,9 @@ FROM (
FROM osm_poi_polygon
WHERE geometry && bbox
AND zoom_level >= 14
) AS poi_union
) AS poi_union_raw
WHERE NOT (mapping_key = 'building' AND (subclass = 'office' OR subclass = 'industrial') AND coalesce(name, name_en, '') = '')
) AS poi_union
ORDER BY "rank"
$$ LANGUAGE SQL STABLE
PARALLEL SAFE;