diff --git a/.gitlab-ci/org.gnome.Fractal.CiTest.json b/.gitlab-ci/org.gnome.Fractal.CiTest.json index 4f92d565..2e1c03fd 100644 --- a/.gitlab-ci/org.gnome.Fractal.CiTest.json +++ b/.gitlab-ci/org.gnome.Fractal.CiTest.json @@ -22,19 +22,48 @@ "append-path": "/usr/lib/sdk/llvm16/bin:/usr/lib/sdk/rust-stable/bin" }, "modules": [ + { + "name" : "protobuf", + "buildsystem" : "autotools", + "config-opts": [ "DIST_LANG=cpp" ], + "cleanup" : [ + "/bin/protoc*", + "/lib/libprotoc*", + "/lib/libprotobuf-lite*" + ], + "sources" : [ + { + "type" : "archive", + "url" : "https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz", + "sha256" : "77ad26d3f65222fd96ccc18b055632b0bfedf295cb748b712a98ba1ac0b704b2" + } + ] + }, + { + "name" : "protobuf-c", + "buildsystem" : "autotools", + "sources" : [ + { + "type" : "archive", + "url" : "https://github.com/protobuf-c/protobuf-c/releases/download/v1.4.0/protobuf-c-1.4.0.tar.gz", + "sha256" : "26d98ee9bf18a6eba0d3f855ddec31dbe857667d269bc0b6017335572f85bbcb" + } + ] + }, { "name": "libshumate", "buildsystem": "meson", "config-opts": [ "-Dgir=false", "-Dvapi=false", - "-Dgtk_doc=false" + "-Dgtk_doc=false", + "-Dvector_renderer=true" ], "sources": [ { "type": "archive", - "url": "https://download.gnome.org/sources/libshumate/1.1/libshumate-1.1.0.tar.xz", - "sha256": "b3b7c4c2d3002f37b951c9ca99b09275d0aa82265c69f53374ce12faefd3b14e" + "url": "https://download.gnome.org/sources/libshumate/1.1/libshumate-1.1.2.tar.xz", + "sha256": "8f094f6e7e256ab192800516ff96617abeec2363b054aad6aeb17e0088c1fb2c" } ] }, @@ -50,4 +79,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/build-aux/org.gnome.Fractal.Devel.json b/build-aux/org.gnome.Fractal.Devel.json index caad282e..c8197832 100644 --- a/build-aux/org.gnome.Fractal.Devel.json +++ b/build-aux/org.gnome.Fractal.Devel.json @@ -37,19 +37,48 @@ ] }, "modules": [ + { + "name" : "protobuf", + "buildsystem" : "autotools", + "config-opts": [ "DIST_LANG=cpp" ], + "cleanup" : [ + "/bin/protoc*", + "/lib/libprotoc*", + "/lib/libprotobuf-lite*" + ], + "sources" : [ + { + "type" : "archive", + "url" : "https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz", + "sha256" : "77ad26d3f65222fd96ccc18b055632b0bfedf295cb748b712a98ba1ac0b704b2" + } + ] + }, + { + "name" : "protobuf-c", + "buildsystem" : "autotools", + "sources" : [ + { + "type" : "archive", + "url" : "https://github.com/protobuf-c/protobuf-c/releases/download/v1.4.0/protobuf-c-1.4.0.tar.gz", + "sha256" : "26d98ee9bf18a6eba0d3f855ddec31dbe857667d269bc0b6017335572f85bbcb" + } + ] + }, { "name": "libshumate", "buildsystem": "meson", "config-opts": [ "-Dgir=false", "-Dvapi=false", - "-Dgtk_doc=false" + "-Dgtk_doc=false", + "-Dvector_renderer=true" ], "sources": [ { "type": "archive", - "url": "https://download.gnome.org/sources/libshumate/1.1/libshumate-1.1.0.tar.xz", - "sha256": "b3b7c4c2d3002f37b951c9ca99b09275d0aa82265c69f53374ce12faefd3b14e" + "url": "https://download.gnome.org/sources/libshumate/1.1/libshumate-1.1.2.tar.xz", + "sha256": "8f094f6e7e256ab192800516ff96617abeec2363b054aad6aeb17e0088c1fb2c" } ] }, diff --git a/data/resources/mapstyle/osm-liberty/LICENSE.md b/data/resources/mapstyle/osm-liberty/LICENSE.md new file mode 100644 index 00000000..7061be1f --- /dev/null +++ b/data/resources/mapstyle/osm-liberty/LICENSE.md @@ -0,0 +1,39 @@ +## Code License + +The Mapbox GL Style JSON file is originally derived from [OSM Bright from Mapbox Open Styles](https://github.com/mapbox/mapbox-gl-styles/blob/master/LICENSE.md). The modified Mapbox GL Style JSON retains the same BSD license. + +> Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +> * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name of Mapbox nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +## Design License + +The look and feel of the OSM liberty map design is also derived (although heavily altered) from [OSM Bright from Mapbox Open Styles](https://github.com/mapbox/mapbox-gl-styles/blob/master/LICENSE.md) which is licensed under the Creative Commons Attribution 3.0 license. + +The map is displaying and styling the data from [OpenMapTiles](https://openmaptiles.org/) with [CC-BY 4.0 design license](https://github.com/openmaptiles/openmaptiles/blob/master/LICENSE.md). + +The products or services using this map style need to visibly credit "OpenMapTiles.org" or reference "OpenMapTiles" with a link to http://openmaptiles.org/. For a browsable electronic map based on OpenMapTiles and OpenStreetMap data, the credit should appear in the corner of the map. For example: + +[© OpenMapTiles](https://openmaptiles.org/) +[© OpenStreetMap contributors](https://www.openstreetmap.org/copyright) + +For printed and static maps a similar attribution should be made in a textual description near the image, in the same fashion as if you cite a photograph. + +## Icons + +OSM Liberty is using the [Maki POI icon set](https://github.com/mapbox/maki/blob/master/LICENSE.txt) which is licensed under CC0 1.0 Universal. + +The right arrow was derived from [Wikipedia][wiki_arrow] which is in the public domain. + +[wiki_arrow]: https://commons.wikimedia.org/wiki/File:Arrowright.svg + +## Fonts + +OSM Liberty is using the Roboto font family (Copyright 2011 Google). +Roboto is licensed under the [Apache License, Version 2.0](https://github.com/google/roboto/blob/master/LICENSE). + diff --git a/data/resources/mapstyle/osm-liberty/README.md b/data/resources/mapstyle/osm-liberty/README.md new file mode 100644 index 00000000..9b739343 --- /dev/null +++ b/data/resources/mapstyle/osm-liberty/README.md @@ -0,0 +1,14 @@ +# OSM Liberty style + +This is the vector style currently used in Maps. It is taken from + at commit [539d0525](https://github.com/maputnik/osm-liberty/commit/539d0525421eb5be901ede630c49947dfe5a343f), +with a few modifications: + +- Removed the Natural Earth raster layer, since libshumate doesn't support that + yet +- Removed the 3D buildings layer, since libshumate doesn't support fill-extrusion + layers yet +- Changed the tile source URL + +OSM Liberty is covered by several licenses. See LICENSE.md, which is copied +from the upstream repository. diff --git a/data/resources/mapstyle/osm-liberty/sprites.json b/data/resources/mapstyle/osm-liberty/sprites.json new file mode 100644 index 00000000..72cefa32 --- /dev/null +++ b/data/resources/mapstyle/osm-liberty/sprites.json @@ -0,0 +1,1689 @@ +{ + "aerialway_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 284, + "y": 127 + }, + "aerialway_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 80, + "y": 190 + }, + "airfield_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 299, + "y": 127 + }, + "airfield_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 99, + "y": 190 + }, + "airport_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 314, + "y": 127 + }, + "airport_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 118, + "y": 190 + }, + "alcohol_shop_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 381, + "y": 210 + }, + "alcohol_shop_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 64, + "y": 0 + }, + "america_football_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 398, + "y": 210 + }, + "america_football_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 85, + "y": 0 + }, + "amusement_park_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 415, + "y": 210 + }, + "amusement_park_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 106, + "y": 0 + }, + "aquarium_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 432, + "y": 210 + }, + "aquarium_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 0, + "y": 64 + }, + "arrow": { + "height": 7, + "pixelRatio": 1, + "width": 20, + "x": 486, + "y": 148 + }, + "art_gallery_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 449, + "y": 210 + }, + "art_gallery_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 21, + "y": 64 + }, + "attraction_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 466, + "y": 210 + }, + "attraction_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 42, + "y": 64 + }, + "bakery_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 483, + "y": 210 + }, + "bakery_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 63, + "y": 64 + }, + "bank_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 227, + "y": 229 + }, + "bank_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 84, + "y": 64 + }, + "bar_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 244, + "y": 229 + }, + "bar_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 105, + "y": 64 + }, + "baseball_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 261, + "y": 229 + }, + "baseball_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 0, + "y": 85 + }, + "basketball_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 278, + "y": 229 + }, + "basketball_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 21, + "y": 85 + }, + "beer_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 295, + "y": 229 + }, + "beer_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 42, + "y": 85 + }, + "bicycle_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 312, + "y": 229 + }, + "bicycle_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 63, + "y": 85 + }, + "bicycle_rental_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 329, + "y": 229 + }, + "bicycle_rental_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 84, + "y": 85 + }, + "building_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 329, + "y": 127 + }, + "building_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 137, + "y": 190 + }, + "bus_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 344, + "y": 127 + }, + "bus_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 156, + "y": 190 + }, + "butcher_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 346, + "y": 229 + }, + "butcher_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 105, + "y": 85 + }, + "cafe_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 363, + "y": 229 + }, + "cafe_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 0, + "y": 106 + }, + "campsite_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 380, + "y": 229 + }, + "campsite_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 21, + "y": 106 + }, + "car_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 359, + "y": 127 + }, + "car_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 175, + "y": 190 + }, + "castle_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 397, + "y": 229 + }, + "castle_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 42, + "y": 106 + }, + "cemetery_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 414, + "y": 229 + }, + "cemetery_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 63, + "y": 106 + }, + "cinema_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 431, + "y": 229 + }, + "cinema_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 84, + "y": 106 + }, + "circle-stroked_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 374, + "y": 127 + }, + "circle-stroked_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 194, + "y": 190 + }, + "circle_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 389, + "y": 127 + }, + "circle_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 213, + "y": 190 + }, + "clothing_store_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 448, + "y": 229 + }, + "clothing_store_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 105, + "y": 106 + }, + "college_11": { + "height": 16, + "pixelRatio": 1, + "width": 16, + "x": 473, + "y": 106 + }, + "college_15": { + "height": 20, + "pixelRatio": 1, + "width": 20, + "x": 0, + "y": 190 + }, + "commercial_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 404, + "y": 127 + }, + "commercial_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 232, + "y": 190 + }, + "cricket_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 465, + "y": 229 + }, + "cricket_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 126, + "y": 64 + }, + "cross_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 419, + "y": 127 + }, + "cross_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 0, + "y": 210 + }, + "dam_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 434, + "y": 127 + }, + "dam_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 19, + "y": 210 + }, + "danger_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 482, + "y": 229 + }, + "danger_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 147, + "y": 64 + }, + "default_1": { + "height": 18, + "pixelRatio": 1, + "width": 18, + "x": 152, + "y": 229 + }, + "default_2": { + "height": 18, + "pixelRatio": 1, + "width": 25, + "x": 170, + "y": 229 + }, + "default_3": { + "height": 18, + "pixelRatio": 1, + "width": 32, + "x": 195, + "y": 229 + }, + "default_4": { + "height": 18, + "pixelRatio": 1, + "width": 39, + "x": 247, + "y": 210 + }, + "default_5": { + "height": 18, + "pixelRatio": 1, + "width": 45, + "x": 286, + "y": 210 + }, + "default_6": { + "height": 18, + "pixelRatio": 1, + "width": 50, + "x": 331, + "y": 210 + }, + "dentist_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 251, + "y": 190 + }, + "dentist_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 168, + "y": 64 + }, + "doctor_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 268, + "y": 190 + }, + "doctor_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 189, + "y": 64 + }, + "dog_park_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 285, + "y": 190 + }, + "dog_park_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 210, + "y": 64 + }, + "dot_10": { + "height": 10, + "pixelRatio": 1, + "width": 10, + "x": 499, + "y": 229 + }, + "dot_11": { + "height": 11, + "pixelRatio": 1, + "width": 11, + "x": 500, + "y": 210 + }, + "dot_9": { + "height": 9, + "pixelRatio": 1, + "width": 9, + "x": 477, + "y": 148 + }, + "drinking-water_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 302, + "y": 190 + }, + "drinking_water_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 231, + "y": 64 + }, + "embassy_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 319, + "y": 190 + }, + "embassy_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 126, + "y": 85 + }, + "entrance_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 449, + "y": 127 + }, + "entrance_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 38, + "y": 210 + }, + "fast_food_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 336, + "y": 190 + }, + "fast_food_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 147, + "y": 85 + }, + "ferry_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 464, + "y": 127 + }, + "ferry_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 57, + "y": 210 + }, + "fire-station_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 353, + "y": 190 + }, + "fire-station_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 168, + "y": 85 + }, + "fuel_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 479, + "y": 127 + }, + "fuel_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 76, + "y": 210 + }, + "garden_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 370, + "y": 190 + }, + "garden_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 189, + "y": 85 + }, + "gift_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 387, + "y": 190 + }, + "gift_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 210, + "y": 85 + }, + "golf_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 404, + "y": 190 + }, + "golf_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 231, + "y": 85 + }, + "grocery_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 421, + "y": 190 + }, + "grocery_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 126, + "y": 106 + }, + "hairdresser_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 438, + "y": 190 + }, + "hairdresser_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 147, + "y": 106 + }, + "harbor_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 494, + "y": 127 + }, + "harbor_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 95, + "y": 210 + }, + "heart_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 455, + "y": 190 + }, + "heart_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 168, + "y": 106 + }, + "heliport_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 252, + "y": 148 + }, + "heliport_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 114, + "y": 210 + }, + "hospital_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 472, + "y": 190 + }, + "hospital_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 189, + "y": 106 + }, + "ice_cream_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 489, + "y": 190 + }, + "ice_cream_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 210, + "y": 106 + }, + "industry_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 267, + "y": 148 + }, + "industry_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 133, + "y": 210 + }, + "information_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 252, + "y": 64 + }, + "information_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 231, + "y": 106 + }, + "laundry_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 269, + "y": 64 + }, + "laundry_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 127, + "y": 0 + }, + "library_11": { + "height": 16, + "pixelRatio": 1, + "width": 16, + "x": 489, + "y": 106 + }, + "library_15": { + "height": 20, + "pixelRatio": 1, + "width": 20, + "x": 20, + "y": 190 + }, + "lighthouse_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 286, + "y": 64 + }, + "lighthouse_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 148, + "y": 0 + }, + "lodging_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 303, + "y": 64 + }, + "lodging_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 169, + "y": 0 + }, + "marker_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 282, + "y": 148 + }, + "marker_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 152, + "y": 210 + }, + "monument_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 320, + "y": 64 + }, + "monument_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 190, + "y": 0 + }, + "mountain_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 337, + "y": 64 + }, + "mountain_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 211, + "y": 0 + }, + "museum_11": { + "height": 16, + "pixelRatio": 1, + "width": 16, + "x": 252, + "y": 127 + }, + "museum_15": { + "height": 20, + "pixelRatio": 1, + "width": 20, + "x": 40, + "y": 190 + }, + "music_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 354, + "y": 64 + }, + "music_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 232, + "y": 0 + }, + "park_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 371, + "y": 64 + }, + "park_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 0, + "y": 127 + }, + "parking_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 297, + "y": 148 + }, + "parking_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 171, + "y": 210 + }, + "parking_garage_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 312, + "y": 148 + }, + "parking_garage_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 190, + "y": 210 + }, + "pedestrian_polygon": { + "height": 64, + "pixelRatio": 1, + "width": 64, + "x": 0, + "y": 0 + }, + "pharmacy_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 388, + "y": 64 + }, + "pharmacy_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 21, + "y": 127 + }, + "picnic_site_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 405, + "y": 64 + }, + "picnic_site_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 42, + "y": 127 + }, + "pitch_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 422, + "y": 64 + }, + "pitch_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 63, + "y": 127 + }, + "place_of_worship_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 439, + "y": 64 + }, + "place_of_worship_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 84, + "y": 127 + }, + "playground_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 456, + "y": 64 + }, + "playground_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 105, + "y": 127 + }, + "police_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 473, + "y": 64 + }, + "police_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 126, + "y": 127 + }, + "post_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 490, + "y": 64 + }, + "post_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 147, + "y": 127 + }, + "prison_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 252, + "y": 85 + }, + "prison_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 168, + "y": 127 + }, + "railway_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 327, + "y": 148 + }, + "railway_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 209, + "y": 210 + }, + "railway_light_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 342, + "y": 148 + }, + "railway_light_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 228, + "y": 210 + }, + "railway_metro_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 357, + "y": 148 + }, + "railway_metro_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 0, + "y": 229 + }, + "ranger_station_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 269, + "y": 85 + }, + "ranger_station_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 189, + "y": 127 + }, + "religious_christian_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 286, + "y": 85 + }, + "religious_christian_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 210, + "y": 127 + }, + "religious_jewish_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 303, + "y": 85 + }, + "religious_jewish_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 231, + "y": 127 + }, + "religious_muslim_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 320, + "y": 85 + }, + "religious_muslim_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 0, + "y": 148 + }, + "restaurant_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 337, + "y": 85 + }, + "restaurant_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 21, + "y": 148 + }, + "roadblock_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 354, + "y": 85 + }, + "roadblock_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 42, + "y": 148 + }, + "rocket_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 371, + "y": 85 + }, + "rocket_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 63, + "y": 148 + }, + "school_11": { + "height": 16, + "pixelRatio": 1, + "width": 16, + "x": 268, + "y": 127 + }, + "school_15": { + "height": 20, + "pixelRatio": 1, + "width": 20, + "x": 60, + "y": 190 + }, + "shelter_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 388, + "y": 85 + }, + "shelter_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 84, + "y": 148 + }, + "shop_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 405, + "y": 85 + }, + "shop_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 105, + "y": 148 + }, + "skiing_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 422, + "y": 85 + }, + "skiing_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 126, + "y": 148 + }, + "soccer_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 439, + "y": 85 + }, + "soccer_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 147, + "y": 148 + }, + "square-stroke_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 372, + "y": 148 + }, + "square-stroke_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 19, + "y": 229 + }, + "square_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 387, + "y": 148 + }, + "square_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 38, + "y": 229 + }, + "stadium_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 456, + "y": 85 + }, + "stadium_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 168, + "y": 148 + }, + "star-stroke_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 402, + "y": 148 + }, + "star-stroke_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 57, + "y": 229 + }, + "star_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 417, + "y": 148 + }, + "star_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 76, + "y": 229 + }, + "suitcase_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 473, + "y": 85 + }, + "suitcase_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 189, + "y": 148 + }, + "sushi_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 490, + "y": 85 + }, + "sushi_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 210, + "y": 148 + }, + "swimming_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 252, + "y": 106 + }, + "swimming_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 231, + "y": 148 + }, + "telephone_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 269, + "y": 106 + }, + "telephone_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 0, + "y": 169 + }, + "tennis_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 286, + "y": 106 + }, + "tennis_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 21, + "y": 169 + }, + "theatre_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 303, + "y": 106 + }, + "theatre_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 42, + "y": 169 + }, + "toilet_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 320, + "y": 106 + }, + "toilet_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 63, + "y": 169 + }, + "town_hall_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 337, + "y": 106 + }, + "town_hall_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 84, + "y": 169 + }, + "triangle_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 432, + "y": 148 + }, + "triangle_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 95, + "y": 229 + }, + "triangle_stroked_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 447, + "y": 148 + }, + "triangle_stroked_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 114, + "y": 229 + }, + "veterinary_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 354, + "y": 106 + }, + "veterinary_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 105, + "y": 169 + }, + "volcano_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 371, + "y": 106 + }, + "volcano_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 126, + "y": 169 + }, + "warehouse_11": { + "height": 15, + "pixelRatio": 1, + "width": 15, + "x": 462, + "y": 148 + }, + "warehouse_15": { + "height": 19, + "pixelRatio": 1, + "width": 19, + "x": 133, + "y": 229 + }, + "waste_basket_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 388, + "y": 106 + }, + "waste_basket_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 147, + "y": 169 + }, + "water_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 405, + "y": 106 + }, + "water_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 168, + "y": 169 + }, + "wetland_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 422, + "y": 106 + }, + "wetland_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 189, + "y": 169 + }, + "wheelchair_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 439, + "y": 106 + }, + "wheelchair_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 210, + "y": 169 + }, + "zoo_11": { + "height": 17, + "pixelRatio": 1, + "width": 17, + "x": 456, + "y": 106 + }, + "zoo_15": { + "height": 21, + "pixelRatio": 1, + "width": 21, + "x": 231, + "y": 169 + } +} \ No newline at end of file diff --git a/data/resources/mapstyle/osm-liberty/sprites.png b/data/resources/mapstyle/osm-liberty/sprites.png new file mode 100644 index 00000000..54aa1991 Binary files /dev/null and b/data/resources/mapstyle/osm-liberty/sprites.png differ diff --git a/data/resources/mapstyle/osm-liberty/sprites@2x.json b/data/resources/mapstyle/osm-liberty/sprites@2x.json new file mode 100644 index 00000000..69dc1869 --- /dev/null +++ b/data/resources/mapstyle/osm-liberty/sprites@2x.json @@ -0,0 +1,1689 @@ +{ + "aerialway_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 568, + "y": 254 + }, + "aerialway_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 160, + "y": 380 + }, + "airfield_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 598, + "y": 254 + }, + "airfield_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 198, + "y": 380 + }, + "airport_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 628, + "y": 254 + }, + "airport_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 236, + "y": 380 + }, + "alcohol_shop_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 762, + "y": 420 + }, + "alcohol_shop_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 128, + "y": 0 + }, + "america_football_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 796, + "y": 420 + }, + "america_football_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 170, + "y": 0 + }, + "amusement_park_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 830, + "y": 420 + }, + "amusement_park_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 212, + "y": 0 + }, + "aquarium_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 864, + "y": 420 + }, + "aquarium_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 0, + "y": 128 + }, + "arrow": { + "height": 14, + "pixelRatio": 2, + "width": 40, + "x": 972, + "y": 296 + }, + "art_gallery_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 898, + "y": 420 + }, + "art_gallery_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 42, + "y": 128 + }, + "attraction_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 932, + "y": 420 + }, + "attraction_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 84, + "y": 128 + }, + "bakery_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 966, + "y": 420 + }, + "bakery_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 126, + "y": 128 + }, + "bank_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 454, + "y": 458 + }, + "bank_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 168, + "y": 128 + }, + "bar_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 488, + "y": 458 + }, + "bar_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 210, + "y": 128 + }, + "baseball_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 522, + "y": 458 + }, + "baseball_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 0, + "y": 170 + }, + "basketball_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 556, + "y": 458 + }, + "basketball_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 42, + "y": 170 + }, + "beer_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 590, + "y": 458 + }, + "beer_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 84, + "y": 170 + }, + "bicycle_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 624, + "y": 458 + }, + "bicycle_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 126, + "y": 170 + }, + "bicycle_rental_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 658, + "y": 458 + }, + "bicycle_rental_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 168, + "y": 170 + }, + "building_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 658, + "y": 254 + }, + "building_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 274, + "y": 380 + }, + "bus_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 688, + "y": 254 + }, + "bus_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 312, + "y": 380 + }, + "butcher_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 692, + "y": 458 + }, + "butcher_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 210, + "y": 170 + }, + "cafe_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 726, + "y": 458 + }, + "cafe_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 0, + "y": 212 + }, + "campsite_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 760, + "y": 458 + }, + "campsite_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 42, + "y": 212 + }, + "car_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 718, + "y": 254 + }, + "car_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 350, + "y": 380 + }, + "castle_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 794, + "y": 458 + }, + "castle_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 84, + "y": 212 + }, + "cemetery_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 828, + "y": 458 + }, + "cemetery_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 126, + "y": 212 + }, + "cinema_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 862, + "y": 458 + }, + "cinema_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 168, + "y": 212 + }, + "circle-stroked_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 748, + "y": 254 + }, + "circle-stroked_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 388, + "y": 380 + }, + "circle_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 778, + "y": 254 + }, + "circle_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 426, + "y": 380 + }, + "clothing_store_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 896, + "y": 458 + }, + "clothing_store_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 210, + "y": 212 + }, + "college_11": { + "height": 32, + "pixelRatio": 2, + "width": 32, + "x": 946, + "y": 212 + }, + "college_15": { + "height": 40, + "pixelRatio": 2, + "width": 40, + "x": 0, + "y": 380 + }, + "commercial_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 808, + "y": 254 + }, + "commercial_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 464, + "y": 380 + }, + "cricket_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 930, + "y": 458 + }, + "cricket_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 252, + "y": 128 + }, + "cross_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 838, + "y": 254 + }, + "cross_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 0, + "y": 420 + }, + "dam_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 868, + "y": 254 + }, + "dam_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 38, + "y": 420 + }, + "danger_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 964, + "y": 458 + }, + "danger_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 294, + "y": 128 + }, + "default_1": { + "height": 36, + "pixelRatio": 2, + "width": 36, + "x": 304, + "y": 458 + }, + "default_2": { + "height": 36, + "pixelRatio": 2, + "width": 50, + "x": 340, + "y": 458 + }, + "default_3": { + "height": 36, + "pixelRatio": 2, + "width": 64, + "x": 390, + "y": 458 + }, + "default_4": { + "height": 36, + "pixelRatio": 2, + "width": 78, + "x": 494, + "y": 420 + }, + "default_5": { + "height": 36, + "pixelRatio": 2, + "width": 90, + "x": 572, + "y": 420 + }, + "default_6": { + "height": 36, + "pixelRatio": 2, + "width": 100, + "x": 662, + "y": 420 + }, + "dentist_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 502, + "y": 380 + }, + "dentist_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 336, + "y": 128 + }, + "doctor_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 536, + "y": 380 + }, + "doctor_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 378, + "y": 128 + }, + "dog_park_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 570, + "y": 380 + }, + "dog_park_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 420, + "y": 128 + }, + "dot_10": { + "height": 20, + "pixelRatio": 2, + "width": 20, + "x": 998, + "y": 458 + }, + "dot_11": { + "height": 22, + "pixelRatio": 2, + "width": 22, + "x": 1000, + "y": 420 + }, + "dot_9": { + "height": 18, + "pixelRatio": 2, + "width": 18, + "x": 954, + "y": 296 + }, + "drinking-water_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 604, + "y": 380 + }, + "drinking_water_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 462, + "y": 128 + }, + "embassy_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 638, + "y": 380 + }, + "embassy_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 252, + "y": 170 + }, + "entrance_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 898, + "y": 254 + }, + "entrance_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 76, + "y": 420 + }, + "fast_food_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 672, + "y": 380 + }, + "fast_food_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 294, + "y": 170 + }, + "ferry_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 928, + "y": 254 + }, + "ferry_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 114, + "y": 420 + }, + "fire-station_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 706, + "y": 380 + }, + "fire-station_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 336, + "y": 170 + }, + "fuel_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 958, + "y": 254 + }, + "fuel_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 152, + "y": 420 + }, + "garden_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 740, + "y": 380 + }, + "garden_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 378, + "y": 170 + }, + "gift_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 774, + "y": 380 + }, + "gift_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 420, + "y": 170 + }, + "golf_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 808, + "y": 380 + }, + "golf_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 462, + "y": 170 + }, + "grocery_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 842, + "y": 380 + }, + "grocery_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 252, + "y": 212 + }, + "hairdresser_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 876, + "y": 380 + }, + "hairdresser_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 294, + "y": 212 + }, + "harbor_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 988, + "y": 254 + }, + "harbor_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 190, + "y": 420 + }, + "heart_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 910, + "y": 380 + }, + "heart_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 336, + "y": 212 + }, + "heliport_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 504, + "y": 296 + }, + "heliport_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 228, + "y": 420 + }, + "hospital_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 944, + "y": 380 + }, + "hospital_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 378, + "y": 212 + }, + "ice_cream_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 978, + "y": 380 + }, + "ice_cream_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 420, + "y": 212 + }, + "industry_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 534, + "y": 296 + }, + "industry_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 266, + "y": 420 + }, + "information_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 504, + "y": 128 + }, + "information_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 462, + "y": 212 + }, + "laundry_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 538, + "y": 128 + }, + "laundry_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 254, + "y": 0 + }, + "library_11": { + "height": 32, + "pixelRatio": 2, + "width": 32, + "x": 978, + "y": 212 + }, + "library_15": { + "height": 40, + "pixelRatio": 2, + "width": 40, + "x": 40, + "y": 380 + }, + "lighthouse_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 572, + "y": 128 + }, + "lighthouse_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 296, + "y": 0 + }, + "lodging_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 606, + "y": 128 + }, + "lodging_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 338, + "y": 0 + }, + "marker_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 564, + "y": 296 + }, + "marker_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 304, + "y": 420 + }, + "monument_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 640, + "y": 128 + }, + "monument_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 380, + "y": 0 + }, + "mountain_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 674, + "y": 128 + }, + "mountain_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 422, + "y": 0 + }, + "museum_11": { + "height": 32, + "pixelRatio": 2, + "width": 32, + "x": 504, + "y": 254 + }, + "museum_15": { + "height": 40, + "pixelRatio": 2, + "width": 40, + "x": 80, + "y": 380 + }, + "music_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 708, + "y": 128 + }, + "music_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 464, + "y": 0 + }, + "park_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 742, + "y": 128 + }, + "park_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 0, + "y": 254 + }, + "parking_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 594, + "y": 296 + }, + "parking_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 342, + "y": 420 + }, + "parking_garage_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 624, + "y": 296 + }, + "parking_garage_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 380, + "y": 420 + }, + "pedestrian_polygon": { + "height": 128, + "pixelRatio": 2, + "width": 128, + "x": 0, + "y": 0 + }, + "pharmacy_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 776, + "y": 128 + }, + "pharmacy_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 42, + "y": 254 + }, + "picnic_site_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 810, + "y": 128 + }, + "picnic_site_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 84, + "y": 254 + }, + "pitch_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 844, + "y": 128 + }, + "pitch_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 126, + "y": 254 + }, + "place_of_worship_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 878, + "y": 128 + }, + "place_of_worship_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 168, + "y": 254 + }, + "playground_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 912, + "y": 128 + }, + "playground_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 210, + "y": 254 + }, + "police_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 946, + "y": 128 + }, + "police_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 252, + "y": 254 + }, + "post_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 980, + "y": 128 + }, + "post_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 294, + "y": 254 + }, + "prison_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 504, + "y": 170 + }, + "prison_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 336, + "y": 254 + }, + "railway_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 654, + "y": 296 + }, + "railway_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 418, + "y": 420 + }, + "railway_light_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 684, + "y": 296 + }, + "railway_light_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 456, + "y": 420 + }, + "railway_metro_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 714, + "y": 296 + }, + "railway_metro_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 0, + "y": 458 + }, + "ranger_station_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 538, + "y": 170 + }, + "ranger_station_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 378, + "y": 254 + }, + "religious_christian_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 572, + "y": 170 + }, + "religious_christian_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 420, + "y": 254 + }, + "religious_jewish_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 606, + "y": 170 + }, + "religious_jewish_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 462, + "y": 254 + }, + "religious_muslim_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 640, + "y": 170 + }, + "religious_muslim_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 0, + "y": 296 + }, + "restaurant_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 674, + "y": 170 + }, + "restaurant_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 42, + "y": 296 + }, + "roadblock_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 708, + "y": 170 + }, + "roadblock_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 84, + "y": 296 + }, + "rocket_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 742, + "y": 170 + }, + "rocket_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 126, + "y": 296 + }, + "school_11": { + "height": 32, + "pixelRatio": 2, + "width": 32, + "x": 536, + "y": 254 + }, + "school_15": { + "height": 40, + "pixelRatio": 2, + "width": 40, + "x": 120, + "y": 380 + }, + "shelter_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 776, + "y": 170 + }, + "shelter_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 168, + "y": 296 + }, + "shop_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 810, + "y": 170 + }, + "shop_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 210, + "y": 296 + }, + "skiing_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 844, + "y": 170 + }, + "skiing_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 252, + "y": 296 + }, + "soccer_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 878, + "y": 170 + }, + "soccer_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 294, + "y": 296 + }, + "square-stroke_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 744, + "y": 296 + }, + "square-stroke_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 38, + "y": 458 + }, + "square_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 774, + "y": 296 + }, + "square_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 76, + "y": 458 + }, + "stadium_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 912, + "y": 170 + }, + "stadium_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 336, + "y": 296 + }, + "star-stroke_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 804, + "y": 296 + }, + "star-stroke_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 114, + "y": 458 + }, + "star_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 834, + "y": 296 + }, + "star_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 152, + "y": 458 + }, + "suitcase_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 946, + "y": 170 + }, + "suitcase_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 378, + "y": 296 + }, + "sushi_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 980, + "y": 170 + }, + "sushi_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 420, + "y": 296 + }, + "swimming_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 504, + "y": 212 + }, + "swimming_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 462, + "y": 296 + }, + "telephone_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 538, + "y": 212 + }, + "telephone_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 0, + "y": 338 + }, + "tennis_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 572, + "y": 212 + }, + "tennis_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 42, + "y": 338 + }, + "theatre_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 606, + "y": 212 + }, + "theatre_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 84, + "y": 338 + }, + "toilet_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 640, + "y": 212 + }, + "toilet_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 126, + "y": 338 + }, + "town_hall_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 674, + "y": 212 + }, + "town_hall_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 168, + "y": 338 + }, + "triangle_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 864, + "y": 296 + }, + "triangle_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 190, + "y": 458 + }, + "triangle_stroked_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 894, + "y": 296 + }, + "triangle_stroked_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 228, + "y": 458 + }, + "veterinary_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 708, + "y": 212 + }, + "veterinary_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 210, + "y": 338 + }, + "volcano_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 742, + "y": 212 + }, + "volcano_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 252, + "y": 338 + }, + "warehouse_11": { + "height": 30, + "pixelRatio": 2, + "width": 30, + "x": 924, + "y": 296 + }, + "warehouse_15": { + "height": 38, + "pixelRatio": 2, + "width": 38, + "x": 266, + "y": 458 + }, + "waste_basket_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 776, + "y": 212 + }, + "waste_basket_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 294, + "y": 338 + }, + "water_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 810, + "y": 212 + }, + "water_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 336, + "y": 338 + }, + "wetland_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 844, + "y": 212 + }, + "wetland_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 378, + "y": 338 + }, + "wheelchair_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 878, + "y": 212 + }, + "wheelchair_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 420, + "y": 338 + }, + "zoo_11": { + "height": 34, + "pixelRatio": 2, + "width": 34, + "x": 912, + "y": 212 + }, + "zoo_15": { + "height": 42, + "pixelRatio": 2, + "width": 42, + "x": 462, + "y": 338 + } +} diff --git a/data/resources/mapstyle/osm-liberty/sprites@2x.png b/data/resources/mapstyle/osm-liberty/sprites@2x.png new file mode 100644 index 00000000..456cf030 Binary files /dev/null and b/data/resources/mapstyle/osm-liberty/sprites@2x.png differ diff --git a/data/resources/mapstyle/osm-liberty/style.json b/data/resources/mapstyle/osm-liberty/style.json new file mode 100644 index 00000000..53661eb1 --- /dev/null +++ b/data/resources/mapstyle/osm-liberty/style.json @@ -0,0 +1,1660 @@ +{ + "version": 8, + "name": "OSM Liberty", + "metadata": { + "maputnik:license": "https://github.com/maputnik/osm-liberty/blob/gh-pages/LICENSE.md", + "maputnik:renderer": "mbgljs", + "openmaptiles:version": "3.x" + }, + "sources": { + "openmaptiles": { + "type": "vector", + "tiles": ["https://tileserver.gnome.org/data/v3/{z}/{x}/{y}.pbf"], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": {"background-color": "rgb(239,239,239)"} + }, + { + "id": "park", + "type": "fill", + "source": "openmaptiles", + "source-layer": "park", + "paint": { + "fill-color": "#d8e8c8", + "fill-opacity": 0.7, + "fill-outline-color": "rgba(95, 208, 100, 1)" + } + }, + { + "id": "park_outline", + "type": "line", + "source": "openmaptiles", + "source-layer": "park", + "paint": { + "line-dasharray": [1, 1.5], + "line-color": "rgba(228, 241, 215, 1)" + } + }, + { + "id": "landuse_residential", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "maxzoom": 8, + "filter": ["==", "class", "residential"], + "paint": { + "fill-color": { + "base": 1, + "stops": [ + [9, "hsla(0, 3%, 85%, 0.84)"], + [12, "hsla(35, 57%, 88%, 0.49)"] + ] + } + } + }, + { + "id": "landcover_wood", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["all", ["==", "class", "wood"]], + "paint": { + "fill-antialias": false, + "fill-color": "hsla(98, 61%, 72%, 0.7)", + "fill-opacity": 0.4 + } + }, + { + "id": "landcover_grass", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["all", ["==", "class", "grass"]], + "paint": { + "fill-antialias": false, + "fill-color": "rgba(176, 213, 154, 1)", + "fill-opacity": 0.3 + } + }, + { + "id": "landcover_ice", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["all", ["==", "class", "ice"]], + "paint": { + "fill-antialias": false, + "fill-color": "rgba(224, 236, 236, 1)", + "fill-opacity": 0.8 + } + }, + { + "id": "landuse_cemetery", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", "class", "cemetery"], + "paint": {"fill-color": "hsl(75, 37%, 81%)"} + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", "class", "hospital"], + "paint": {"fill-color": "#fde"} + }, + { + "id": "landuse_school", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", "class", "school"], + "paint": {"fill-color": "rgb(236,238,204)"} + }, + { + "id": "waterway_tunnel", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": ["all", ["==", "brunnel", "tunnel"]], + "paint": { + "line-color": "#a0c8f0", + "line-dasharray": [3, 3], + "line-gap-width": {"stops": [[12, 0], [20, 6]]}, + "line-opacity": 1, + "line-width": {"base": 1.4, "stops": [[8, 1], [20, 2]]} + } + }, + { + "id": "waterway_river", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": ["all", ["==", "class", "river"], ["!=", "brunnel", "tunnel"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-color": "#a0c8f0", + "line-width": {"base": 1.2, "stops": [[11, 0.5], [20, 6]]} + } + }, + { + "id": "waterway_other", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": ["all", ["!=", "class", "river"], ["!=", "brunnel", "tunnel"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-color": "#a0c8f0", + "line-width": {"base": 1.3, "stops": [[13, 0.5], [20, 6]]} + } + }, + { + "id": "water", + "type": "fill", + "source": "openmaptiles", + "source-layer": "water", + "filter": ["all", ["!=", "brunnel", "tunnel"]], + "paint": {"fill-color": "rgb(158,189,255)"} + }, + { + "id": "landcover_sand", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["all", ["==", "class", "sand"]], + "paint": {"fill-color": "rgba(247, 239, 195, 1)"} + }, + { + "id": "aeroway_fill", + "type": "fill", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": ["==", "$type", "Polygon"], + "paint": {"fill-color": "rgba(229, 228, 224, 1)", "fill-opacity": 0.7} + }, + { + "id": "aeroway_runway", + "type": "line", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "all", + ["==", "$type", "LineString"], + ["==", "class", "runway"] + ], + "paint": { + "line-color": "#f0ede9", + "line-width": {"base": 1.2, "stops": [[11, 3], [20, 16]]} + } + }, + { + "id": "aeroway_taxiway", + "type": "line", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "all", + ["==", "$type", "LineString"], + ["==", "class", "taxiway"] + ], + "paint": { + "line-color": "#f0ede9", + "line-width": {"base": 1.2, "stops": [[11, 0.5], [20, 6]]} + } + }, + { + "id": "tunnel_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "motorway"], + ["==", "ramp", 1], + ["==", "brunnel", "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": { + "base": 1.2, + "stops": [[12, 1], [13, 3], [14, 4], [20, 15]] + } + } + }, + { + "id": "tunnel_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "tunnel"], + ["in", "class", "service", "track"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-dasharray": [0.5, 0.25], + "line-width": {"base": 1.2, "stops": [[15, 1], [16, 4], [20, 11]]} + } + }, + { + "id": "tunnel_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "ramp", 1], ["==", "brunnel", "tunnel"]], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[12, 1], [13, 3], [14, 4], [20, 15]] + } + } + }, + { + "id": "tunnel_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "tunnel"], + ["in", "class", "street", "street_limited"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-opacity": {"stops": [[12, 0], [12.5, 1]]}, + "line-width": { + "base": 1.2, + "stops": [[12, 0.5], [13, 1], [14, 4], [20, 15]] + } + } + }, + { + "id": "tunnel_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "tunnel"], + ["in", "class", "secondary", "tertiary"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"base": 1.2, "stops": [[8, 1.5], [20, 17]]} + } + }, + { + "id": "tunnel_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "tunnel"], + ["in", "class", "primary", "trunk"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]] + } + } + }, + { + "id": "tunnel_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "motorway"], + ["!=", "ramp", 1], + ["==", "brunnel", "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": { + "base": 1.2, + "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]] + } + } + }, + { + "id": "tunnel_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "$type", "LineString"], + ["==", "brunnel", "tunnel"], + ["in", "class", "path", "pedestrian"] + ], + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [1, 0.75], + "line-width": {"base": 1.2, "stops": [[14, 0.5], [20, 10]]} + } + }, + { + "id": "tunnel_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "motorway"], + ["==", "ramp", 1], + ["==", "brunnel", "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": { + "base": 1.2, + "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]] + } + } + }, + { + "id": "tunnel_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "tunnel"], + ["in", "class", "service", "track"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": {"base": 1.2, "stops": [[15.5, 0], [16, 2], [20, 7.5]]} + } + }, + { + "id": "tunnel_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "ramp", 1], ["==", "brunnel", "tunnel"]], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": { + "base": 1.2, + "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]] + } + } + }, + { + "id": "tunnel_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "brunnel", "tunnel"], ["in", "class", "minor"]], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": {"base": 1.2, "stops": [[13.5, 0], [14, 2.5], [20, 11.5]]} + } + }, + { + "id": "tunnel_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "tunnel"], + ["in", "class", "secondary", "tertiary"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": {"base": 1.2, "stops": [[6.5, 0], [7, 0.5], [20, 10]]} + } + }, + { + "id": "tunnel_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "tunnel"], + ["in", "class", "primary", "trunk"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]} + } + }, + { + "id": "tunnel_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "motorway"], + ["!=", "ramp", 1], + ["==", "brunnel", "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#ffdaa6", + "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]} + } + }, + { + "id": "tunnel_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "brunnel", "tunnel"], ["in", "class", "rail"]], + "paint": { + "line-color": "#bbb", + "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]} + } + }, + { + "id": "tunnel_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "brunnel", "tunnel"], ["==", "class", "rail"]], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]} + } + }, + { + "id": "tunnel_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "tunnel"], + ["in", "class", "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]} + } + }, + { + "id": "tunnel_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "tunnel"], + ["==", "class", "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]} + } + }, + { + "id": "road_area_pattern", + "type": "fill", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "$type", "Polygon"]], + "paint": {"fill-pattern": "pedestrian_polygon"} + }, + { + "id": "road_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["==", "class", "motorway"], + ["==", "ramp", 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[12, 1], [13, 3], [14, 4], [20, 15]] + } + } + }, + { + "id": "road_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["in", "class", "service", "track"] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": {"base": 1.2, "stops": [[15, 1], [16, 4], [20, 11]]} + } + }, + { + "id": "road_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 13, + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["!in", "class", "pedestrian", "path", "track", "service", "motorway"], + ["==", "ramp", 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[12, 1], [13, 3], [14, 4], [20, 15]] + } + } + }, + { + "id": "road_minor_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "$type", "LineString"], + ["!in", "brunnel", "bridge", "tunnel"], + ["in", "class", "minor"], + ["!=", "ramp", 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-opacity": {"stops": [[12, 0], [12.5, 1]]}, + "line-width": { + "base": 1.2, + "stops": [[12, 0.5], [13, 1], [14, 4], [20, 20]] + } + } + }, + { + "id": "road_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["in", "class", "secondary", "tertiary"], + ["!=", "ramp", 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"base": 1.2, "stops": [[8, 1.5], [20, 17]]} + } + }, + { + "id": "road_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["in", "class", "primary", "trunk"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]] + } + } + }, + { + "id": "road_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["==", "class", "motorway"], + ["!=", "ramp", 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]] + } + } + }, + { + "id": "road_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 14, + "filter": [ + "all", + ["==", "$type", "LineString"], + ["!in", "brunnel", "bridge", "tunnel"], + ["in", "class", "path", "pedestrian"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [1, 0.7], + "line-width": {"base": 1.2, "stops": [[14, 1], [20, 10]]} + } + }, + { + "id": "road_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["==", "class", "motorway"], + ["==", "ramp", 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": { + "base": 1.2, + "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]] + } + } + }, + { + "id": "road_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["in", "class", "service", "track"] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": {"base": 1.2, "stops": [[15.5, 0], [16, 2], [20, 7.5]]} + } + }, + { + "id": "road_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 13, + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["==", "ramp", 1], + ["!in", "class", "pedestrian", "path", "track", "service", "motorway"] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": { + "base": 1.2, + "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]] + } + } + }, + { + "id": "road_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "$type", "LineString"], + ["!in", "brunnel", "bridge", "tunnel"], + ["in", "class", "minor"] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": {"base": 1.2, "stops": [[13.5, 0], [14, 2.5], [20, 18]]} + } + }, + { + "id": "road_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["in", "class", "secondary", "tertiary"] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": {"base": 1.2, "stops": [[6.5, 0], [8, 0.5], [20, 13]]} + } + }, + { + "id": "road_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["in", "class", "primary", "trunk"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]} + } + }, + { + "id": "road_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["==", "class", "motorway"], + ["!=", "ramp", 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": { + "base": 1, + "stops": [[5, "hsl(26, 87%, 62%)"], [6, "#fc8"]] + }, + "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]} + } + }, + { + "id": "road_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["==", "class", "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]} + } + }, + { + "id": "road_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["==", "class", "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]} + } + }, + { + "id": "road_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["==", "class", "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]} + } + }, + { + "id": "road_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["!in", "brunnel", "bridge", "tunnel"], + ["==", "class", "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]} + } + }, + { + "id": "road_one_way_arrow", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 15, + "filter": ["==", "oneway", 1], + "layout": {"icon-image": "arrow", "symbol-placement": "line"} + }, + { + "id": "road_one_way_arrow_opposite", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 15, + "filter": ["==", "oneway", -1], + "layout": { + "icon-image": "arrow", + "symbol-placement": "line", + "icon-rotate": 180 + } + }, + { + "id": "bridge_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "motorway"], + ["==", "ramp", 1], + ["==", "brunnel", "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[12, 1], [13, 3], [14, 4], [20, 15]] + } + } + }, + { + "id": "bridge_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "bridge"], + ["in", "class", "service", "track"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": {"base": 1.2, "stops": [[15, 1], [16, 4], [20, 11]]} + } + }, + { + "id": "bridge_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "class", "link"], ["==", "brunnel", "bridge"]], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[12, 1], [13, 3], [14, 4], [20, 15]] + } + } + }, + { + "id": "bridge_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "bridge"], + ["in", "class", "street", "street_limited"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(36, 6%, 74%)", + "line-opacity": {"stops": [[12, 0], [12.5, 1]]}, + "line-width": { + "base": 1.2, + "stops": [[12, 0.5], [13, 1], [14, 4], [20, 25]] + } + } + }, + { + "id": "bridge_path_pedestrian_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "$type", "LineString"], + ["==", "brunnel", "bridge"], + ["in", "class", "path", "pedestrian"] + ], + "paint": { + "line-color": "hsl(35, 6%, 80%)", + "line-dasharray": [1, 0], + "line-width": {"base": 1.2, "stops": [[14, 1.5], [20, 18]]} + } + }, + { + "id": "bridge_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "bridge"], + ["in", "class", "secondary", "tertiary"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"base": 1.2, "stops": [[8, 1.5], [20, 17]]} + } + }, + { + "id": "bridge_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "bridge"], + ["in", "class", "primary", "trunk"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]] + } + } + }, + { + "id": "bridge_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "motorway"], + ["!=", "ramp", 1], + ["==", "brunnel", "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "base": 1.2, + "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]] + } + } + }, + { + "id": "bridge_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "$type", "LineString"], + ["==", "brunnel", "bridge"], + ["in", "class", "path", "pedestrian"] + ], + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [1, 0.3], + "line-width": {"base": 1.2, "stops": [[14, 0.5], [20, 10]]} + } + }, + { + "id": "bridge_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "motorway"], + ["==", "ramp", 1], + ["==", "brunnel", "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": { + "base": 1.2, + "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]] + } + } + }, + { + "id": "bridge_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "bridge"], + ["in", "class", "service", "track"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": {"base": 1.2, "stops": [[15.5, 0], [16, 2], [20, 7.5]]} + } + }, + { + "id": "bridge_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "class", "link"], ["==", "brunnel", "bridge"]], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": { + "base": 1.2, + "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]] + } + } + }, + { + "id": "bridge_street", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "brunnel", "bridge"], ["in", "class", "minor"]], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": {"base": 1.2, "stops": [[13.5, 0], [14, 2.5], [20, 18]]} + } + }, + { + "id": "bridge_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "bridge"], + ["in", "class", "secondary", "tertiary"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": {"base": 1.2, "stops": [[6.5, 0], [7, 0.5], [20, 10]]} + } + }, + { + "id": "bridge_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "brunnel", "bridge"], + ["in", "class", "primary", "trunk"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]} + } + }, + { + "id": "bridge_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "motorway"], + ["!=", "ramp", 1], + ["==", "brunnel", "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]} + } + }, + { + "id": "bridge_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "class", "rail"], ["==", "brunnel", "bridge"]], + "paint": { + "line-color": "#bbb", + "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]} + } + }, + { + "id": "bridge_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": ["all", ["==", "class", "rail"], ["==", "brunnel", "bridge"]], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]} + } + }, + { + "id": "bridge_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "transit"], + ["==", "brunnel", "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]} + } + }, + { + "id": "bridge_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", "class", "transit"], + ["==", "brunnel", "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]} + } + }, + { + "id": "building", + "type": "fill", + "source": "openmaptiles", + "source-layer": "building", + "minzoom": 13, + "paint": { + "fill-color": "hsl(35, 8%, 85%)", + "fill-outline-color": { + "base": 1, + "stops": [[13, "hsla(35, 6%, 79%, 0.32)"], [14, "hsl(35, 6%, 79%)"]] + } + } + }, + { + "id": "boundary_3", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "minzoom": 8, + "filter": ["all", ["in", "admin_level", 3, 4]], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#9e9cab", + "line-dasharray": [5, 1], + "line-width": {"base": 1, "stops": [[4, 0.4], [5, 1], [12, 1.8]]} + } + }, + { + "id": "boundary_2_z0-4", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "maxzoom": 5, + "filter": ["all", ["==", "admin_level", 2], ["!has", "claimed_by"]], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(248, 1%, 41%)", + "line-opacity": {"base": 1, "stops": [[0, 0.4], [4, 1]]}, + "line-width": {"base": 1, "stops": [[3, 1], [5, 1.2], [12, 3]]} + } + }, + { + "id": "boundary_2_z5-", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "minzoom": 5, + "filter": ["all", ["==", "admin_level", 2]], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(248, 1%, 41%)", + "line-opacity": {"base": 1, "stops": [[0, 0.4], [4, 1]]}, + "line-width": {"base": 1, "stops": [[3, 1], [5, 1.2], [12, 3]]} + } + }, + { + "id": "water_name_line", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": ["all", ["==", "$type", "LineString"]], + "layout": { + "text-field": "{name}", + "text-font": ["Roboto Regular"], + "text-max-width": 5, + "text-size": 12, + "symbol-placement": "line" + }, + "paint": { + "text-color": "#5d60be", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1 + } + }, + { + "id": "water_name_point", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "water_name", + "filter": ["==", "$type", "Point"], + "layout": { + "text-field": "{name}", + "text-font": ["Roboto Regular"], + "text-max-width": 5, + "text-size": 12 + }, + "paint": { + "text-color": "#5d60be", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1 + } + }, + { + "id": "poi_z16", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 16, + "filter": ["all", ["==", "$type", "Point"], [">=", "rank", 20]], + "layout": { + "icon-image": "{class}_11", + "text-anchor": "top", + "text-field": "{name}", + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi_z15", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 15, + "filter": [ + "all", + ["==", "$type", "Point"], + [">=", "rank", 7], + ["<", "rank", 20] + ], + "layout": { + "icon-image": "{class}_11", + "text-anchor": "top", + "text-field": "{name}", + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi_z14", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 14, + "filter": [ + "all", + ["==", "$type", "Point"], + [">=", "rank", 1], + ["<", "rank", 7] + ], + "layout": { + "icon-image": "{class}_11", + "text-anchor": "top", + "text-field": "{name}", + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi_transit", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "filter": ["all", ["in", "class", "bus", "rail", "airport"]], + "layout": { + "icon-image": "{class}_11", + "text-anchor": "left", + "text-field": "{name_en}", + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 9, + "text-offset": [0.9, 0], + "text-size": 12 + }, + "paint": { + "text-color": "#4898ff", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "road_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "filter": ["all"], + "layout": { + "symbol-placement": "line", + "text-anchor": "center", + "text-field": "{name}", + "text-font": ["Roboto Regular"], + "text-offset": [0, 0.15], + "text-size": {"base": 1, "stops": [[13, 12], [14, 13]]} + }, + "paint": { + "text-color": "#765", + "text-halo-blur": 0.5, + "text-halo-width": 1 + } + }, + { + "id": "road_shield", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 7, + "filter": ["all", ["<=", "ref_length", 6]], + "layout": { + "icon-image": "default_{ref_length}", + "icon-rotation-alignment": "viewport", + "symbol-placement": {"base": 1, "stops": [[10, "point"], [11, "line"]]}, + "symbol-spacing": 500, + "text-field": "{ref}", + "text-font": ["Roboto Regular"], + "text-offset": [0, 0.1], + "text-rotation-alignment": "viewport", + "text-size": 10, + "icon-size": 0.8 + } + }, + { + "id": "place_other", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": [ + "all", + [ + "in", + "class", + "hamlet", + "island", + "islet", + "neighbourhood", + "suburb", + "quarter" + ] + ], + "layout": { + "text-field": "{name_en}", + "text-font": ["Roboto Condensed Italic"], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-size": {"base": 1.2, "stops": [[12, 10], [15, 14]]}, + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#633", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1.2 + } + }, + { + "id": "place_village", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": ["all", ["==", "class", "village"]], + "layout": { + "text-field": "{name_en}", + "text-font": ["Roboto Regular"], + "text-max-width": 8, + "text-size": {"base": 1.2, "stops": [[10, 12], [15, 22]]} + }, + "paint": { + "text-color": "#333", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1.2 + } + }, + { + "id": "place_town", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": ["all", ["==", "class", "town"]], + "layout": { + "icon-image": {"base": 1, "stops": [[0, "dot_9"], [8, ""]]}, + "text-anchor": "bottom", + "text-field": "{name_en}", + "text-font": ["Roboto Regular"], + "text-max-width": 8, + "text-offset": [0, 0], + "text-size": {"base": 1.2, "stops": [[7, 12], [11, 16]]} + }, + "paint": { + "text-color": "#333", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1.2 + } + }, + { + "id": "place_city", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 5, + "filter": ["all", ["==", "class", "city"]], + "layout": { + "icon-image": {"base": 1, "stops": [[0, "dot_9"], [8, ""]]}, + "text-anchor": "bottom", + "text-field": "{name_en}", + "text-font": ["Roboto Medium"], + "text-max-width": 8, + "text-offset": [0, 0], + "text-size": {"base": 1.2, "stops": [[7, 14], [11, 24]]}, + "icon-allow-overlap": true, + "icon-optional": false + }, + "paint": { + "text-color": "#333", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1.2 + } + }, + { + "id": "state", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 6, + "filter": ["all", ["==", "class", "state"]], + "layout": { + "text-field": "{name_en}", + "text-font": ["Roboto Condensed Italic"], + "text-size": {"stops": [[4, 11], [6, 15]]}, + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#633", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1 + } + }, + { + "id": "country_3", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": ["all", [">=", "rank", 3], ["==", "class", "country"]], + "layout": { + "text-field": "{name_en}", + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 6.25, + "text-size": {"stops": [[3, 11], [7, 17]]}, + "text-transform": "none" + }, + "paint": { + "text-color": "#334", + "text-halo-blur": 1, + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1 + } + }, + { + "id": "country_2", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": ["all", ["==", "rank", 2], ["==", "class", "country"]], + "layout": { + "text-field": "{name_en}", + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 6.25, + "text-size": {"stops": [[2, 11], [5, 17]]}, + "text-transform": "none" + }, + "paint": { + "text-color": "#334", + "text-halo-blur": 1, + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1 + } + }, + { + "id": "country_1", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": ["all", ["==", "rank", 1], ["==", "class", "country"]], + "layout": { + "text-field": "{name_en}", + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 6.25, + "text-size": {"stops": [[1, 11], [4, 17]]}, + "text-transform": "none" + }, + "paint": { + "text-color": "#334", + "text-halo-blur": 1, + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1 + } + }, + { + "id": "continent", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 1, + "filter": ["all", ["==", "class", "continent"]], + "layout": { + "text-field": "{name_en}", + "text-font": ["Roboto Condensed Italic"], + "text-size": 13, + "text-transform": "uppercase", + "text-justify": "center" + }, + "paint": { + "text-color": "#633", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1 + } + } + ], + "id": "osm-liberty" +} diff --git a/data/resources/resources.gresource.xml b/data/resources/resources.gresource.xml index 0747d390..ea56e050 100644 --- a/data/resources/resources.gresource.xml +++ b/data/resources/resources.gresource.xml @@ -60,6 +60,11 @@ icons/scalable/status/verified-symbolic.svg icons/scalable/status/video-symbolic.svg icons/scalable/status/warning-symbolic.svg + mapstyle/osm-liberty/sprites.json + mapstyle/osm-liberty/sprites.png + mapstyle/osm-liberty/sprites@2x.json + mapstyle/osm-liberty/sprites@2x.png + mapstyle/osm-liberty/style.json sas-emoji/ar.json sas-emoji/bg.json sas-emoji/ca.json diff --git a/src/components/location_viewer.rs b/src/components/location_viewer.rs index dc40d69f..7a704a26 100644 --- a/src/components/location_viewer.rs +++ b/src/components/location_viewer.rs @@ -1,6 +1,6 @@ use adw::{prelude::*, subclass::prelude::*}; use geo_uri::GeoUri; -use gtk::{glib, CompositeTemplate}; +use gtk::{gdk_pixbuf, gio, glib, CompositeTemplate}; use shumate::prelude::*; use crate::i18n::gettext_f; @@ -48,8 +48,30 @@ mod imp { fn constructed(&self) { self.marker.set_child(Some(&*self.marker_img)); - let registry = shumate::MapSourceRegistry::with_defaults(); - let source = registry.by_id(shumate::MAP_SOURCE_OSM_MAPNIK).unwrap(); + let style = gio::resources_lookup_data( + "/org/gnome/Fractal/mapstyle/osm-liberty/style.json", + gio::ResourceLookupFlags::NONE, + ) + .expect("Failed to load map style"); + let source = + shumate::VectorRenderer::new("vector-tiles", &String::from_utf8_lossy(&style)) + .expect("Failed to read map style"); + source.set_license("© OpenMapTiles © OpenStreetMap contributors"); + source.set_license_uri("https://www.openstreetmap.org/copyright"); + + let spritepixbuf = gdk_pixbuf::Pixbuf::from_resource( + "/org/gnome/Fractal/mapstyle/osm-liberty/sprites.png", + ) + .expect("Failed to load map sprites"); + let spritejson = gio::resources_lookup_data( + "/org/gnome/Fractal/mapstyle/osm-liberty/sprites.json", + gio::ResourceLookupFlags::NONE, + ) + .expect("Failed to load map sprite sheet"); + source + .set_sprite_sheet_data(&spritepixbuf, &String::from_utf8_lossy(&spritejson)) + .expect("Failed to set map sprite sheet"); + self.map.set_map_source(Some(&source)); let viewport = self.map.viewport().unwrap();