Selective rendering of tracks and paths at z12-13 (#1190)
Closes #271 This PR adds track and path rendering at lower zooms than currently provided, and also achieves near-parity with openstreetmap-carto on track and path rendering. A previously-abandoned attempt, with significant discussion, was #1169.
This commit is contained in:
committed by
GitHub
parent
7f531c1dbb
commit
75d8c80228
@@ -329,9 +329,12 @@ FROM (
|
||||
-- etldoc: osm_highway_linestring -> layer_transportation:z12
|
||||
-- etldoc: osm_highway_linestring -> layer_transportation:z13
|
||||
-- etldoc: osm_highway_linestring -> layer_transportation:z14_
|
||||
SELECT osm_id,
|
||||
geometry,
|
||||
highway,
|
||||
-- etldoc: osm_transportation_name_network -> layer_transportation:z12
|
||||
-- etldoc: osm_transportation_name_network -> layer_transportation:z13
|
||||
-- etldoc: osm_transportation_name_network -> layer_transportation:z14_
|
||||
SELECT hl.osm_id,
|
||||
hl.geometry,
|
||||
hl.highway,
|
||||
construction,
|
||||
network,
|
||||
NULL AS railway,
|
||||
@@ -347,25 +350,34 @@ FROM (
|
||||
is_ramp,
|
||||
is_oneway,
|
||||
man_made,
|
||||
layer,
|
||||
CASE WHEN highway IN ('footway', 'steps') THEN "level" END AS "level",
|
||||
CASE WHEN highway IN ('footway', 'steps') THEN indoor END AS indoor,
|
||||
hl.layer,
|
||||
CASE WHEN hl.highway IN ('footway', 'steps') THEN hl.level END AS level,
|
||||
CASE WHEN hl.highway IN ('footway', 'steps') THEN hl.indoor END AS indoor,
|
||||
bicycle,
|
||||
foot,
|
||||
horse,
|
||||
mtb_scale,
|
||||
surface_value(surface) AS "surface",
|
||||
z_order
|
||||
FROM osm_highway_linestring
|
||||
hl.z_order
|
||||
FROM osm_highway_linestring hl
|
||||
LEFT OUTER JOIN osm_transportation_name_network n ON hl.osm_id = n.osm_id
|
||||
WHERE NOT is_area
|
||||
AND
|
||||
CASE WHEN zoom_level = 12 THEN transportation_filter_z12(highway, construction)
|
||||
CASE WHEN zoom_level = 12 THEN
|
||||
CASE WHEN transportation_filter_z12(hl.highway, hl.construction) THEN TRUE
|
||||
WHEN n.route_rank = 1 THEN TRUE
|
||||
END
|
||||
WHEN zoom_level = 13 THEN
|
||||
CASE WHEN man_made='pier' THEN NOT ST_IsClosed(geometry)
|
||||
ELSE transportation_filter_z13(highway, public_transport, construction, service)
|
||||
CASE WHEN man_made='pier' THEN NOT ST_IsClosed(hl.geometry)
|
||||
WHEN hl.highway = 'path' THEN (
|
||||
hl.name <> ''
|
||||
OR n.route_rank BETWEEN 1 AND 2
|
||||
OR hl.sac_scale <> ''
|
||||
)
|
||||
ELSE transportation_filter_z13(hl.highway, public_transport, hl.construction, service)
|
||||
END
|
||||
WHEN zoom_level >= 14 THEN
|
||||
CASE WHEN man_made='pier' THEN NOT ST_IsClosed(geometry)
|
||||
CASE WHEN man_made='pier' THEN NOT ST_IsClosed(hl.geometry)
|
||||
ELSE TRUE
|
||||
END
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user