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:
@@ -3,10 +3,11 @@
|
||||
-- etldoc: label="layer_poi | <z14_> z14+" ] ;
|
||||
|
||||
CREATE OR REPLACE FUNCTION layer_poi(bbox geometry, zoom_level integer, pixel_width numeric)
|
||||
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, name_de text, class text, subclass text, "rank" int) AS $$
|
||||
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, name_de text, tags hstore, class text, subclass text, "rank" int) AS $$
|
||||
SELECT osm_id, geometry, NULLIF(name, '') AS name,
|
||||
COALESCE(NULLIF(name_en, ''), name) AS name_en,
|
||||
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
|
||||
tags,
|
||||
poi_class(subclass, mapping_key) AS class, subclass,
|
||||
row_number() OVER (
|
||||
PARTITION BY LabelGrid(geometry, 100 * pixel_width)
|
||||
|
||||
@@ -315,6 +315,8 @@ tables:
|
||||
- name: name_de
|
||||
key: name:de
|
||||
type: string
|
||||
- name: tags
|
||||
type: hstore_tags
|
||||
- name: subclass
|
||||
type: mapping_value
|
||||
- name: mapping_key
|
||||
@@ -354,6 +356,8 @@ tables:
|
||||
- name: name_de
|
||||
key: name:de
|
||||
type: string
|
||||
- name: tags
|
||||
type: hstore_tags
|
||||
- name: subclass
|
||||
type: mapping_value
|
||||
- name: mapping_key
|
||||
|
||||
5
layers/poi/name.sql
Normal file
5
layers/poi/name.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
DO $$
|
||||
BEGIN
|
||||
update osm_poi_point SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry);
|
||||
update osm_poi_polygon SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry);
|
||||
END $$;
|
||||
@@ -34,9 +34,10 @@ layer:
|
||||
datasource:
|
||||
geometry_field: geometry
|
||||
srid: 900913
|
||||
query: (SELECT geometry, name, name_en, name_de, class, subclass, rank FROM layer_poi(!bbox!, z(!scale_denominator!), !pixel_width!)) AS t
|
||||
query: (SELECT geometry, name, name_en, name_de, {name_languages}, class, subclass, rank FROM layer_poi(!bbox!, z(!scale_denominator!), !pixel_width!)) AS t
|
||||
schema:
|
||||
- ./poi_update.sql
|
||||
- ./name.sql
|
||||
- ./poi_polygon_update.sql
|
||||
- ./class.sql
|
||||
- ./layer.sql
|
||||
|
||||
Reference in New Issue
Block a user