Compare commits

..

2 Commits

3 changed files with 20 additions and 7 deletions

View File

@ -62,7 +62,7 @@ SELECT CASE class
$$ LANGUAGE SQL IMMUTABLE
PARALLEL SAFE;
CREATE OR REPLACE FUNCTION poi_class(subclass text, mapping_key text)
CREATE OR REPLACE FUNCTION poi_class(subclass text, mapping_key text, subtype text)
RETURNS text AS
$$
SELECT CASE

View File

@ -26,7 +26,21 @@ 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,
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
) AS class,
CASE
WHEN subclass = 'information'
THEN NULLIF(information, '')
@ -34,10 +48,6 @@ SELECT osm_id_hash AS osm_id,
THEN NULLIF(religion, '')
WHEN subclass = 'pitch'
THEN NULLIF(sport, '')
WHEN power = 'generator' AND source = 'wind'
THEN 'wind_turbine'
WHEN power = 'generator'
THEN NULLIF(source, '')
ELSE subclass
END AS subclass,
agg_stop,

View File

@ -131,7 +131,10 @@ layer:
heliport:
subclass: ['helipad']
wind_turbine:
subclass: ['wind']
__AND__:
subclass: ['generator']
subtype: ['wind']
mapping_key: 'aerialway'
communications_tower:
subclass: ['communications_tower']
water_tower: