This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch master in repository openstreetmap-carto.
commit 08e6e8eed143630e60b4147dd95880fe69482f3e Author: Bas Couwenberg <[email protected]> Date: Sun Jan 29 10:28:07 2017 +0100 Imported Upstream version 3.1.0 --- CHANGELOG.md | 14 +- LICENSE.txt | 5 +- amenity-points.mss | 20 +- landcover.mss | 1 + placenames.mss | 175 ++++++++--- project.mml | 814 ++++++++++++++++++++++-------------------------- symbols/bus_stop.12.svg | 17 +- symbols/shop/coffee.svg | 9 + 8 files changed, 555 insertions(+), 500 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b368a1c..bce6967 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ -## [Unreleased](https://github.com/gravitystorm/openstreetmap-carto/compare/v3.0.0...master) +## [Unreleased](https://github.com/gravitystorm/openstreetmap-carto/compare/v3.1.0...master) -## [v3.0.0](https://github.com/gravitystorm/openstreetmap-carto/compare/v3.0.0...v3.0.1) - 2016-12-22 +## [v3.1.0](https://github.com/gravitystorm/openstreetmap-carto/compare/v3.0.1...v3.1.0) - 2017-01-28 +### Changes +- Added coffee shop rendering +- Added health clinic rendering +- Adjusted place label typography +- Road shield rendering improvements +- Internal code cleanups + +## [v3.0.1](https://github.com/gravitystorm/openstreetmap-carto/compare/v3.0.0...v3.0.1) - 2016-12-22 ### Changes - Revert of junction area changes which were preventing index usage @@ -15,7 +23,7 @@ - Noto Naskh is now used for Arabic - Visual impact of campsites and quarries reduced below z13 - Wilderness huts rendered -- Subway entrances rendered +- "ref" (reference) text of subway entrances rendered ## [v2.45.1](https://github.com/gravitystorm/openstreetmap-carto/compare/v2.45.0...v2.45.1) - 2016-12-03 ### Changes diff --git a/LICENSE.txt b/LICENSE.txt index 86cca83..031f3ec 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -7,9 +7,10 @@ This software and associated documentation files (the "Software") is released under the CC0 Public Domain Dedication, version 1.0, as published by Creative Commons. To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring -rights to the Software to the public domain worldwide. The Software is +rights to the Software to the public domain worldwide. For avoidance +of doubt, this includes the cartographic design. The Software is distributed WITHOUT ANY WARRANTY. If you did not receive a copy of the CC0 Public Domain Dedication along with the Software, see -<http://creativecommons.org/publicdomain/zero/1.0/> \ No newline at end of file +<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/amenity-points.mss b/amenity-points.mss index 4979964..be5b115 100644 --- a/amenity-points.mss +++ b/amenity-points.mss @@ -344,7 +344,7 @@ marker-placement: interior; marker-clip: false; marker-fill: @transportation-icon; - [access != ''][access != 'public'][access != 'yes'] { + [access != ''][access != 'permissive'][access != 'yes'] { marker-opacity: 0.33; } } @@ -460,7 +460,7 @@ marker-fill: @amenity-brown; marker-placement: interior; marker-clip: false; - [access != ''][access != 'yes'] { + [access != ''][access != 'permissive'][access != 'yes'] { marker-opacity: 0.33; } } @@ -638,6 +638,13 @@ } } + [feature = 'shop_coffee'][zoom >= 17] { + marker-file: url('symbols/shop/coffee.svg'); + marker-placement: interior; + marker-clip: false; + marker-fill: @shop-icon; + } + [feature = 'shop_computer'][zoom >= 17] { marker-file: url('symbols/shop/computer.svg'); marker-placement: interior; @@ -974,7 +981,7 @@ marker-fill: @amenity-brown; marker-placement: interior; marker-clip: false; - [access != ''][access != 'yes'] { + [access != ''][access != 'permissive'][access != 'yes'] { marker-opacity: 0.33; } } @@ -1111,7 +1118,7 @@ marker-placement: interior; marker-clip: false; marker-fill: @transportation-icon; - [access != ''][access != 'public'][access != 'yes'] { + [access != ''][access != 'permissive'][access != 'yes'] { marker-opacity: 0.33; } } @@ -1275,7 +1282,7 @@ text-halo-fill: @standard-halo-fill; text-wrap-width: @standard-wrap-width; text-placement: interior; - [access != ''][access != 'public'][access != 'yes'] { + [access != ''][access != 'permissive'][access != 'yes'] { text-fill: #66ccaf; } [feature = 'amenity_bicycle_parking'], @@ -1444,7 +1451,7 @@ text-halo-fill: @standard-halo-fill; text-wrap-width: @standard-wrap-width; text-placement: interior; - [access != ''][access != 'yes'] { + [access != ''][access != 'permissive'][access != 'yes'] { text-fill: darken(@park, 50%); } } @@ -1923,6 +1930,7 @@ [feature = 'shop_beverages'], [feature = 'shop_books'], [feature = 'shop_clothes'], + [feature = 'shop_coffee'], [feature = 'shop_computer'], [feature = 'shop_fashion'], [feature = 'shop_convenience'], diff --git a/landcover.mss b/landcover.mss index fcba4ed..0d11dcf 100644 --- a/landcover.mss +++ b/landcover.mss @@ -463,6 +463,7 @@ } [feature = 'amenity_hospital'], + [feature = 'amenity_clinic'], [feature = 'amenity_university'], [feature = 'amenity_college'], [feature = 'amenity_school'], diff --git a/placenames.mss b/placenames.mss index d381759..4b84e4b 100644 --- a/placenames.mss +++ b/placenames.mss @@ -7,47 +7,58 @@ [zoom >= 3][way_pixels > 1000][way_pixels < 360000] { text-name: "[name]"; text-size: 10; + text-wrap-width: 35; // 3.5 em + text-line-spacing: -1.5; // -0.15 em + text-margin: 7.0; // 0.7 em [zoom >= 4] { text-size: 11; + text-wrap-width: 40; // 3.6 em + text-line-spacing: -1.4; // -0.13 em + text-margin: 7.7; // 0.7 em } [zoom >= 5] { text-size: 12; + text-wrap-width: 45; // 3.8 em + text-line-spacing: -1.2; // -0.10 em + text-margin: 8.4; // 0.7 em } [zoom >= 7] { text-size: 13; + text-wrap-width: 50; // 3.8 em + text-line-spacing: -1.0; // -0.08 em + text-margin: 9.1; // 0.7 em } [zoom >= 10] { text-size: 14; + text-wrap-width: 55; // 3.9 em + text-line-spacing: -0.7; // -0.05 em } text-fill: @country-labels; text-face-name: @book-fonts; text-halo-fill: @standard-halo-fill; text-halo-radius: @standard-halo-radius * 1.5; - text-wrap-width: 35; text-placement: interior; text-character-spacing: 0.5; - text-line-spacing: 1; } } .state { - [zoom >= 4][zoom < 5][way_pixels > 750], [zoom >= 5][way_pixels > 3000][way_pixels < 196000] { - text-name: "[ref]"; - text-size: 9; + text-name: "[name]"; + text-size: 10; + text-wrap-width: 30; // 3.0 em + text-line-spacing: -1.5; // -0.15 em + text-margin: 7.0; // 0.7 em text-fill: @state-labels; text-face-name: @oblique-fonts; text-halo-fill: @standard-halo-fill; text-halo-radius: @standard-halo-radius * 1.5; - text-wrap-width: 0; text-placement: interior; - [zoom >= 5] { - text-name: "[name]"; - text-wrap-width: 30; - } [zoom >= 7] { text-size: 11; - text-wrap-width: 50; + text-wrap-width: 50; // 4.5 em + text-line-spacing: -0.6; // -0.05 em + text-margin: 7.7; // 0.7 em } } } @@ -62,7 +73,9 @@ shield-face-name: @book-fonts; shield-fill: @placenames; shield-size: 11; - shield-wrap-width: 30; + shield-wrap-width: 30; // 2.7 em + shield-line-spacing: -1.6; // -0.15 em + shield-margin: 7.7; // 0.7 em shield-halo-fill: @standard-halo-fill; shield-halo-radius: @standard-halo-radius * 1.5; shield-placement-type: simple; @@ -73,11 +86,14 @@ shield-unlock-image: true; [zoom >= 5] { - shield-wrap-width: 45; + shield-wrap-width: 45; // 4.1 em + shield-line-spacing: -1.1; // -0.10 em } [zoom >= 6] { shield-size: 12; - shield-wrap-width: 60; + shield-wrap-width: 60; // 5.0 em + shield-line-spacing: -0.6; // -0.05 em + shield-margin: 8.4; // 0.7 em } [zoom >= 7] { shield-file: url('symbols/place/place-capital-8.svg'); @@ -90,13 +106,23 @@ text-face-name: @book-fonts; text-fill: @placenames; text-size: 13; - text-wrap-width: 60; + text-wrap-width: 65; // 5.0 em + text-line-spacing: -0.65; // -0.05 em + text-margin: 9.1; // 0.7 em text-halo-fill: @standard-halo-fill; text-halo-radius: @standard-halo-radius * 1.5; + [zoom >= 10] { + text-size: 14; + text-wrap-width: 70; // 5.0 em + text-line-spacing: -0.70; // -0.05 em + text-margin: 9.8; // 0.7 em + } [zoom >= 11] { text-size: 15; - text-wrap-width: 75; + text-wrap-width: 75; // 5.0 em + text-line-spacing: -0.75; // -0.05 em + text-margin: 10.5; // 0.7 em } } } @@ -112,7 +138,9 @@ shield-face-name: @book-fonts; shield-fill: @placenames; shield-size: 11; - shield-wrap-width: 30; + shield-wrap-width: 30; // 2.7 em + shield-line-spacing: -1.65; // -0.15 em + shield-margin: 7.7; // 0.7 em shield-halo-fill: @standard-halo-fill; shield-halo-radius: @standard-halo-radius * 1.5; shield-placement-type: simple; @@ -123,11 +151,14 @@ shield-unlock-image: true; [zoom >= 5] { - shield-wrap-width: 45; + shield-wrap-width: 45; // 4.1 em + shield-line-spacing: -1.1; // -0.10 em } [zoom >= 6] { shield-size: 12; - shield-wrap-width: 60; + shield-wrap-width: 60; // 5.0 em + shield-line-spacing: -0.6; // -0.05 em + shield-margin: 8.4; // 0.7 em shield-file: url('symbols/place/place-6.svg'); shield-text-dx: 5; @@ -142,13 +173,23 @@ text-face-name: @book-fonts; text-fill: @placenames; text-size: 13; - text-wrap-width: 60; + text-wrap-width: 65; // 5.0 em + text-line-spacing: -0.65; // -0.05 em + text-margin: 9.1; // 0.7 em text-halo-fill: @standard-halo-fill; text-halo-radius: @standard-halo-radius * 1.5; + [zoom >= 10] { + text-size: 14; + text-wrap-width: 70; // 5.0 em + text-line-spacing: -0.7; // -0.05 em + text-margin: 9.8; // 0.7 em + } [zoom >= 11] { text-size: 15; - text-wrap-width: 75; + text-wrap-width: 75; // 5.0 em + text-line-spacing: -0.75; // -0.05 em + text-margin: 10.5; // 0.7 em } } } @@ -167,7 +208,9 @@ shield-face-name: @book-fonts; shield-halo-fill: @standard-halo-fill; shield-halo-radius: @standard-halo-radius * 1.5; - shield-wrap-width: 30; + shield-wrap-width: 30; // 3.0 em + shield-line-spacing: -1.5; // -0.15 em + shield-margin: 7.0; // 0.7 em shield-placement-type: simple; shield-placements: 'S,N,E,W'; [dir = 1] { @@ -185,18 +228,32 @@ text-face-name: @book-fonts; text-halo-fill: @standard-halo-fill; text-halo-radius: @standard-halo-radius * 1.5; - text-wrap-width: 60; + text-wrap-width: 40; // 4.0 em + text-line-spacing: -1.0; // -0.10 em + text-margin: 7.0; // 0.7 em [zoom >= 9] { text-size: 12; - text-wrap-width: 60; + text-wrap-width: 60; // 5.0 em + text-line-spacing: -0.6; // -0.05 em + text-margin: 8.4; // 0.7 em + } + [zoom >= 10] { + text-size: 13; + text-wrap-width: 65; // 5.0 em + text-line-spacing: -0.65; // -0.05 em + text-margin: 9.1; // 0.7 em } [zoom >= 11] { text-size: 14; - text-wrap-width: 70; + text-wrap-width: 70; // 5.0 em + text-line-spacing: -0.7; // -0.05 em + text-margin: 9.8; // 0.7 em } [zoom >= 14] { text-size: 15; - text-wrap-width: 75; + text-wrap-width: 75; // 5.0 em + text-line-spacing: -0.7; // -0.05 em + text-margin: 10.5; // 0.7 em } } } @@ -211,18 +268,26 @@ text-face-name: @book-fonts; text-halo-fill: @standard-halo-fill; text-halo-radius: @standard-halo-radius * 1.5; - text-wrap-width: 45; + text-wrap-width: 45; // 4.5 em + text-line-spacing: -0.8; // -0.08 em + text-margin: 7; // 0.7 em [zoom >= 11] { text-size: 11; - text-wrap-width: 55; + text-wrap-width: 55; // 5.0 em + text-line-spacing: -0.55; // -0.05 em + text-margin: 7.7; // 0.7 em } [zoom >= 12] { text-size: 13; - text-wrap-width: 65; + text-wrap-width: 65; // 5.0 em + text-line-spacing: -0.65; // -0.05 em + text-margin: 8.4; // 0.7 em } [zoom >= 14] { text-size: 15; - text-wrap-width: 70; + text-wrap-width: 75; // 5.0 em + text-line-spacing: -0.75; // -0.05 em + text-margin: 10.5; // 0.7 em } } } @@ -236,16 +301,28 @@ text-face-name: @book-fonts; text-halo-fill: @standard-halo-fill; text-halo-radius: @standard-halo-radius * 1.5; - text-wrap-width: 55; + text-wrap-width: 55; // 5.0 em + text-line-spacing: -0.55; // -0.05 em + text-margin: 7.7; // 0.7 em + [zoom >= 13] { + text-size: 12; + text-wrap-width: 60; // 5.0 em + text-line-spacing: -0.60; // -0.05 em + text-margin: 8.4; // 0.7 em + } [zoom >= 14] { text-size: 14; - text-wrap-width: 70; + text-wrap-width: 70; // 5.0 em + text-line-spacing: -0.70; // -0.05 em + text-margin: 9.8; // 0.7 em text-fill: @placenames-light; text-halo-fill: white; } [zoom >= 16] { text-size: 15; - text-wrap-width: 75; + text-wrap-width: 75; // 5.0 em + text-line-spacing: -0.75; // -0.05 em + text-margin: 10.5; // 0.7 em } } } @@ -259,16 +336,34 @@ text-face-name: @book-fonts; text-halo-fill: @standard-halo-fill; text-halo-radius: @standard-halo-radius * 1.5; - text-wrap-width: 50; + text-wrap-width: 50; // 5.0 em + text-line-spacing: -0.50; // -0.05 em + text-margin: 7.0; // 0.7 em + [zoom >= 11] { + text-size: 11; + text-wrap-width: 55; // 5.0 em + text-line-spacing: -0.55; // -0.05 em + text-margin: 7.7; // 0.7 em + } [zoom >= 14] { text-fill: @placenames-light; text-halo-fill: white; text-size: 13; - text-wrap-width: 65; + text-wrap-width: 65; // 5.0 em + text-line-spacing: -0.65; // -0.05 em + text-margin: 9.1; // 0.7 em + } + [zoom >= 15] { + text-size: 14; + text-wrap-width: 70; // 5.0 em + text-line-spacing: -0.70; // -0.05 em + text-margin: 9.8; // 0.7 em } [zoom >= 16] { text-size: 15; - text-wrap-width: 75; + text-wrap-width: 75; // 5.0 em + text-line-spacing: -0.75; // -0.05 em + text-margin: 10.5; // 0.7 em } } } @@ -287,11 +382,15 @@ text-face-name: @book-fonts; text-halo-fill: @standard-halo-fill; text-halo-radius: @standard-halo-radius * 1.5; - text-wrap-width: 45; + text-wrap-width: 45; // 4.5 em + text-line-spacing: -0.8; // -0.08 em + text-margin: 7.0; // 0.7 em } [zoom >= 16] { text-size: 12; - text-wrap-width: 60; + text-wrap-width: 60; // 5.0 em + text-line-spacing: -0.60; // -0.05 em + text-margin: 8.4; // 0.7 em text-fill: @placenames-light; text-halo-fill: white; } diff --git a/project.mml b/project.mml index e45372e..33e487d 100644 --- a/project.mml +++ b/project.mml @@ -1,7 +1,7 @@ scale: 1 metatile: 2 -name: "OpenStreetMap Carto" -description: "A general-purpose OpenStreetMap mapnik style, in CartoCSS" +name: OpenStreetMap Carto +description: A general-purpose OpenStreetMap mapnik style, in CartoCSS bounds: &world - -180 - -85.05112877980659 @@ -11,7 +11,7 @@ center: - 0 - 0 - 4 -format: "png" +format: png interactivity: false minzoom: 0 maxzoom: 22 @@ -36,75 +36,66 @@ _parts: extent: "-20037508,-20037508,20037508,20037508" Stylesheet: - - "style.mss" - - "shapefiles.mss" - - "landcover.mss" - - "water.mss" - - "water-features.mss" - - "road-colors-generated.mss" - - "roads.mss" - - "power.mss" - - "placenames.mss" - - "buildings.mss" - - "stations.mss" - - "amenity-points.mss" - - "ferry-routes.mss" - - "aerialways.mss" - - "admin.mss" - - "addressing.mss" + - style.mss + - shapefiles.mss + - landcover.mss + - water.mss + - water-features.mss + - road-colors-generated.mss + - roads.mss + - power.mss + - placenames.mss + - buildings.mss + - stations.mss + - amenity-points.mss + - ferry-routes.mss + - aerialways.mss + - admin.mss + - addressing.mss Layer: - - id: "world" - name: "world" - class: "" - geometry: "polygon" + - id: world + name: world + geometry: polygon <<: *extents Datasource: - file: "data/simplified-land-polygons-complete-3857/simplified_land_polygons.shp" - type: "shape" - advanced: {} + file: data/simplified-land-polygons-complete-3857/simplified_land_polygons.shp + type: shape properties: maxzoom: 9 - - id: "coast-poly" - name: "coast-poly" - class: "" - geometry: "polygon" + - id: coast-poly + name: coast-poly + geometry: polygon <<: *extents Datasource: - file: "data/land-polygons-split-3857/land_polygons.shp" - type: "shape" + file: data/land-polygons-split-3857/land_polygons.shp + type: shape properties: minzoom: 10 - advanced: {} - - id: "builtup" - name: "builtup" - geometry: "polygon" - class: "" + - id: builtup + name: builtup + geometry: polygon extent: *world - srs-name: "mercator" + srs-name: mercator srs: "+proj=merc +datum=WGS84 +over" Datasource: - file: "data/world_boundaries/builtup_area.shp" - type: "shape" + file: data/world_boundaries/builtup_area.shp + type: shape properties: minzoom: 8 maxzoom: 9 - advanced: {} - - id: "necountries" - name: "necountries" - class: "" - geometry: "linestring" + - id: necountries + name: necountries + geometry: linestring <<: *extents84 Datasource: - file: "data/ne_110m_admin_0_boundary_lines_land/ne_110m_admin_0_boundary_lines_land.shp" - type: "shape" + file: data/ne_110m_admin_0_boundary_lines_land/ne_110m_admin_0_boundary_lines_land.shp + type: shape properties: minzoom: 1 maxzoom: 3 - advanced: {} - - id: "landcover-low-zoom" - name: "landcover-low-zoom" - class: "" - geometry: "polygon" + - id: landcover-low-zoom + name: landcover-low-zoom + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -129,11 +120,9 @@ Layer: properties: minzoom: 7 maxzoom: 9 - advanced: {} - - id: "landcover" - name: "landcover" - class: "" - geometry: "polygon" + - id: landcover + name: landcover + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -181,11 +170,9 @@ Layer: ) AS features properties: minzoom: 10 - advanced: {} - - id: "landcover-line" - name: "landcover-line" - class: "" - geometry: "linestring" + - id: landcover-line + name: landcover-line + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -195,13 +182,11 @@ Layer: FROM planet_osm_line WHERE man_made = 'cutline' ) AS landcover_line - advanced: {} properties: minzoom: 14 - - id: "water-lines-casing" - name: "water-lines-casing" - class: "" - geometry: "linestring" + - id: water-lines-casing + name: water-lines-casing + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -214,11 +199,9 @@ Layer: ) AS water_lines_casing properties: minzoom: 13 - advanced: {} - - id: "water-lines-low-zoom" - name: "water-lines-low-zoom" - class: "" - geometry: "linestring" + - id: water-lines-low-zoom + name: water-lines-low-zoom + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -233,22 +216,18 @@ Layer: properties: minzoom: 8 maxzoom: 11 - advanced: {} - - id: "icesheet-poly" - name: "icesheet-poly" - class: "" - geometry: "polygon" + - id: icesheet-poly + name: icesheet-poly + geometry: polygon <<: *extents Datasource: - file: "data/antarctica-icesheet-polygons-3857/icesheet_polygons.shp" - type: "shape" + file: data/antarctica-icesheet-polygons-3857/icesheet_polygons.shp + type: shape properties: minzoom: 4 - advanced: {} - - id: "water-areas" - name: "water-areas" - class: "" - geometry: "polygon" + - id: water-areas + name: water-areas + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -271,11 +250,9 @@ Layer: ) AS water_areas properties: minzoom: 4 - advanced: {} - - id: "landcover-area-symbols" - name: "landcover-area-symbols" - class: "" - geometry: "polygon" + - id: landcover-area-symbols + name: landcover-area-symbols + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -301,22 +278,19 @@ Layer: ) AS landcover_area_symbols properties: minzoom: 10 - advanced: {} - - id: "icesheet-outlines" - name: "icesheet-outlines" - class: "" - geometry: "linestring" + - id: icesheet-outlines + name: icesheet-outlines + geometry: linestring <<: *extents Datasource: - file: "data/antarctica-icesheet-outlines-3857/icesheet_outlines.shp" - type: "shape" + file: data/antarctica-icesheet-outlines-3857/icesheet_outlines.shp + type: shape properties: minzoom: 4 - advanced: {} - - id: "water-lines" - name: "water-lines" - class: "water-lines" - geometry: "linestring" + - id: water-lines + name: water-lines + class: water-lines + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -332,11 +306,9 @@ Layer: ) AS water_lines properties: minzoom: 12 - advanced: {} - - id: "water-barriers-line" - name: "water-barriers-line" - class: "" - geometry: "linestring" + - id: water-barriers-line + name: water-barriers-line + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -348,13 +320,11 @@ Layer: FROM planet_osm_line WHERE waterway IN ('dam', 'weir', 'lock_gate') ) AS water_barriers_line - advanced: {} properties: minzoom: 13 - - id: "water-barriers-poly" - name: "water-barriers-poly" - class: "" - geometry: "polygon" + - id: water-barriers-poly + name: water-barriers-poly + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -366,13 +336,11 @@ Layer: FROM planet_osm_polygon WHERE waterway IN ('dam', 'weir', 'lock_gate') ) AS water_barriers_poly - advanced: {} properties: minzoom: 13 - - id: "marinas-area" - name: "marinas-area" - class: "" - geometry: "polygon" + - id: marinas-area + name: marinas-area + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -384,11 +352,9 @@ Layer: ) AS marinas_area properties: minzoom: 14 - advanced: {} - - id: "piers-poly" - name: "piers-poly" - class: "" - geometry: "polygon" + - id: piers-poly + name: piers-poly + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -400,11 +366,9 @@ Layer: ) AS piers_poly properties: minzoom: 12 - advanced: {} - - id: "piers-line" - name: "piers-line" - class: "" - geometry: "linestring" + - id: piers-line + name: piers-line + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -416,11 +380,9 @@ Layer: ) AS piers_line properties: minzoom: 12 - advanced: {} - - id: "water-barriers-point" - name: "water-barriers-point" - class: "" - geometry: "point" + - id: water-barriers-point + name: water-barriers-point + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -432,11 +394,9 @@ Layer: ) AS water_barriers_points properties: minzoom: 17 - advanced: {} - - id: "bridge" - name: "bridge" - class: "" - geometry: "polygon" + - id: bridge + name: bridge + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -451,11 +411,9 @@ Layer: ) AS bridge properties: minzoom: 12 - advanced: {} - - id: "buildings" - name: "buildings" - class: "" - geometry: "polygon" + - id: buildings + name: buildings + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -466,16 +424,17 @@ Layer: FROM planet_osm_polygon WHERE building IS NOT NULL AND building != 'no' + AND (aeroway IS NULL OR aeroway != 'terminal') + AND (amenity IS NULL OR amenity != 'place_of_worship') + AND building != 'train_station' AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real ORDER BY z_order, way_area DESC ) AS buildings properties: minzoom: 13 - advanced: {} - - id: "buildings-major" - name: "buildings-major" - class: "" - geometry: "polygon" + - id: buildings-major + name: buildings-major + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -494,11 +453,10 @@ Layer: AS buildings_major properties: minzoom: 13 - advanced: {} - - id: "tunnels" - name: "tunnels" - class: "tunnels-fill tunnels-casing access" - geometry: "linestring" + - id: tunnels + name: tunnels + class: tunnels-fill tunnels-casing access + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -631,13 +589,11 @@ Layer: CASE WHEN int_surface IN ('unpaved') THEN 0 ELSE 2 END ) AS tunnels properties: - group-by: "layernotnull" + group-by: layernotnull minzoom: 9 - advanced: {} - - id: "landuse-overlay" - name: "landuse-overlay" - class: "" - geometry: "polygon" + - id: landuse-overlay + name: landuse-overlay + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -652,11 +608,10 @@ Layer: ) AS landuse_overlay properties: minzoom: 7 - advanced: {} - - id: "line-barriers" - name: "line-barriers" - class: "barriers" - geometry: "linestring" + - id: line-barriers + name: line-barriers + class: barriers + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -676,11 +631,9 @@ Layer: ) AS line_barriers properties: minzoom: 14 - advanced: {} - - id: "cliffs" - name: "cliffs" - class: "" - geometry: "linestring" + - id: cliffs + name: cliffs + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -692,11 +645,10 @@ Layer: ) AS cliffs properties: minzoom: 13 - advanced: {} - - id: "area-barriers" - name: "area-barriers" - class: "barriers" - geometry: "polygon" + - id: area-barriers + name: area-barriers + class: barriers + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -711,11 +663,9 @@ Layer: ) AS area_barriers properties: minzoom: 16 - advanced: {} - - id: "ferry-routes" - name: "ferry-routes" - class: "" - geometry: "linestring" + - id: ferry-routes + name: ferry-routes + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -727,11 +677,9 @@ Layer: ) AS ferry_routes properties: minzoom: 7 - advanced: {} - - id: "turning-circle-casing" - name: "turning-circle-casing" - class: "" - geometry: "point" + - id: turning-circle-casing + name: turning-circle-casing + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -758,11 +706,9 @@ Layer: ) AS turning_circle_casing properties: minzoom: 15 - advanced: {} - - id: "highway-area-casing" - name: "highway-area-casing" - class: "" - geometry: "polygon" + - id: highway-area-casing + name: highway-area-casing + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -780,11 +726,10 @@ Layer: ) AS highway_area_casing properties: minzoom: 14 - advanced: {} - - id: "roads-casing" - name: "roads-casing" - class: "roads-casing" - geometry: "linestring" + - id: roads-casing + name: roads-casing + class: roads-casing + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -918,10 +863,8 @@ Layer: ) AS roads_casing properties: minzoom: 9 - advanced: {} - - id: "highway-area-fill" - name: "highway-area-fill" - class: "" + - id: highway-area-fill + name: highway-area-fill # FIXME: No geometry? <<: *extents Datasource: @@ -943,11 +886,10 @@ Layer: ) AS highway_area_fill properties: minzoom: 14 - advanced: {} - - id: "roads-fill" - name: "roads-fill" - class: "roads-fill access" - geometry: "linestring" + - id: roads-fill + name: roads-fill + class: roads-fill access + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1086,11 +1028,9 @@ Layer: ) AS roads_fill properties: minzoom: 10 - advanced: {} - - id: "turning-circle-fill" - name: "turning-circle-fill" - class: "" - geometry: "point" + - id: turning-circle-fill + name: turning-circle-fill + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1117,11 +1057,9 @@ Layer: ) AS turning_circle_fill properties: minzoom: 15 - advanced: {} - - id: "aerialways" - name: "aerialways" - class: "" - geometry: "linestring" + - id: aerialways + name: aerialways + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1134,11 +1072,9 @@ Layer: ) AS aerialways properties: minzoom: 12 - advanced: {} - - id: "roads-low-zoom" - name: "roads-low-zoom" - class: "" - geometry: "linestring" + - id: roads-low-zoom + name: roads-low-zoom + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1167,11 +1103,10 @@ Layer: properties: minzoom: 5 maxzoom: 9 - advanced: {} - - id: "waterway-bridges" - name: "waterway-bridges" - class: "water-lines" - geometry: "linestring" + - id: waterway-bridges + name: waterway-bridges + class: water-lines + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1190,11 +1125,10 @@ Layer: ) AS waterway_bridges properties: minzoom: 15 - advanced: {} - - id: "bridges" - name: "bridges" - class: "bridges-fill bridges-casing access" - geometry: "linestring" + - id: bridges + name: bridges + class: bridges-fill bridges-casing access + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1323,13 +1257,11 @@ Layer: CASE WHEN int_surface IN ('unpaved') THEN 0 ELSE 2 END ) AS bridges properties: - group-by: "layernotnull" + group-by: layernotnull minzoom: 9 - advanced: {} - - id: "guideways" - name: "guideways" - class: "" - geometry: "linestring" + - id: guideways + name: guideways + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1341,11 +1273,9 @@ Layer: ) AS guideways properties: minzoom: 13 - advanced: {} - - id: "admin-low-zoom" - name: "admin-low-zoom" - class: "" - geometry: "linestring" + - id: admin-low-zoom + name: admin-low-zoom + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1362,11 +1292,9 @@ Layer: properties: minzoom: 4 maxzoom: 10 - advanced: {} - - id: "admin-mid-zoom" - name: "admin-mid-zoom" - class: "" - geometry: "linestring" + - id: admin-mid-zoom + name: admin-mid-zoom + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1383,11 +1311,9 @@ Layer: properties: minzoom: 11 maxzoom: 12 - advanced: {} - - id: "admin-high-zoom" - name: "admin-high-zoom" - class: "" - geometry: "linestring" + - id: admin-high-zoom + name: admin-high-zoom + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1403,11 +1329,9 @@ Layer: ) AS admin_high_zoom properties: minzoom: 13 - advanced: {} - - id: "power-minorline" - name: "power-minorline" - class: "" - geometry: "linestring" + - id: power-minorline + name: power-minorline + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1419,11 +1343,9 @@ Layer: ) AS power_minorline properties: minzoom: 16 - advanced: {} - - id: "power-line" - name: "power-line" - class: "" - geometry: "linestring" + - id: power-line + name: power-line + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1435,11 +1357,9 @@ Layer: ) AS power_line properties: minzoom: 14 - advanced: {} - - id: "nature-reserve-boundaries" - name: "nature-reserve-boundaries" - class: "" - geometry: "polygon" + - id: nature-reserve-boundaries + name: nature-reserve-boundaries + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -1456,11 +1376,9 @@ Layer: ) AS national_park_boundaries properties: minzoom: 7 - advanced: {} - - id: "tourism-boundary" - name: "tourism-boundary" - class: "" - geometry: "polygon" + - id: tourism-boundary + name: tourism-boundary + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -1476,11 +1394,9 @@ Layer: ) AS tourism_boundary properties: minzoom: 10 - advanced: {} - - id: "trees" - name: "trees" - class: "" - geometry: "polygon" + - id: trees + name: trees + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -1497,11 +1413,10 @@ Layer: ) AS trees properties: minzoom: 16 - advanced: {} - - id: "country-names" - name: "country-names" - class: "country" - geometry: "point" + - id: country-names + name: country-names + class: country + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1519,10 +1434,9 @@ Layer: ) AS country_names properties: minzoom: 2 - - id: "capital-names" - name: "capital-names" - class: "" - geometry: "point" + - id: capital-names + name: capital-names + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1543,11 +1457,10 @@ Layer: properties: minzoom: 3 maxzoom: 15 - advanced: {} - - id: "state-names" - name: "state-names" - class: "state" - geometry: "point" + - id: state-names + name: state-names + class: state + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1566,11 +1479,9 @@ Layer: ) AS state_names properties: minzoom: 4 - advanced: {} - - id: "placenames-medium" - name: "placenames-medium" - class: "" - geometry: "point" + - id: placenames-medium + name: placenames-medium + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1613,11 +1524,9 @@ Layer: properties: minzoom: 4 maxzoom: 15 - advanced: {} - - id: "placenames-small" - name: "placenames-small" - class: "" - geometry: "point" + - id: placenames-small + name: placenames-small + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1644,11 +1553,10 @@ Layer: ) AS placenames_small properties: minzoom: 12 - advanced: {} - - id: "stations" - class: "stations" - name: "stations" - geometry: "point" + - id: stations + class: stations + name: stations + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1672,11 +1580,10 @@ Layer: ) AS stations properties: minzoom: 12 - advanced: {} - - id: "stations-poly" - name: "stations-poly" - class: "stations" - geometry: "polygon" + - id: stations-poly + name: stations-poly + class: stations + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -1693,11 +1600,10 @@ Layer: ) AS stations_poly properties: minzoom: 12 - advanced: {} - - id: "amenity-points-poly" - name: "amenity-points-poly" - class: "points" - geometry: "polygon" + - id: amenity-points-poly + name: amenity-points-poly + class: points + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -1723,7 +1629,7 @@ Layer: 'mobile_phone', 'motorcycle', 'musical_instrument', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 'travel_agency', 'car_parts', 'greengrocer', 'farm', 'stationery', 'laundry', 'dry_cleaning', 'beverages', 'perfumery', 'cosmetics', 'variety_store', 'wine', 'outdoor', - 'copyshop', 'sports', 'deli', 'tobacco', 'art', 'tea') THEN shop + 'copyshop', 'sports', 'deli', 'tobacco', 'art', 'tea', 'coffee') THEN shop WHEN shop IN ('no', 'vacant', 'closed', 'disused', 'empty') OR shop IS NULL THEN NULL ELSE 'other' END, 'leisure_' || CASE WHEN leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table') THEN leisure ELSE NULL END, 'man_made_' || CASE WHEN man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill', 'obelisk') THEN man_made ELSE NULL END, @@ -1763,11 +1669,10 @@ Layer: ) AS amenity_points_poly properties: minzoom: 10 - advanced: {} - - id: "amenity-points" - name: "amenity-points" - class: "points" - geometry: "point" + - id: amenity-points + name: amenity-points + class: points + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1792,7 +1697,8 @@ Layer: 'photography', 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 'musical_instrument', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 'travel_agency', 'car_parts', 'greengrocer', 'farm', 'stationery', 'laundry', 'dry_cleaning', 'beverages', - 'perfumery', 'cosmetics', 'variety_store', 'wine', 'outdoor', 'copyshop', 'sports', 'deli', 'tobacco', 'art', 'tea') THEN shop + 'perfumery', 'cosmetics', 'variety_store', 'wine', 'outdoor', 'copyshop', 'sports', 'deli', 'tobacco', 'art', + 'tea', 'coffee') THEN shop WHEN shop IN ('no', 'vacant', 'closed', 'disused', 'empty') OR shop IS NULL THEN NULL ELSE 'other' END, 'leisure_' || CASE WHEN leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table', 'slipway', 'dog_park') THEN leisure ELSE NULL END, @@ -1844,11 +1750,9 @@ Layer: ) AS amenity_points properties: minzoom: 10 - advanced: {} - - id: "power-towers" - name: "power-towers" - class: "" - geometry: "point" + - id: power-towers + name: power-towers + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1860,11 +1764,9 @@ Layer: ) AS power_towers properties: minzoom: 14 - advanced: {} - - id: "power-poles" - name: "power-poles" - class: "" - geometry: "point" + - id: power-poles + name: power-poles + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1876,11 +1778,9 @@ Layer: ) AS power_poles properties: minzoom: 16 - advanced: {} - - id: "roads-text-ref-low-zoom" - name: "roads-text-ref-low-zoom" - class: "" - geometry: "linestring" + - id: roads-text-ref-low-zoom + name: roads-text-ref-low-zoom + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1893,28 +1793,47 @@ Layer: refs FROM ( SELECT - way, highway, + way, + osm_id, + highway, array_length(refs,1) AS height, (SELECT MAX(char_length(ref)) FROM unnest(refs) AS u(ref)) AS width, array_to_string(refs, E'\n') AS refs FROM ( SELECT way, + osm_id, highway, string_to_array(ref, ';') AS refs FROM planet_osm_roads WHERE highway IN ('motorway', 'trunk', 'primary', 'secondary') AND ref IS NOT NULL ) AS p) AS q - WHERE height <= 4 AND width <= 11) AS roads_text_ref_low_zoom + WHERE height <= 4 AND width <= 11 + ORDER BY + CASE + WHEN highway = 'motorway' THEN 38 + WHEN highway = 'trunk' THEN 37 + WHEN highway = 'primary' THEN 36 + WHEN highway = 'secondary' THEN 35 + WHEN highway = 'tertiary' THEN 34 + WHEN highway = 'unclassified' THEN 33 + WHEN highway = 'residential' THEN 32 + WHEN highway = 'runway' THEN 6 + WHEN highway = 'taxiway' THEN 5 + ELSE NULL + END DESC NULLS LAST, + height DESC, + width DESC, + refs, + osm_id + ) AS roads_text_ref_low_zoom properties: minzoom: 10 maxzoom: 12 - advanced: {} - - id: "junctions" - name: "junctions" - class: "" - geometry: "point" + - id: junctions + name: junctions + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -1930,11 +1849,9 @@ Layer: ) AS junctions properties: minzoom: 11 - advanced: {} - - id: "bridge-text" - name: "bridge-text" - class: "" - geometry: "polygon" + - id: bridge-text + name: bridge-text + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -1949,11 +1866,9 @@ Layer: ) AS bridge_text properties: minzoom: 11 - advanced: {} - - id: "roads-text-ref" - name: "roads-text-ref" - class: "" - geometry: "linestring" + - id: roads-text-ref + name: roads-text-ref + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -1966,12 +1881,15 @@ Layer: refs FROM ( SELECT - way, highway, + osm_id, + way, + highway, array_length(refs,1) AS height, (SELECT MAX(char_length(ref)) FROM unnest(refs) AS u(ref)) AS width, array_to_string(refs, E'\n') AS refs FROM ( SELECT + osm_id, way, COALESCE( CASE WHEN highway IN ('motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'unclassified', 'residential') THEN highway ELSE NULL END, @@ -1979,17 +1897,33 @@ Layer: ) AS highway, string_to_array(ref, ';') AS refs FROM planet_osm_line - WHERE (highway IN ('motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'unclassified', 'residential') OR aeroway IN ('runway', 'taxiway')) - AND ref IS NOT NULL + WHERE (highway IN ('motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'unclassified', 'residential') OR aeroway IN ('runway', 'taxiway')) + AND ref IS NOT NULL ) AS p) AS q - WHERE height <= 4 AND width <= 11) AS roads_text_ref + WHERE height <= 4 AND width <= 11 + ORDER BY + CASE + WHEN highway = 'motorway' THEN 38 + WHEN highway = 'trunk' THEN 37 + WHEN highway = 'primary' THEN 36 + WHEN highway = 'secondary' THEN 35 + WHEN highway = 'tertiary' THEN 34 + WHEN highway = 'unclassified' THEN 33 + WHEN highway = 'residential' THEN 32 + WHEN highway = 'runway' THEN 6 + WHEN highway = 'taxiway' THEN 5 + ELSE NULL + END DESC NULLS LAST, + height DESC, + width DESC, + refs, + osm_id + ) AS roads_text_ref properties: minzoom: 13 - advanced: {} - - id: "roads-area-text-name" - name: "roads-area-text-name" - class: "" - geometry: "polygon" + - id: roads-area-text-name + name: roads-area-text-name + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -2003,14 +1937,14 @@ Layer: WHERE highway IN ('residential', 'unclassified', 'pedestrian', 'service', 'footway', 'cycleway', 'living_street', 'track', 'path', 'platform') OR railway IN ('platform') AND name IS NOT NULL + ORDER BY way_area DESC ) AS roads_area_text_name properties: minzoom: 15 - advanced: {} - - id: "roads-text-name" - name: "roads-text-name" - class: "directions" - geometry: "linestring" + - id: roads-text-name + name: roads-text-name + class: directions + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -2027,20 +1961,45 @@ Layer: ELSE NULL END AS oneway, horse, bicycle - FROM planet_osm_line + FROM planet_osm_line l + JOIN (VALUES -- this join is also putting a condition on what is selected. features not matching it do not make it into the results. + ('motorway', 380), + ('trunk', 370), + ('primary', 360), + ('secondary', 350), + ('tertiary', 340), + ('residential', 330), + ('unclassified', 330), + ('road', 330), + ('living_street', 320), + ('pedestrian', 310), + ('raceway', 300), + ('motorway_link', 240), + ('trunk_link', 230), + ('primary_link', 220), + ('secondary_link', 210), + ('tertiary_link', 200), + ('service', 150), + ('construction', 10) + ) AS ordertable (highway, prio) + USING (highway) WHERE highway IN ('motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'residential', 'unclassified', 'road', 'service', 'pedestrian', 'raceway', 'living_street', 'construction') AND (name IS NOT NULL OR oneway IN ('yes', '-1') OR junction IN ('roundabout')) + ORDER BY + prio DESC, -- put important roads first + CASE WHEN layer~E'^-?\\d+$' AND length(layer)<10 THEN layer::integer ELSE 0 END DESC, -- put top layered roads first + length(name) DESC, -- Try to fit big labels in first + name DESC, -- Force a consistent ordering between differently named streets + l.osm_id DESC -- Force an ordering for streets of the same name, e.g. dualized roads ) AS roads_text_name properties: minzoom: 13 - advanced: {} - - id: "paths-text-name" - name: "paths-text-name" - class: "" - geometry: "linestring" + - id: paths-text-name + name: paths-text-name + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -2055,11 +2014,10 @@ Layer: ) AS paths_text_name properties: minzoom: 15 - advanced: {} - - id: "text-poly-low-zoom" - name: "text-poly-low-zoom" - class: "text-low-zoom" - geometry: "polygon" + - id: text-poly-low-zoom + name: text-poly-low-zoom + class: text-low-zoom + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -2089,11 +2047,10 @@ Layer: properties: minzoom: 7 maxzoom: 9 - advanced: {} - - id: "text-poly" - name: "text-poly" - class: "text" - geometry: "polygon" + - id: text-poly + name: text-poly + class: text + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -2121,7 +2078,8 @@ Layer: 'photography', 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 'musical_instrument', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 'travel_agency', 'car_parts', 'greengrocer', 'farm', 'stationery', 'laundry', 'dry_cleaning', 'beverages', - 'perfumery', 'cosmetics', 'variety_store', 'wine', 'outdoor', 'copyshop', 'sports', 'deli', 'tobacco', 'art', 'tea') THEN shop + 'perfumery', 'cosmetics', 'variety_store', 'wine', 'outdoor', 'copyshop', 'sports', 'deli', 'tobacco', 'art', 'tea', + 'coffee') THEN shop WHEN shop IN ('no', 'vacant', 'closed', 'disused', 'empty') OR shop IS NULL THEN NULL ELSE 'other' END, 'leisure_' || CASE WHEN leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', @@ -2173,11 +2131,9 @@ Layer: ) AS text_poly properties: minzoom: 10 - advanced: {} - - id: "text-line" - name: "text-line" - class: "" - geometry: "linestring" + - id: text-line + name: text-line + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -2198,13 +2154,12 @@ Layer: OR "natural" IN ('cliff')) AND name IS NOT NULL ) AS text_line - advanced: {} properties: minzoom: 10 - - id: "text-point" - name: "text-point" - class: "text" - geometry: "point" + - id: text-point + name: text-point + class: text + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -2251,7 +2206,7 @@ Layer: 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 'musical_instrument', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 'travel_agency', 'car_parts', 'greengrocer', 'farm', 'stationery', 'laundry', 'dry_cleaning', 'beverages', 'perfumery', 'cosmetics', - 'variety_store', 'wine', 'outdoor', 'copyshop', 'sports', 'deli', 'tobacco', 'art', 'tea') THEN shop + 'variety_store', 'wine', 'outdoor', 'copyshop', 'sports', 'deli', 'tobacco', 'art', 'tea', 'coffee') THEN shop WHEN shop IN ('no', 'vacant', 'closed', 'disused', 'empty') OR shop IS NULL THEN NULL ELSE 'other' END, 'leisure_' || CASE WHEN leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch','playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', @@ -2319,11 +2274,9 @@ Layer: ) AS text properties: minzoom: 10 - advanced: {} - - id: "building-text" - name: "building-text" - class: "" - geometry: "polygon" + - id: building-text + name: building-text + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -2340,11 +2293,9 @@ Layer: ) AS building_text properties: minzoom: 14 - advanced: {} - - id: "interpolation" - name: "interpolation" - class: "" - geometry: "linestring" + - id: interpolation + name: interpolation + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -2356,11 +2307,9 @@ Layer: ) AS interpolation properties: minzoom: 17 - advanced: {} - - id: "addresses" - name: "addresses" - class: "" - geometry: "point" + - id: addresses + name: addresses + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -2385,11 +2334,9 @@ Layer: ) AS addresses properties: minzoom: 17 - advanced: {} - - id: "water-lines-text" - name: "water-lines-text" - class: "" - geometry: "linestring" + - id: water-lines-text + name: water-lines-text + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -2409,11 +2356,9 @@ Layer: ) AS water_lines_text properties: minzoom: 13 - advanced: {} - - id: "ferry-routes-text" - name: "ferry-routes-text" - class: "" - geometry: "linestring" + - id: ferry-routes-text + name: ferry-routes-text + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -2427,11 +2372,9 @@ Layer: ) AS ferry_routes_text properties: minzoom: 13 - advanced: {} - - id: "admin-text" - name: "admin-text" - class: "" - geometry: "linestring" + - id: admin-text + name: admin-text + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -2448,11 +2391,9 @@ Layer: ) AS admin_text properties: minzoom: 16 - advanced: {} - - id: "nature-reserve-text" - name: "nature-reserve-text" - class: "" - geometry: "linestring" + - id: nature-reserve-text + name: nature-reserve-text + geometry: linestring <<: *extents Datasource: <<: *osm2pgsql @@ -2467,11 +2408,10 @@ Layer: ) AS nature_reserve_text properties: minzoom: 13 - advanced: {} - - id: "amenity-low-priority" - name: "amenity-low-priority" - class: "amenity-low-priority" - geometry: "point" + - id: amenity-low-priority + name: amenity-low-priority + class: amenity-low-priority + geometry: point <<: *extents Datasource: <<: *osm2pgsql @@ -2499,11 +2439,10 @@ Layer: ) AS amenity_low_priority properties: minzoom: 14 - advanced: {} - - id: "amenity-low-priority-poly" - name: "amenity-low-priority-poly" - class: "amenity-low-priority" - geometry: "polygon" + - id: amenity-low-priority-poly + name: amenity-low-priority-poly + class: amenity-low-priority + geometry: polygon <<: *extents Datasource: <<: *osm2pgsql @@ -2521,4 +2460,3 @@ Layer: ) AS amenity_low_priority_poly properties: minzoom: 14 - advanced: {} diff --git a/symbols/bus_stop.12.svg b/symbols/bus_stop.12.svg index f4ade01..65f3534 100644 --- a/symbols/bus_stop.12.svg +++ b/symbols/bus_stop.12.svg @@ -1,14 +1,5 @@ -<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="12" height="12" viewBox="0 0 12 12" id="svg2"> - <metadata id="metadata9"> - <rdf:RDF> - <cc:Work rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> - <dc:title/> - </cc:Work> - </rdf:RDF> - </metadata> - <defs id="defs7"/> - <rect width="12" height="12" x="0" y="0" id="canvas" style="fill:none;stroke:none;visibility:hidden"/> - <path d="M 2,0 1,1 1,9 1.65625,9 c 0,0 0.1011489,1 0.81275,1 C 3.1581295,10 3.25,9 3.25,9 l 3.5,0 c 0,0 0.1143421,1 0.781,1 0.8164686,0 0.81275,-1 0.81275,-1 L 9,9 9,1 8,0 z M 3,1 7,1 7,2 3,2 z M 2,3 8,3 8,6 2,6 z M 2,7 3,7 3,8 2,8 z M 7,7 8,7 8,8 7,8 z" id="bus-stop" style="fill:#000000;fill-opacity:1;stroke:none" transform="translate(1,1)"/> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" height="12" width="12" version="1.1"> + <rect style="fill:none;stroke:none;visibility:hidden" y="0" x="0" height="12" width="12" /> + <path d="m 3,1 -1,1 0,8 0.65625,0 c 0,0 0.1011489,1 0.81275,1 0.6891295,0 0.781,-1 0.781,-1 l 3.5,0 c 0,0 0.1143421,1 0.781,1 0.8164686,0 0.81275,-1 0.81275,-1 L 10,10 10,2 9,1 Z M 4,2 8,2 8,3 4,3 Z M 3,4 9,4 9,7 3,7 Z M 3,8 4,8 4,9 3,9 Z M 8,8 9,8 9,9 8,9 Z" /> </svg> diff --git a/symbols/shop/coffee.svg b/symbols/shop/coffee.svg new file mode 100644 index 0000000..c30d174 --- /dev/null +++ b/symbols/shop/coffee.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns="http://www.w3.org/2000/svg" + version="1.1" + width="14" + height="14"> + <path + d="m 12.384493,0.563045 c 0,0 -0.755812,-0.70671723 -2.001266,-0.5366193 C 9.1377731,0.19652406 5.67408,1.8563585 4.064323,3.2842072 2.4545656,4.7120561 0.24023006,7.0019767 0.09832664,8.5231653 -0.04357662,10.044353 -0.27583032,10.704286 1.4065218,12.384527 c 1.682352,1.68024 5.6574649,0.07602 5.6574649,0.07602 0,0 3.4984663,-1.595396 5.2184953,-4.5534894 1.720029,-2.9580935 1.659359,-4.2103848 1.659359,-4.2103848 0,0 0.238751,-1.0939281 -0.251224,-2.0514304 -0.489975,-0.95750278 - [...] +</svg> -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/openstreetmap-carto.git _______________________________________________ Pkg-grass-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

