Multilinguality (#279)

Improve multilinguality: names in 57 languages, name:latin, name:nonlatin, name_int. Fixes #211 #252 #80.

See #279 for more info.
This commit is contained in:
Jiri Kozel
2017-06-12 17:53:47 +02:00
committed by GitHub
parent 8ff5d10e8b
commit 51bc8fad35
33 changed files with 182 additions and 114 deletions

View File

@@ -3,13 +3,14 @@
-- etldoc: style="rounded,filled", label="layer_mountain_peak | <z7_> z7+" ] ;
CREATE OR REPLACE FUNCTION layer_mountain_peak(bbox geometry, zoom_level integer, pixel_width numeric)
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, name_de text, ele int, ele_ft int, "rank" int) AS $$
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, name_de text, tags hstore, ele int, ele_ft int, "rank" int) AS $$
-- etldoc: osm_peak_point -> layer_mountain_peak:z7_
SELECT osm_id, geometry, name, name_en, name_de, ele::int, ele_ft::int, rank::int
SELECT osm_id, geometry, name, name_en, name_de, tags, ele::int, ele_ft::int, rank::int
FROM (
SELECT osm_id, geometry, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags,
substring(ele from E'^(-?\\d+)(\\D|$)')::int AS ele,
round(substring(ele from E'^(-?\\d+)(\\D|$)')::int*3.2808399)::int AS ele_ft,
row_number() OVER (

View File

@@ -17,6 +17,8 @@ tables:
- name: name_de
key: name:de
type: string
- name: tags
type: hstore_tags
- name: ele
key: ele
type: string

View File

@@ -14,8 +14,9 @@ layer:
datasource:
geometry_field: geometry
srid: 900913
query: (SELECT osm_id, geometry, name, name_en, name_de, ele, ele_ft, rank FROM layer_mountain_peak(!bbox!, z(!scale_denominator!), !pixel_width!)) AS t
query: (SELECT osm_id, geometry, name, name_en, name_de, {name_languages}, ele, ele_ft, rank FROM layer_mountain_peak(!bbox!, z(!scale_denominator!), !pixel_width!)) AS t
schema:
- ./name.sql
- ./layer.sql
datasources:
- type: imposm3

View File

@@ -0,0 +1,4 @@
DO $$
BEGIN
update osm_peak_point SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry);
END $$;