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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user