Add German names (name_de), unify English names (name_en)
This commit is contained in:
@@ -3,10 +3,13 @@
|
||||
-- etldoc: label="layer_water_name | <z9_13> z9_13 | <z14_> z14+" ] ;
|
||||
|
||||
CREATE OR REPLACE FUNCTION layer_water_name(bbox geometry, zoom_level integer)
|
||||
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class text) AS $$
|
||||
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, name_de text, 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, name_en, 'lake'::text AS class
|
||||
SELECT osm_id, geometry, name,
|
||||
COALESCE(NULLIF(name_en, ''), name) AS name_en,
|
||||
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
|
||||
'lake'::text AS class
|
||||
FROM osm_water_lakeline
|
||||
WHERE geometry && bbox
|
||||
AND ((zoom_level BETWEEN 9 AND 13 AND LineLabel(zoom_level, NULLIF(name, ''), geometry))
|
||||
@@ -14,7 +17,10 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class t
|
||||
-- etldoc: osm_water_point -> layer_water_name:z9_13
|
||||
-- etldoc: osm_water_point -> layer_water_name:z14_
|
||||
UNION ALL
|
||||
SELECT osm_id, geometry, name, name_en, 'lake'::text AS class
|
||||
SELECT osm_id, geometry, name,
|
||||
COALESCE(NULLIF(name_en, ''), name) AS name_en,
|
||||
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
|
||||
'lake'::text AS class
|
||||
FROM osm_water_point
|
||||
WHERE geometry && bbox AND (
|
||||
(zoom_level BETWEEN 9 AND 13 AND area > 70000*2^(20-zoom_level))
|
||||
@@ -22,7 +28,10 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class t
|
||||
)
|
||||
-- etldoc: osm_marine_point -> layer_water_name:z0_14_
|
||||
UNION ALL
|
||||
SELECT osm_id, geometry, name, name_en, place::text AS class
|
||||
SELECT osm_id, geometry, name,
|
||||
COALESCE(NULLIF(name_en, ''), name) AS name_en,
|
||||
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
|
||||
place::text AS class
|
||||
FROM osm_marine_point
|
||||
WHERE geometry && bbox AND (
|
||||
place = 'ocean'
|
||||
|
||||
@@ -13,6 +13,9 @@ tables:
|
||||
- name: name_en
|
||||
key: name:en
|
||||
type: string
|
||||
- name: name_de
|
||||
key: name:de
|
||||
type: string
|
||||
- name: place
|
||||
key: place
|
||||
type: string
|
||||
|
||||
@@ -8,7 +8,7 @@ DROP MATERIALIZED VIEW IF EXISTS osm_water_lakeline CASCADE;
|
||||
CREATE MATERIALIZED VIEW osm_water_lakeline AS (
|
||||
SELECT wp.osm_id,
|
||||
ll.wkb_geometry AS geometry,
|
||||
name, name_en, ST_Area(wp.geometry) AS area
|
||||
name, name_en, name_de, ST_Area(wp.geometry) AS area
|
||||
FROM osm_water_polygon AS wp
|
||||
INNER JOIN lake_centerline ll ON wp.osm_id = ll.osm_id
|
||||
WHERE wp.name <> ''
|
||||
@@ -24,7 +24,7 @@ CREATE OR REPLACE FUNCTION water_lakeline.flag() RETURNS trigger AS $$
|
||||
BEGIN
|
||||
INSERT INTO water_lakeline.updates(t) VALUES ('y') ON CONFLICT(t) DO NOTHING;
|
||||
RETURN null;
|
||||
END;
|
||||
END;
|
||||
$$ language plpgsql;
|
||||
|
||||
CREATE OR REPLACE FUNCTION water_lakeline.refresh() RETURNS trigger AS
|
||||
|
||||
@@ -17,7 +17,7 @@ layer:
|
||||
datasource:
|
||||
geometry_field: geometry
|
||||
srid: 900913
|
||||
query: (SELECT geometry, name, name_en, class FROM layer_water_name(!bbox!, z(!scale_denominator!))) AS t
|
||||
query: (SELECT geometry, name, name_en, name_de, class FROM layer_water_name(!bbox!, z(!scale_denominator!))) AS t
|
||||
schema:
|
||||
- ./merge_marine_rank.sql
|
||||
- ./water_lakeline.sql
|
||||
|
||||
@@ -8,13 +8,13 @@ DROP MATERIALIZED VIEW IF EXISTS osm_water_point CASCADE;
|
||||
CREATE MATERIALIZED VIEW osm_water_point AS (
|
||||
SELECT
|
||||
wp.osm_id, ST_PointOnSurface(wp.geometry) AS geometry,
|
||||
wp.name, wp.name_en, ST_Area(wp.geometry) AS area
|
||||
wp.name, wp.name_en, wp.name_de, ST_Area(wp.geometry) AS area
|
||||
FROM osm_water_polygon AS wp
|
||||
LEFT JOIN lake_centerline ll ON wp.osm_id = ll.osm_id
|
||||
WHERE ll.osm_id IS NULL AND wp.name <> ''
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS osm_water_point_geometry_idx ON osm_water_point USING gist (geometry);
|
||||
|
||||
|
||||
-- Handle updates
|
||||
|
||||
CREATE SCHEMA IF NOT EXISTS water_point;
|
||||
@@ -24,7 +24,7 @@ CREATE OR REPLACE FUNCTION water_point.flag() RETURNS trigger AS $$
|
||||
BEGIN
|
||||
INSERT INTO water_point.updates(t) VALUES ('y') ON CONFLICT(t) DO NOTHING;
|
||||
RETURN null;
|
||||
END;
|
||||
END;
|
||||
$$ language plpgsql;
|
||||
|
||||
CREATE OR REPLACE FUNCTION water_point.refresh() RETURNS trigger AS
|
||||
|
||||
Reference in New Issue
Block a user