From a380f358fee02e6c62dc0fc3b8e3487d18f4e4a6 Mon Sep 17 00:00:00 2001 From: jirik Date: Mon, 4 Dec 2017 10:49:50 +0100 Subject: [PATCH] Add osm_id as key of places --- layers/place/layer.sql | 12 ++++++------ layers/place/place.yaml | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/layers/place/layer.sql b/layers/place/layer.sql index 9ec97790..193ed0b7 100644 --- a/layers/place/layer.sql +++ b/layers/place/layer.sql @@ -9,7 +9,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, -- etldoc: osm_continent_point -> layer_place:z0_3 SELECT - osm_id, geometry, name, + osm_id*10, geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, tags, @@ -24,7 +24,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, -- etldoc: osm_country_point -> layer_place:z8_11 -- etldoc: osm_country_point -> layer_place:z12_14 SELECT - osm_id, geometry, name, + osm_id*10, geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, tags, @@ -39,7 +39,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, -- etldoc: osm_state_point -> layer_place:z8_11 -- etldoc: osm_state_point -> layer_place:z12_14 SELECT - osm_id, geometry, name, + osm_id*10, geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, tags, @@ -56,7 +56,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, -- etldoc: osm_island_point -> layer_place:z12_14 SELECT - osm_id, geometry, name, + osm_id*10, geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, tags, @@ -70,7 +70,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, -- etldoc: osm_island_polygon -> layer_place:z8_11 -- etldoc: osm_island_polygon -> layer_place:z12_14 SELECT - osm_id, geometry, name, + osm_id*10, geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, tags, @@ -88,7 +88,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, -- etldoc: layer_city -> layer_place:z8_11 -- etldoc: layer_city -> layer_place:z12_14 SELECT - osm_id, geometry, name, name_en, name_de, + osm_id*10, geometry, name, name_en, name_de, tags, place::text AS class, "rank", capital, NULL::text AS iso_a2 diff --git a/layers/place/place.yaml b/layers/place/place.yaml index ba5312d5..f6518d79 100644 --- a/layers/place/place.yaml +++ b/layers/place/place.yaml @@ -58,7 +58,9 @@ layer: buffer_size: 256 datasource: geometry_field: geometry - query: (SELECT geometry, name, name_en, name_de, {name_languages}, class, rank, capital, iso_a2 FROM layer_place(!bbox!, z(!scale_denominator!), !pixel_width!)) AS t + key_field: osm_id + key_field_as_attribute: no + query: (SELECT osm_id, geometry, name, name_en, name_de, {name_languages}, class, rank, capital, iso_a2 FROM layer_place(!bbox!, z(!scale_denominator!), !pixel_width!)) AS t schema: - ./types.sql - ./capital.sql