From 35786ee64c3ece6359713977f9b216fdee61b4cf Mon Sep 17 00:00:00 2001 From: jirik Date: Tue, 28 Nov 2017 19:39:55 +0100 Subject: [PATCH] Add osm_id as key of water_name --- layers/water_name/layer.sql | 14 +++++++++++--- layers/water_name/water_name.yaml | 4 +++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/layers/water_name/layer.sql b/layers/water_name/layer.sql index 2ce15f90..f59c996e 100644 --- a/layers/water_name/layer.sql +++ b/layers/water_name/layer.sql @@ -6,7 +6,11 @@ CREATE OR REPLACE FUNCTION layer_water_name(bbox geometry, zoom_level integer) RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, name_de text, tags hstore, class text) AS $$ -- etldoc: osm_water_lakeline -> layer_water_name:z9_13 -- etldoc: osm_water_lakeline -> layer_water_name:z14_ - SELECT osm_id, geometry, name, + SELECT + CASE WHEN osm_id<0 THEN -osm_id*10+4 + ELSE osm_id*10+1 + END AS osm_id_hash, + geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, tags, @@ -18,7 +22,11 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, name_de -- etldoc: osm_water_point -> layer_water_name:z9_13 -- etldoc: osm_water_point -> layer_water_name:z14_ UNION ALL - SELECT osm_id, geometry, name, + SELECT + CASE WHEN osm_id<0 THEN -osm_id*10+4 + ELSE osm_id*10+1 + END AS osm_id_hash, + geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, tags, @@ -32,7 +40,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, name_de -- etldoc: osm_marine_point -> layer_water_name:z9_13 -- etldoc: osm_marine_point -> layer_water_name:z14_ UNION ALL - SELECT osm_id, geometry, name, + SELECT osm_id*10, geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, tags, diff --git a/layers/water_name/water_name.yaml b/layers/water_name/water_name.yaml index d499f482..c1263fb9 100644 --- a/layers/water_name/water_name.yaml +++ b/layers/water_name/water_name.yaml @@ -17,8 +17,10 @@ layer: srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over datasource: geometry_field: geometry + key_field: osm_id + key_field_as_attribute: no srid: 900913 - query: (SELECT geometry, name, name_en, name_de, {name_languages}, class FROM layer_water_name(!bbox!, z(!scale_denominator!))) AS t + query: (SELECT osm_id, geometry, name, name_en, name_de, {name_languages}, class FROM layer_water_name(!bbox!, z(!scale_denominator!))) AS t schema: - ./update_marine_point.sql - ./update_water_lakeline.sql