Stitch transportation_name by all language tags (#989)

When OSM roads in the `transportation_name` layer are stitched together, their grouping does not consider all `name:*` tags.
As a result, roads with different `name:*` tags may be stitched together.

The `waterway` layer performs the grouping properly, for the same purpose:
1685eaccbd/layers/waterway/update_important_waterway.sql (L34)

Co-authored-by: Frédéric Rodrigo <fred.rodrigo@gmail.com>
This commit is contained in:
zstadler
2020-09-21 12:38:13 +03:00
committed by GitHub
parent 5c640daf4f
commit 45f5b53c9c
2 changed files with 20 additions and 21 deletions

View File

@@ -23,11 +23,11 @@ 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,
name,
COALESCE(name_en, name) AS name_en,
COALESCE(name_de, name, name_en) AS name_de,
tags,
NULLIF(ref, ''),
ref,
NULLIF(LENGTH(ref), 0) AS ref_length,
--TODO: The road network of the road is not yet implemented
CASE
@@ -101,7 +101,7 @@ FROM (
indoor
FROM osm_transportation_name_linestring
WHERE zoom_level = 12
AND LineLabel(zoom_level, COALESCE(NULLIF(name, ''), ref), geometry)
AND LineLabel(zoom_level, COALESCE(name, ref), geometry)
AND highway_class(highway, '', construction) NOT IN ('minor', 'track', 'path')
AND NOT highway_is_link(highway)
UNION ALL
@@ -123,7 +123,7 @@ FROM (
indoor
FROM osm_transportation_name_linestring
WHERE zoom_level = 13
AND LineLabel(zoom_level, COALESCE(NULLIF(name, ''), ref), geometry)
AND LineLabel(zoom_level, COALESCE(name, ref), geometry)
AND highway_class(highway, '', construction) NOT IN ('track', 'path')
UNION ALL