Remove subclass for landuse

pull/62/head
Lukas Martinelli 2016-11-30 09:31:44 +00:00
rodzic dd0ba38633
commit 7ca0fc6646
1 zmienionych plików z 6 dodań i 12 usunięć

Wyświetl plik

@ -1,12 +1,3 @@
CREATE OR REPLACE FUNCTION landuse_class(landuse TEXT, amenity TEXT, leisure TEXT) RETURNS TEXT AS $$
SELECT CASE
WHEN amenity IN ('school', 'university', 'kindergarten', 'college', 'library') THEN 'school'
WHEN landuse IN('hospital', 'railway', 'cemetery', 'military', 'residential') THEN landuse
ELSE NULL
END;
$$ LANGUAGE SQL IMMUTABLE;
-- etldoc: ne_50m_urban_areas -> landuse_z4
CREATE OR REPLACE VIEW landuse_z4 AS (
SELECT NULL::bigint AS osm_id, geom AS geometry, 'residential'::text AS landuse, NULL::text AS amenity, NULL::text AS leisure, scalerank
@ -61,10 +52,13 @@ CREATE OR REPLACE VIEW landuse_z14 AS (
-- etldoc: label="layer_landuse |<z4> z4|<z5>z5|<z6>z6|<z7>z7| <z8> z8 |<z9> z9 |<z10> z10 |<z11> z11|<z12> z12|<z13> z13|<z14_> z14_" ] ;
CREATE OR REPLACE FUNCTION layer_landuse(bbox geometry, zoom_level int)
RETURNS TABLE(osm_id bigint, geometry geometry, class text, subclass text) AS $$
RETURNS TABLE(osm_id bigint, geometry geometry, class text) AS $$
SELECT osm_id, geometry,
landuse_class(landuse, amenity, leisure) AS class,
COALESCE(NULLIF(landuse, ''), NULLIF(amenity, ''), NULLIF(leisure, '')) AS subclass
COALESCE(
NULLIF(landuse, ''),
NULLIF(amenity, ''),
NULLIF(leisure, '')
) AS class
FROM (
-- etldoc: landuse_z4 -> layer_landuse:z4
SELECT * FROM landuse_z4