kopia lustrzana https://github.com/openmaptiles/openmaptiles
Implement shipway labels (#1179)
Fixes #403 This PR adds labels to shipway linestrings in the `transportation_name` level, up through zoom 12. pull/1184/head^2
rodzic
6ef138635d
commit
a93b708327
Plik binarny nie jest wyświetlany.
|
Przed Szerokość: | Wysokość: | Rozmiar: 258 KiB Po Szerokość: | Wysokość: | Rozmiar: 287 KiB |
|
|
@ -110,7 +110,7 @@ FROM (
|
|||
FROM osm_transportation_name_linestring
|
||||
WHERE zoom_level = 12
|
||||
AND LineLabel(zoom_level, COALESCE(name, ref), geometry)
|
||||
AND highway_class(highway, '', subclass) NOT IN ('minor', 'track', 'path')
|
||||
AND (highway_class(highway, '', subclass) NOT IN ('minor', 'track', 'path') OR highway='shipway')
|
||||
AND NOT highway_is_link(highway)
|
||||
UNION ALL
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ FROM (
|
|||
FROM osm_transportation_name_linestring
|
||||
WHERE zoom_level = 13
|
||||
AND LineLabel(zoom_level, COALESCE(name, ref), geometry)
|
||||
AND highway_class(highway, '', subclass) NOT IN ('track', 'path')
|
||||
AND (highway_class(highway, '', subclass) NOT IN ('track', 'path') OR highway='shipway')
|
||||
UNION ALL
|
||||
|
||||
-- etldoc: osm_transportation_name_linestring -> layer_transportation_name:z14_
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ CREATE INDEX IF NOT EXISTS osm_transportation_name_network_geometry_idx ON osm_t
|
|||
|
||||
|
||||
-- etldoc: osm_transportation_name_network -> osm_transportation_name_linestring
|
||||
-- etldoc: osm_shipway_linestring -> osm_transportation_name_linestring
|
||||
CREATE TABLE IF NOT EXISTS osm_transportation_name_linestring AS
|
||||
SELECT (ST_Dump(geometry)).geom AS geometry,
|
||||
name,
|
||||
|
|
@ -105,6 +106,31 @@ FROM (
|
|||
WHERE name <> '' OR ref <> ''
|
||||
GROUP BY name, name_en, name_de, tags, ref, highway, subclass, "level", layer, indoor, network_type,
|
||||
route_1, route_2, route_3, route_4, route_5, route_6
|
||||
UNION ALL
|
||||
|
||||
SELECT ST_LineMerge(ST_Collect(geometry)) AS geometry,
|
||||
CASE WHEN length(name) > 15 THEN osml10n_street_abbrev_all(name) ELSE NULLIF(name, '') END AS "name",
|
||||
CASE WHEN length(name_en) > 15 THEN osml10n_street_abbrev_en(name_en) ELSE NULLIF(name_en, '') END AS "name_en",
|
||||
CASE WHEN length(name_de) > 15 THEN osml10n_street_abbrev_de(name_de) ELSE NULLIF(name_de, '') END AS "name_de",
|
||||
slice_language_tags(tags) || hstore(ARRAY ['name', name, 'name:en', name_en, 'name:de', name_de]) AS tags,
|
||||
NULL AS ref,
|
||||
'shipway' AS highway,
|
||||
shipway AS subclass,
|
||||
NULL AS brunnel,
|
||||
NULL::int AS level,
|
||||
layer,
|
||||
NULL AS indoor,
|
||||
NULL AS network_type,
|
||||
NULL AS route_1,
|
||||
NULL AS route_2,
|
||||
NULL AS route_3,
|
||||
NULL AS route_4,
|
||||
NULL AS route_5,
|
||||
NULL AS route_6,
|
||||
min(z_order) AS z_order
|
||||
FROM osm_shipway_linestring
|
||||
WHERE name <> ''
|
||||
GROUP BY name, name_en, name_de, tags, subclass, "level", layer
|
||||
) AS highway_union
|
||||
;
|
||||
CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_name_ref_idx ON osm_transportation_name_linestring (coalesce(name, ''), coalesce(ref, ''));
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue