Suppress service roads at certain zooms (#1192)

Fixes #1191

This PR suppresses `highway=service` at zoom 12, where it is not a useful level of detail.  This makes OpenMapTiles consistent with openstreetmap-carto, which does not begin showing `highway=service` until raster zoom 14 / vector zoom 13.

Additionally, this PR suppresses `highway=service` + `service=parking_aisle` / `service=driveway` from zooms 12-13, as this detail is excessive below zoom 14.  As a point of comparison, openstreetmap-carto does not begin showing `service=parking_aisle` / `service=driveway` until raster zoom 16 (vector zoom 15).
This commit is contained in:
Brian Sperlongano 2021-09-01 03:18:45 -04:00 committed by GitHub
parent d427d58e36
commit 3818979143
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 1 deletions

View File

@ -232,6 +232,9 @@ tables:
- platform - platform
man_made: man_made:
- pier - pier
service:
- driveway
- parking_aisle
# etldoc: imposm3 -> osm_railway_linestring # etldoc: imposm3 -> osm_railway_linestring
railway_linestring: railway_linestring:
@ -362,6 +365,7 @@ tables:
type: bool type: bool
- *public_transport - *public_transport
- *man_made - *man_made
- *service
mapping: mapping:
highway: highway:
- path - path

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 126 KiB

View File

@ -360,7 +360,7 @@ FROM (
WHERE NOT is_area WHERE NOT is_area
AND ( AND (
zoom_level = 12 AND ( zoom_level = 12 AND (
highway_class(highway, public_transport, construction) NOT IN ('track', 'path', 'minor') highway_class(highway, public_transport, construction) NOT IN ('track', 'path', 'minor', 'service')
OR highway IN ('unclassified', 'residential') OR highway IN ('unclassified', 'residential')
) AND man_made <> 'pier' ) AND man_made <> 'pier'
OR zoom_level = 13 OR zoom_level = 13
@ -370,6 +370,7 @@ FROM (
OR OR
man_made = 'pier' AND NOT ST_IsClosed(geometry) man_made = 'pier' AND NOT ST_IsClosed(geometry)
) )
AND service NOT IN ('driveway', 'parking_aisle')
OR zoom_level >= 14 OR zoom_level >= 14
AND ( AND (
man_made <> 'pier' man_made <> 'pier'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 126 KiB