diff --git a/planetiler-custommap/src/main/resources/samples/shortbread.spec.yml b/planetiler-custommap/src/main/resources/samples/shortbread.spec.yml index 9dceec2f..a6ec083d 100644 --- a/planetiler-custommap/src/main/resources/samples/shortbread.spec.yml +++ b/planetiler-custommap/src/main/resources/samples/shortbread.spec.yml @@ -314,6 +314,7 @@ examples: ref: B 27 ref_rows: 1 ref_cols: 4 + tunnel: false - name: B39A link input: @@ -347,15 +348,18 @@ examples: rail: false surface: asphalt tunnel: false + oneway: true + oneway_reverse: false - layer: street_labels geometry: line min_zoom: 13 allow_extra_tags: false tags: - kind: primary + kind: primary_link ref: "B 39\nB 39A" ref_rows: 2 ref_cols: 5 + tunnel: false - name: rail with service input: @@ -377,6 +381,8 @@ examples: rail: true tunnel: false service: service_value + oneway: false + oneway_reverse: false - name: narrow_gauge without service input: @@ -395,6 +401,8 @@ examples: link: false rail: true tunnel: false + oneway: false + oneway_reverse: false - name: 'track with grade' input: @@ -454,22 +462,7 @@ examples: allow_extra_tags: false tags: kind: motorway - -- name: 'rail attributes drop below z11' - input: - source: osm - geometry: line - tags: - railway: rail - service: primary - output: - layer: streets - geometry: line - min_zoom: 8 - at_zoom: 10 - allow_extra_tags: false - tags: - kind: rail + rail: false - name: 'path bridge' input: @@ -482,9 +475,14 @@ examples: layer: streets geometry: line min_zoom: 13 + allow_extra_tags: false tags: - bridge: true kind: path + bridge: true + link: false + oneway: false + oneway_reverse: false + rail: false tunnel: false - name: 'pedestrian tunnel' @@ -497,10 +495,16 @@ examples: output: layer: streets geometry: line + min_zoom: 13 + allow_extra_tags: false tags: - bridge: false kind: pedestrian tunnel: true + bridge: false + link: false + oneway: false + oneway_reverse: false + rail: false - name: 'horse' input: @@ -512,9 +516,17 @@ examples: output: layer: streets geometry: line + min_zoom: 13 + allow_extra_tags: false tags: kind: track horse: definitely + tunnel: false + bridge: false + link: false + oneway: false + oneway_reverse: false + rail: false - name: 'bicycle' input: @@ -526,9 +538,17 @@ examples: output: layer: streets geometry: line + min_zoom: 13 + allow_extra_tags: false tags: kind: track bicycle: definitely + tunnel: false + bridge: false + link: false + oneway: false + oneway_reverse: false + rail: false - name: 'aeroway=taxiway' input: @@ -538,11 +558,28 @@ examples: aeroway: taxiway ref: N output: - layer: streets - geometry: line - min_zoom: 13 - tags: - kind: taxiway + - layer: streets + geometry: line + allow_extra_tags: false + min_zoom: 13 + tags: + kind: taxiway + bridge: false + tunnel: false + link: false + rail: false + oneway: false + oneway_reverse: false + - layer: street_labels + geometry: line + allow_extra_tags: false + min_zoom: 13 + tags: + kind: taxiway + ref: N + ref_rows: 1 + ref_cols: 1 + tunnel: false - name: 'aeroway=runway' input: @@ -553,12 +590,29 @@ examples: ref: 07/25 surface: concrete:lanes output: - layer: streets + - layer: streets geometry: line min_zoom: 11 + allow_extra_tags: false tags: kind: runway surface: concrete:lanes + bridge: false + tunnel: false + link: false + rail: false + oneway: false + oneway_reverse: false + - layer: street_labels + geometry: line + min_zoom: 11 + allow_extra_tags: false + tags: + kind: runway + ref: 07/25 + ref_rows: 1 + ref_cols: 5 + tunnel: false - name: 'pedestrian polygon' input: @@ -582,7 +636,7 @@ examples: rail: false surface: paving_stones tunnel: false - - layer: street_polygons_labels + - layer: streets_polygons_labels geometry: point min_zoom: 14 allow_extra_tags: false @@ -591,7 +645,7 @@ examples: name: 'Name' name_en: 'Name (en)' -- name: 'ignore pedestrian polygon without area=yes' +- name: 'pedestrian polygon without area=yes gets also interpreted as an polygon' input: source: osm geometry: polygon @@ -599,7 +653,24 @@ examples: highway: pedestrian name: 'Name' name:en: 'Name (en)' - output: [ ] + output: + - layer: street_polygons + geometry: polygon + allow_extra_tags: false + min_zoom: 14 + tags: + kind: pedestrian + bridge: false + tunnel: false + rail: false + - layer: streets_polygons_labels + geometry: point + allow_extra_tags: false + min_zoom: 14 + tags: + kind: pedestrian + name: 'Name' + name_en: 'Name (en)' - name: 'pedestrian polygon bridge' input: @@ -612,10 +683,13 @@ examples: output: layer: street_polygons geometry: polygon + allow_extra_tags: false min_zoom: 14 tags: kind: service bridge: true + rail: false + tunnel: false - name: 'motorway junction' input: @@ -628,6 +702,7 @@ examples: output: layer: street_labels_points geometry: point + allow_extra_tags: false min_zoom: 12 tags: kind: motorway_junction diff --git a/planetiler-custommap/src/main/resources/samples/shortbread.yml b/planetiler-custommap/src/main/resources/samples/shortbread.yml index f67a5fae..162b23c2 100644 --- a/planetiler-custommap/src/main/resources/samples/shortbread.yml +++ b/planetiler-custommap/src/main/resources/samples/shortbread.yml @@ -249,15 +249,17 @@ layers: attributes: - key: kind type: match_value - - &water_lines_attr_tunnel + - &attr_tunnel key: tunnel + min_zoom: 11 # to reuse for streets, not relevant for water as min_zoom is lower value: true include_when: tunnel: [ yes, building_passage ] covered: yes else: false - - &water_lines_attr_bridge + - &attr_bridge key: bridge + min_zoom: 11 # to reuse for streets, not relevant for water as min_zoom is lower value: true include_when: bridge: @@ -295,8 +297,8 @@ layers: - *name - *name_en - *name_de - - *water_lines_attr_tunnel - - *water_lines_attr_bridge + - *attr_tunnel + - *attr_bridge - id: dam_lines features: @@ -643,7 +645,11 @@ layers: 11: aeroway: runway 12: - highway: [ residential, unclassified ] + highway: + - bus_guideway + - busway + - residential + - unclassified # TODO min_tile_cover_size: 0 # TODO z-order include_when: @@ -660,6 +666,8 @@ layers: - tertiary_link - unclassified - residential + - busway + - bus_guideway - living_street - service - pedestrian @@ -686,28 +694,40 @@ layers: min_zoom: 11 value: true include_when: - highway: '%_link' + highway: + - motorway_link + - trunk_link + - primary_link + - secondary_link + - tertiary_link else: false - key: rail - min_zoom: 11 + min_zoom: 5 value: true include_when: railway: __any__ else: false - - &tunnel_attr - key: tunnel - min_zoom: 11 + - *attr_tunnel + - *attr_bridge + - key: oneway + min_zoom: 14 value: true include_when: - tunnel: [ yes, building_passage ] - covered: yes + __all__: + railway: '' + oneway: + - yes + - 1 + - true + - -1 else: false - - &bridge_attr - key: bridge - min_zoom: 11 + - key: oneway_reverse + min_zoom: 14 value: true include_when: - bridge: yes + __all__: + railway: '' + oneway: -1 else: false - key: tracktype min_zoom: 11 @@ -724,19 +744,27 @@ layers: features: - source: osm geometry: polygon - min_zoom: 14 + min_zoom: + default_value: 14 + overrides: + 11: + area:aeroway: runway + 13: + area:aeroway: taxiway include_when: - __all__: - - highway: [ pedestrian, service ] - - area: yes + # TODO this is a really strange difference to street_polygons. + # https://github.com/shortbread-tiles/shortbread-docs/issues/80 + area:aeroway: [ runway, taxiway ] + highway: [ pedestrian, service ] attributes: - key: kind type: match_value - - *bridge_attr - - *tunnel_attr - - key: surface + - *attr_bridge - key: rail - value: false # TODO omit? + value: false + - key: service + - key: surface + - *attr_tunnel - id: street_labels features: @@ -747,6 +775,16 @@ layers: overrides: 10: highway: motorway + railway: + - rail + - narrow_gauge + - tram + - light_rail + - funicular + - subway + - monorail + 11: + aeroway: runway 12: highway: [ trunk, primary ] 13: @@ -757,6 +795,7 @@ layers: - secondary - secondary_link - tertiary + aeroway: taxiway include_when: highway: - motorway @@ -772,6 +811,8 @@ layers: - unclassified - residential - living_street + - busway + - bus_guideway - service - pedestrian - track @@ -779,13 +820,24 @@ layers: - steps - path - cycleway + aeroway: + - runway + - taxiway + railway: + - rail + - narrow_gauge + - tram + - light_rail + - funicular + - subway + - monorail exclude_when: __all__: name: '' ref: '' attributes: - key: kind - value: '${ match_value.replace("_link", "") }' + type: match_value - *name - *name_en - *name_de @@ -800,17 +852,25 @@ layers: - key: ref_rows value: '${ size(feature.tags["ref"].split(";")) }' exclude_when: *missing_ref + - key: tunnel + value: true + include_when: + tunnel: [ yes, building_passage ] + covered: yes + else: false -- id: street_polygons_labels +- id: streets_polygons_labels features: - source: osm geometry: polygon_point_on_surface min_zoom: 14 include_when: __all__: - highway: [ pedestrian, service ] - area: yes - name: __any__ + # TODO this is a really strange difference to street_polygons. + # https://github.com/shortbread-tiles/shortbread-docs/issues/80 + - aeroway: [ runway, taxiway ] + highway: [ pedestrian, service ] + - name: __any__ attributes: - key: kind type: match_value @@ -818,7 +878,7 @@ layers: - *name_en - *name_de -- id: street_labels_points # TODO update documentation (streetS_labels_points) +- id: street_labels_points features: - source: osm geometry: point