Implement aerialway labels (#1309)
This PR adds labels to `aerialway` linestrings after zoom level 12. I roughly followed PR https://github.com/openmaptiles/openmaptiles/pull/1179 These are useful in ski resorts and should not inflate the size of the tiles by much as aerialways are rare:  Co-authored-by: Tomas Pohanka <TomPohys@gmail.com>
This commit is contained in:
parent
7f23feab88
commit
207396269e
Binary file not shown.
|
Before Width: | Height: | Size: 284 KiB After Width: | Height: | Size: 283 KiB |
@ -110,7 +110,7 @@ FROM (
|
||||
AND NOT highway_is_link(highway)
|
||||
AND
|
||||
CASE WHEN highway_class(highway, NULL::text, NULL::text) NOT IN ('path', 'minor') THEN TRUE
|
||||
WHEN highway IN ('unclassified', 'residential', 'shipway') THEN TRUE
|
||||
WHEN highway IN ('aerialway', 'unclassified', 'residential', 'shipway') THEN TRUE
|
||||
WHEN route_rank = 1 THEN TRUE END
|
||||
|
||||
UNION ALL
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
|
||||
-- etldoc: osm_transportation_name_network -> osm_transportation_name_linestring
|
||||
-- etldoc: osm_shipway_linestring -> osm_transportation_name_linestring
|
||||
-- etldoc: osm_aerialway_linestring -> osm_transportation_name_linestring
|
||||
CREATE TABLE IF NOT EXISTS osm_transportation_name_linestring AS
|
||||
SELECT (ST_Dump(geometry)).geom AS geometry,
|
||||
tags,
|
||||
@ -65,6 +66,30 @@ FROM (
|
||||
FROM osm_shipway_linestring
|
||||
WHERE name <> ''
|
||||
GROUP BY name, name_en, name_de, tags, subclass, "level", layer
|
||||
UNION ALL
|
||||
|
||||
SELECT ST_LineMerge(ST_Collect(geometry)) AS geometry,
|
||||
transportation_name_tags(NULL::geometry, tags, name, name_en, name_de) AS tags,
|
||||
NULL AS ref,
|
||||
'aerialway' AS highway,
|
||||
aerialway AS subclass,
|
||||
NULL AS brunnel,
|
||||
NULL AS sac_scale,
|
||||
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,
|
||||
NULL::int AS route_rank
|
||||
FROM osm_aerialway_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(tags->'name', ''), coalesce(ref, ''));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user