From 877a58e250dfe2fdd8786d499c6d0446a648d4a4 Mon Sep 17 00:00:00 2001 From: Pirmin Kalberer Date: Mon, 2 Sep 2024 14:44:10 +0200 Subject: [PATCH] Include content from SotM-EU presentation (#57) --- .../content/copyright/_index.md | 5 +- .../content/customizing/_index.md | 67 +++++++++++ shortbread-website/content/download/_index.md | 3 +- .../content/make-vectortiles/_index.md | 95 ++++----------- .../content/make-vectortiles/bbox.md | 57 +++++++++ .../content/make-vectortiles/osm2pgsql.md | 59 +++++++++ .../content/make-vectortiles/pbf-db-mvt.png | Bin 0 -> 78406 bytes .../content/make-vectortiles/pbf-mvt.png | Bin 0 -> 42586 bytes .../content/make-vectortiles/planetiler.md | 22 ++++ .../content/make-vectortiles/tilekiln.md | 17 +++ .../content/make-vectortiles/tilemaker.md | 112 ++++++++++++++++++ .../content/publishing/_index.md | 83 +++++++++++++ shortbread-website/content/schema/1.0.md | 1 - shortbread-website/content/schema/_index.md | 10 +- shortbread-website/content/styles/_index.md | 22 +++- 15 files changed, 463 insertions(+), 90 deletions(-) create mode 100644 shortbread-website/content/customizing/_index.md create mode 100644 shortbread-website/content/make-vectortiles/bbox.md create mode 100644 shortbread-website/content/make-vectortiles/osm2pgsql.md create mode 100644 shortbread-website/content/make-vectortiles/pbf-db-mvt.png create mode 100644 shortbread-website/content/make-vectortiles/pbf-mvt.png create mode 100644 shortbread-website/content/make-vectortiles/planetiler.md create mode 100644 shortbread-website/content/make-vectortiles/tilekiln.md create mode 100644 shortbread-website/content/make-vectortiles/tilemaker.md create mode 100644 shortbread-website/content/publishing/_index.md diff --git a/shortbread-website/content/copyright/_index.md b/shortbread-website/content/copyright/_index.md index bc4c750..abf8d16 100644 --- a/shortbread-website/content/copyright/_index.md +++ b/shortbread-website/content/copyright/_index.md @@ -1,13 +1,14 @@ +++ title = "Copyright & License" +weight = 1 +++ # Copyright -Geofabrik takes the position that this schema is not creative enough to be a copyrightable +We take the position that this schema is not creative enough to be a copyrightable work. -For the sake of clarity, however, we are releasing it under the [CC-0 license.](./CC0-1.0-LICENSE.txt) +For the sake of clarity, however, we are releasing it under the [CC-0 license](CC0-1.0-LICENSE.txt). For the avoidance of doubt, using this schema to create your vector tiles will not add any attribution requirements, but if you generate vector tiles from OpenStreetMap data, you will of course have to attribute OpenStreetMap. diff --git a/shortbread-website/content/customizing/_index.md b/shortbread-website/content/customizing/_index.md new file mode 100644 index 0000000..5f5ce1d --- /dev/null +++ b/shortbread-website/content/customizing/_index.md @@ -0,0 +1,67 @@ ++++ +title = "Customizing Shortbread" +description = "How to create and display customized shortbread vector tiles" +weight = 6 ++++ + +## Use cases + +* **Custom styles**: Hiding features in a map or highlighting specific features can be done with a custom style. +Since styles are applied in the browser, you can use existing Shortbread tiles. See [Rendering Styles](/styles/). + +* **Additional POIs**: If some POIs are missing or specific attributes for styling are not included, then you +have to create custom Shortbread tiles or an additional tileset. + +* **Route relations**: If you want to highlight route relations (e.g. bus lines) in your map, then you +have to create custom Shortbread tiles or an additional tileset. + +* **More tags for special objects**: If you want to create specialized maps requiring additional tags, then you +have to create custom Shortbread tiles or an additional tileset. + +* **Additional tags for streets or buildings**: If you want to create specialized maps requiring additional tags for streets or buildings, then you +have to create custom Shortbread tiles. + +* **Other / more languages**: Currently Shortbread tiles include `name`, `name_en` and `name_de`. It is a goal for Shortbread to +add support for other languages. In the meantime you have to create custom Shortbread tiles, if you need more languages. + + +## Customizing Shortbread + +### Creating custom Shortbread tiles + +See [Creating Shortbread Vector Tiles](/make-vectortiles/) for workflows and tutorials to create custom Shortbread tiles. + +The main options for custom configurations are: +* tilemaker config (JSON, Lua) +* Planetiler config (YAML, Java) +* osm2pgsl config (Lua) + +### Basic rules + +* Keep tile size small +* Don't break base map styles +* Discuss core extensions in [shortbread-docs repo](https://github.com/shortbread-tiles/shortbread-docs) + +## Using Shortbread with additional tilesets + +### Tileset combinations + +There are pros and cons for creating custom base map tiles or creating additional tilesets: + +* Extended base map tiles + * No additional tiles + * Can break base map styles + * Selfhosting required +* Additional tilesets + * Additional tile source in style + * No easy relation to base map tiles + * Potential duplication of data + +### Server-side combination + +Mapbox vector tiles allow concatenating tiles on server-side. + +There are some drawbacks though: +* Requires a service +* Not supported by all tile servers +* Caching more difficult diff --git a/shortbread-website/content/download/_index.md b/shortbread-website/content/download/_index.md index 02dea89..1d79435 100644 --- a/shortbread-website/content/download/_index.md +++ b/shortbread-website/content/download/_index.md @@ -1,8 +1,9 @@ +++ title = "Downloading Shortbread Tiles" description = "How & where to download shortbread vector tiles" +weight = 5 +++ As well as [making shortbread vector tiles yourself](/make-vectortiles/), you can download tiles from these providers. -- [Geofabrik Download Service](https://download.geofabrik.de/). For every region in the Geofabrik Download service, there are [experiental, non-updated shortbread tiles downloads](https://blog.geofabrik.de/?p=589) available. +- [Geofabrik Download Service](https://download.geofabrik.de/). For every region in the Geofabrik Download service, there are [experimental, non-updated shortbread tiles downloads](https://blog.geofabrik.de/?p=589) available. diff --git a/shortbread-website/content/make-vectortiles/_index.md b/shortbread-website/content/make-vectortiles/_index.md index 09af9ea..4107ff5 100644 --- a/shortbread-website/content/make-vectortiles/_index.md +++ b/shortbread-website/content/make-vectortiles/_index.md @@ -1,89 +1,36 @@ +++ title = "Creating Shortbread Vector Tiles" description = "This page describes how to generate the vector tiles in the Shortbread schema" +weight = 4 +++ -Shortbread Tiles can be created with [Tilemaker](https://tilemaker.org/). +## Tile creation workflows -Creating Shortbread vetor tiles is very simple. Install Tilemaker & the shortbread-tilemaker settings, get the OSM & external data, and run tilemaker! +### PBF → Vector tiles -## Software required +{{< figure src="pbf-mvt.png" width="70%" >}} -### Tilemaker +Software: +* tilemaker ([Tutorial](tilemaker/)) +* Planetiler ([Tutorial](planetiler/)) -- Follow the [Tilemaker installation instructions](https://github.com/systemed/tilemaker/blob/master/docs/INSTALL.md). +### PBF → DB → Vector tiles -### Extra software +{{< figure src="pbf-db-mvt.png" width="70%" >}} -You need [`ogr2ogr`](https://gdal.org/programs/ogr2ogr.html). +Software PBF → PostGIS: +* osm2pgsql ([Tutorial](osm2pgsql/)) -| OS | command | -| ------------- | --------------------------- | -| Debian/Ubuntu | `sudo apt install gdal-bin` | -| _(Other OS)_ | _(command)_ | +Software PostGIS → Vector tiles: +* BBOX ([Tutorial](bbox/)) +* Tilekiln ([Tutorial](tilekiln/)) -## Get Shortbread-Tilemaker settings +## Tile storage -Clone the Git repository of the vector tile schema from Github: +There are multiple options to store vector tiles: -```sh -git clone https://github.com/shortbread-tiles/shortbread-tilemaker -``` - -## Get Data - -### OpenStreetMap data - -Tilemaker needs raw OpenStreetMap data as input. You can download it from: - -- regional extracts from [Geofabrik Download Service](https://download.geofabrik.de) -- latest weekly planet PBF file from [planet.openstreetmap.org](https://planet.openstreetmap.org/) or any of its [mirrors](https://wiki.openstreetmap.org/wiki/Planet.osm#Planet.osm_mirrors) -- regional extracts from [download.openstreetmap.fr](https://download.openstreetmap.fr/extracts/) - -Please try with a small extract first before you try to load the complete planet file. - -### Additional data - -In the shortbread-tilemaker directory: - - ./get-shapefiles.sh - -It will download a few required additional files into the `data` directory. - -## Generate Tiles - -In the shortbread-tilemaker directory, run this command: - - tilemaker --config config.json --process process.lua --bbox -180,-90,180,90 \ - --input OSM_FILE.osm.pbf --output shortbread-tiles.mbtiles - -The generated data is the `shortbread-tiles.mbtiles` file. - -### Output format - -Tilemaker supports a few [output formats](https://github.com/systemed/tilemaker/blob/master/docs/RUNNING.md#standard-usage). Here [mbtiles](https://wiki.openstreetmap.org/wiki/MBTiles) is used. - -#### BBox PBF files - -If the `.osm.pbf` file contains a bounding box entry in its header (this is not -true for the planet), you can omit the `--bbox -180,-90,180,90` part of the -tilemaker command. The generation process will be much faster for smaller -areas, and the output data will contain less “ocean tiles”, [[and be a little -bit smaller]]?? - -The error message `Can't read shapefiles unless a bounding box is provided.` -means you need to specify the `--bbox` option. - -#### Memory - -The above command uses the tilemaker default of storing things in memory. If you are running out of memory, you need the `--store` option, e.g. `--store tilemaker.store.d/`. - -Read more in the [tilemaker documentation about on-disk storage](https://github.com/systemed/tilemaker/blob/master/docs/RUNNING.md#using-on-disk-storage) - -## Statistics - -In February 2022, a server with a AMD EPYC 7452 32-Core Processor (2.35–3.35 GHz), 512 GB RAM, -cache on NVMe and output to a loop-mounted hard disk drive (RAID 1) took 16:15 hours and needed up -to 358 GB RAM to generate the whole planet. - -## Troubleshooting +* Files / S3 +* [MBTiles](https://github.com/mapbox/mbtiles-spec) (requires tile service for serving) +* [PMTiles](https://docs.protomaps.com/pmtiles/) +* DB cache (requires tile service for serving) +* No storage - live generated tiles diff --git a/shortbread-website/content/make-vectortiles/bbox.md b/shortbread-website/content/make-vectortiles/bbox.md new file mode 100644 index 0000000..9f4bef8 --- /dev/null +++ b/shortbread-website/content/make-vectortiles/bbox.md @@ -0,0 +1,57 @@ ++++ +title = "Using BBOX" +description = "Generating vector tiles with BBOX" +weight = 4 ++++ + +Shortbread Tiles can be created with [BBOX](https://www.bbox.earth/). + +## BBOX overview + +* Generate and serve vector tiles +* Formats: PostGIS, MBTiles, PMTiles, S3 +* Successor of t-rex tile server + +### Serve shortbread tiles from PostGIS + +When importing OSM data into PostGIS with [osm2pgsql](/make-vectortiles/osm2pgsql/): +* Set `local BBOX = true` in `osm2pgsql-themepark/config/shortbread_gen.lua` +* Change `write_config('bbox-config.toml')` to `write_config('/data/bbox-config.toml')` + when running with Docker +* Run `osm2pgsql` + +Run BBOX tile server: +```bash +BBOX_DATASOURCE_DB=postgres://osm:osm@127.0.0.1/osm bbox-tile-server -c data/bbox-config.toml serve +``` + +Tiles are served on + +Serve with style: +```bash +mkdir styles +curl -L https://github.com/versatiles-org/versatiles-style/releases/latest/download/styles.tar.gz \ + | tar xz -C styles colorful.json +sed 's!https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}!http://localhost:8080/xyz/osm/{z}/{x}/{y}.pbf!g' styles/colorful.json > styles/colorful-local.json + +BBOX_DATASOURCE_DB=postgres://osm:osm@127.0.0.1/osm BBOX_ASSETS__STATIC='[{dir="../styles",path="/styles"}]' bbox-tile-server -c data/bbox-config.toml serve +``` + +### Serve PMTiles or MBTiles with style + +```bash +mkdir styles +curl -L https://github.com/versatiles-org/versatiles-style/releases/latest/download/styles.tar.gz \ + | tar xz -C styles colorful.json +sed 's!https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}!http://localhost:8080/xyz/shortbread/{z}/{x}/{y}.pbf!g' \ + styles/colorful.json > styles/colorful-local.json + +# Serve MBTiles +BBOX_ASSETS__STATIC='[{dir="styles",path="/styles"}]' bbox-tile-server serve data/shortbread.mbtiles + +# Serve PMTiles +BBOX_ASSETS__STATIC='[{dir="styles",path="/styles"}]' bbox-tile-server serve data/shortbread.pmtiles + +# Open in Maputnik +xdg-open "https://maplibre.org/maputnik/?style=http://localhost:8080/styles/colorful-local.json#15/47.1377/9.5188" +``` diff --git a/shortbread-website/content/make-vectortiles/osm2pgsql.md b/shortbread-website/content/make-vectortiles/osm2pgsql.md new file mode 100644 index 0000000..9917d46 --- /dev/null +++ b/shortbread-website/content/make-vectortiles/osm2pgsql.md @@ -0,0 +1,59 @@ ++++ +title = "Using osm2pgsql" +description = "Importing OSM data into PostGIS with osm2pgsql" +weight = 3 ++++ + +[osm2pgsql](https://osm2pgsql.org/) can be used to import and update OSM data in a PostGIS database using the Shortbread schema. + +## osm2pgsql overview + +* Flex mode: configuration with Lua scripts +* Osm2pgsql [Themepark](https://osm2pgsql.org/themepark/) with Shortbread config +* `osm2pgsql-gen` for generalization in database +* `osm2pgsql-replication` for incremental updates +* Config generation for tile servers + +### Quickstart (Docker) + +```bash +git clone https://github.com/osm2pgsql-dev/osm2pgsql-themepark.git + +# Start database +docker run -d --name postgis -p 127.0.0.1:5432:5432 \ + -e POSTGRES_DB=osm -e POSTGRES_USER=osm -e POSTGRES_PASSWORD=osm postgis/postgis + +# Download OSM extract +mkdir data +curl -sSfO --output-dir data https://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf + +# Import OSM extract +docker run --rm --network=host -v $PWD/osm2pgsql-themepark:/osm2pgsql-themepark:ro -v $PWD/data:/data \ + -e LUA_PATH="/osm2pgsql-themepark/lua/?.lua;;" \ + -e PGHOST=127.0.0.1 -e PGUSER=osm -e PGPASSWORD=osm iboates/osm2pgsql:1.11.0 \ + osm2pgsql -d osm -S /osm2pgsql-themepark/config/shortbread_gen.lua -O flex --slim \ + /data/liechtenstein-latest.osm.pbf +``` + +### osm2pgsql generalization + +```bash +# Download and import additional data (water polygons, etc.). Requires ogr2ogr! +PGHOST=127.0.0.1 PGUSER=osm PGPASSWORD=osm ./osm2pgsql-themepark/themes/external/download-and-import.sh \ + data osm oceans ocean + +# Generalize +docker run --rm --network=host -v $PWD/osm2pgsql-themepark:/osm2pgsql-themepark:ro \ + -e LUA_PATH="/osm2pgsql-themepark/lua/?.lua;;" \ + -e PGHOST=127.0.0.1 -e PGUSER=osm -e PGPASSWORD=osm iboates/osm2pgsql:1.11.0 \ + osm2pgsql-gen -d osm -S /osm2pgsql-themepark/config/shortbread_gen.lua +``` + +### osm2pgsql updates + +```bash +docker run --rm --network=host -v $PWD/osm2pgsql-themepark:/osm2pgsql-themepark:ro \ + -e LUA_PATH="/osm2pgsql-themepark/lua/?.lua;;" \ + -e PGHOST=127.0.0.1 -e PGUSER=osm -e PGPASSWORD=osm iboates/osm2pgsql:1.11.0 \ + osm2pgsql-replication update -d osm +``` diff --git a/shortbread-website/content/make-vectortiles/pbf-db-mvt.png b/shortbread-website/content/make-vectortiles/pbf-db-mvt.png new file mode 100644 index 0000000000000000000000000000000000000000..960b807ded597e19c5763474bd55752a3f3c7a7d GIT binary patch literal 78406 zcmYg&1yEJ(_w}JK-Q6G|A|ZL{E=g%=kWjk2yG1|&>5%Rgq@XvZ6FP3JD4T0O+zZ60ZON5d#2VtRaZtCyU#0W8e>DI~i?9 z03a=Ye8cFI#F2p?5<5w1IjP#3Ik_4+m;$b@t}JhDEFDdZ>`Yl~9n3%P3y=T+6(B1i zs^*ru`^__n%ryDp!9Bf5=m#{u?@7F)jEo-|b=(syXow$dRRL;Iiu7_k-?8c8DCp^PaB2WF9#DUx-cQ(wLe^YdUybr^9MdiZShJ% z$ZhOBWN>Z$iO*n?xGV{7&Jus4$85UKd7TW(C%*`eWNmS)`e|fg0rC56^A*`IlI3d{ z0xChmyz63%H{f+OU=U*^yc~oJXnphGDlIKtO|^HvzP_f3B_$yNWa#4oft%fGV9xtu z9?*69W$NVOqUe@x6p(7*@tY2)`o#=<=CMUwO4QVcS<0cjV+1O-q6}_V2!Y%Ci&iAV z?eRij_g6KNLk5S~=KR6}M%!2Cog{u&oBQe3>xpu=t*lVxV^Wd73*<(t+RCQ9<9QN| zv|PSU`Yu(?JO4??nw7;8@+EL>04Q{0?nJa|>9LNo332>tTYJy870ea?yjubbJ$ zkU6mzZJ|P^)PP3m>tIvu_=LT7CHi>kIGGBIQJVYHd|?F_zUK28OW>;O1c}1U&v|Du zah^x3EuF_!|ILlG&@nb}e}C{GRK+Mr+Ax&QQjXS zeQj!D5Ey0?9r7o_3WHuOc(MYq0>=;_Ffb6{o$53udu8H#9G|iFGvmGng7jzqAstyt*7liWt}A?IyOKb5;h=#w% z@~#@d1!V#?#`(~qaEqDe8+k{2H#MQp704lk9EKPhwF`fHcMu+i z@+W-k*iHNKfcx$8dnSjQ;{n!_Qd{q5RnP67l6me{#wV02%PZU8cj77mc60VUFn06K zQ!sY-SDWHng8Vxr)l~Hrl+61`&mC(fv2bD+E?O=mWAMEOXIs4aHT9hF0rOOQsfk;k z!$3;laNo6+)bHUcwva-1wM&rNn7CFgw4B$L!>pwN#hT@aOTY6o5SKzo zZTysX(kqPzK0e3VF7@3^a}~3A@4&`jbm!6fIxjDe?tlO?LyC}iAv%z5NYGYgIsmwV zM<1iD=Izhzp`951eLv;m+*-@2{mtYUa?zdgrGu>iR2G1WA~trGJx@LEZ?3fyd8Nn5 z$bb{13%@e}fhP^*7Nb615gDSx!ba?ez$(TwVZ)3qo2*|~n!&PDT}ZZ2_F`!AX1rN0 z`%LmJ%#aQ>ay!uG%G(${B*tr{5f3iTNXN!gsqnCZOO=W9iHH1}2f~V&Z&PcjmfCcK zN@Yv6)AGZ9>Pu>+Ocr=!F;nvZ$m8lfzSvsA?EYR+$ulJe2RQ77ybFWx!U(wEV_K9d zNa4jIK#V}}|B)HsMvP5G{Q7Va(J5e6BKF`5YAk=)${Up7Jx$UHwdFGMSeAkVjD56# z#4sWAeDqTS3LRNoY>H!JaXy9@R?h?oA!s`OPK-9$-`~%uJz-j#p~go=*@>J($BRVn z5`)Fxqz`-l=SGk)+C}Dz%Uejqh5|DgeAomuliUK@yQL}Ip9B?6`Cfjf6tj@AfBABt zflN606xAG7T9nNYnxtCcTx=WnZ6n2!YLgz~afbv&syC56@(O|T_dNJUC}tC8Xx8h- zhaQ2w{9nFLQr>pO!yBY!wBf-cKxX2Dh{1|#+fzM3+eMb}ub_G#69H3}e+=svuX2Up zTQA%Go)u_F9y>Xyitx|2w$XYsok3}S7u=*Vdb$apY0_v-?cW|jN(7tIM#3yW3BhcF z8F<=RRgb?PiVzZmh>K6)(I1Jj4j=4*5p2w!)ihg?_2HQ)+5h%I|9|@s^^De1FaZ}e zA~;~hMf`47Jv@?XUVWPi0v{mn8D~j_g;eMNbL9Xx3>I6|P)4%TuL4-&V`^PGSWiVr z&!Hg^p~BDt2JcT`8Y5Vvats^JgG<8D`&slDr|SG++Kwo7vb+(+QFp#lySBDc2|NMP zW_uz&SHX&F=|X~nMbyF?@UP`1l&2?+Wi~bLzFWukha<1gkge+>pVe~XVE=&<^r63h z=8G4^-Yf9T!&7gzhcl$}hX4A;j!cFi+Is7Izv&wzAgr$#==aU@0@m(g-WAU7YWS$A z)7=Op=rKBvX+%E>hq=ML-&e`Q2oRyFXqSCD=cGnv_Zg49oC*!?jU$a%V8;NH3}GiQ zrK08c>GYz~nhp9XzyTGu{e4a*c2x1PLA{{nC@-Yl7H=56)Pc|-+ilMPfl0N7DE;Z& zgvNd&XKn;Mg6Wka+yFWD=Ij2cDOa(cBt@*{`5VIX6w2zlXi+v?C|?l(6|EnN+lTJT>Xoc z8-snU@jHP${M=h-%lO$Zt0?uNKlyrCS6`HgxpLwvUA_`CQz8*uE5A1ntwL+&Q#&(8 z`lR;O*GPzXTOwE8!f5VU7+U{}_jLLCYZ3vey_qjsh%%q!Vv{A9hMA%@fPu{IZr@&| zu<$LDRDPlMJt4lpY7>z|K*vrO2Er6xXHZM(Y*wGdESWksP6RnJ9S2Tl^q;dEub`<( z2s~WIK0w+&wVcvH)P2jftIcq#Jy#E}cgi`Ox7C2MrhPs@=yn-XskidyZ_XeyBKV;I zLr=feOT}N^-BLix=g-f&(NYm$Siha(0QHML`~c5_*5!Pq-Le?4-?&KuXq0GGE^cxz zoSvQnb~~l@up=WQY|GI9J3uMh#-iw&qPCS<%HoWWNO=Evsw82yE>+%wu)s_$Do7+; zze)qs_&GBpMF`fl*-ofZ z^_l9VAzyAUtR%^t99mhbj?VE}8i>0&0*T5gw|aQ*z#qeVNVcr$KVv`d^}IazPD(;G z(HeUHoS%4G)?X6~F6u}U$(E>wn~17ZLElNa@cndVV3%`XKT(Y(k=zXnyeV;slOnGj z8k05?QxHOM13PwTz+Uhia#Aw~wJ?9y@Hie$QsT?<-e_g}k*ctNp{0z9jqx8~!Dgqa z^izm9YiwHAMQCrEdoAW486dQ%u;dX@*CxAE7$&onr=DB;UXB1hfLhuJr-gT_{KP_U8hoFNpkNqB0bmrFf3Xq^6myRlPZ4uXvh zlR0MvkB$BKd`8(x>?Vl7fyY!6)tZ2Xjm^eZPHg)49ENE?BjSPACVwNC`+>_J=0Y4< z&?h*^z!2{$8qjioRt|SKS>J;1CmBfqV>hX74#VcS@#FSHH1?q_8Y}YZdoP98VY|!^ zkd=t^4%+q6eX{$V_X+lJTvZ9C!f|s5nRoVXb$0QdJ7_}$eu~L%Oa2KB*?)`ARVcXB zAV!+Kpf72QuPNF%Dej&{#q)`3mwx1_?|GXcF@wJxQ&i5OZkMv|D6e35O6-V0Ht5!Zf*SOa;;|seMm%D^o}v<3P1t;nVjc7IP!%dH>}*(A z8k&ER^$-7vnM$p(K!%yO_RbGNy8=%A0=~c0L+C0E)m0h|=^v(Jbiw5$fFl2BhUfUm znpf#ftYOSPjXLT7>L87X5 zbe++C!!M_I*2$1(vrD5_1ixg5VcEP@t4mXHCxp#vg~9%lZjG$88Xf2W5XVsfm;#4D zwfQh&=C^O&uN?Ukh{(v`mq0ov0Dx$3^~-0Ql=0LR`^D!sAM2YD{H$l|U@D9PAM|#A znP(s@jY?A@EP*L(xb@uH){_)a{UQ&ubhG#%1T0>5^8gJ?0jPk*+qX}l`-g{YKz@b~ zAAl)*%LXu{+QBB+bEuUjlOVJUgse28bs4alR1zr(97(*wh}OPRAeQ;V6%NxiVRO|?NPPAtxP#O+sra;9@sS@p+JHWPFgD=1SP zS{`9@)@wBKEyjtcM6H-aEk$FLnxQ~q%Mi9-n|)}4(k=(8yEC`&H|Y!O!*UgZGNfZ4 zKe;jxnJRy56~sR|wvMS;Z-2kI!bsFXhK)ml#@>^Yl}bv@W6?;fFDU^TmVksq=uWUY zgZ~tx)pqD+DqI@~Q98dU+&_dW@%_$~9ok-E_&f-E`0cP_s}TMjNnULq*w4j7~NNfj>+i6dxEIY%ql`4ewK$54;cHdWRqWuv$>+ zkjML%N1EFUb=V5VBMP*bA@$TKkqB4X2vYGLU4{#eE` z@K|86FtfS&S-ad-hkuMa2v5*3O-Xl42<>S*jrG;Bv#j`Y=;+7$dqws+yz3!aPV-(f5iO1YA_1X*bHEO9|6L+g$ z%bPwNz^3KO3{p#2gfx5psSVD5sc|zs@O=XgMDvrL3vtkEVwfxcF-={2grLqC5iJO0 zsIRKz_DJZWaTvyKSnvWEnV7(D#At6@U8+q>OPd1$Jiy7x2~=24u|R6masDBAB3C9< zMAH6x+M>w_3&qxmAIxDj)cxTIaKvdD>hGO62OU?OO0;FOR|hTbz@@{F=nm(5u>THQ zRf6uavE@j>B*S{CWR7devT*Nw&~%%;20 zq>(BW_?WmO-K+?XChJE9D9tj?X_CELzdUq>Ze6v0J`5p`I+hC#TBC;i>%Mc2~eOZt%4xcDd2Cb9N^h&k_3M=)w}HyYye)`z=;;rd{Y+oK-pHH#!Z z=XZm10UD~UVDYD3lY`vT>wBN6L-f8Md0|Tahr`_h*<1odTaC?Mq`c0AwAo?~+MZXC9x0`X+W}Sj=9O5$rvJKFKdq_fRuqy;dvs=XOBmJT3TDf0KR+`M*4SyaJdG*LXUI>;&HK~P}8MnE^XjfSaJnlP-Bbc3yy`0 z@ze6}uumJxyb-8j?>wSm2|8pBk|E78OgcUZIZL}Iga5CX%e(dPFTlLdaK<{##4KtE z9z8L5I5Pl1us2zzhuWrXo`%o{%BXSn!uJELtv_@YjtKxou+T!(f0l!!((meIQ`~}} z?QF^bvkgh;5avVQTEnK+5BnbS9`H^0%cYyx95@UWzJ>8?blilkFzLYnTn-k{+a4M1 zhVZcKyfb0Y2EH1N9kIaWQs5O7mBV}pe(49tF#J+MPE5dv@)0Ua10d!|JTp6canl_6 zPit7lGJSv#oV$fJ4_S<1tX8iym$PsY)g4WpaCh|&+&IKF{~&OyHyypBa@~sz?E^^F zB9A5gH8QnxNJO0pt zX{2bf=1jk5e9qV4P24OhCG&t;^S%)K~)UPftVe-wGR4o4uQIC znO0*NPExH73wU^J%>S52Ao4#Ff+5-;iHPXiW*KuhvKkT4ZqsE*MbwEm_%tm;k8M0N znTtVo7TFxzvIQ{B;HF+=b!35k9mPse6Yx%Bop6G<(2$K_FHCN=kc7Qx6K|+ECUrZt zP?;;A23wrYT4qLzg9L?LAh@2Dfo4~6b$@7SPxcBfwFgczRcoiv$tk0Moc5-#`5w!& zer`AhDg6{laLM=u%i95QQbK`GHAf@FJc~oUFKmn|910Rurh~D5h!KUkH^_=lsyj8? zgz?;1M|Hr8wFIkBQ3aV(%^7xJVA)eX)rSZGM9u64XJrA6MzstTGq`qcHcjkc z(9NYiozwfyJB!5r+n(r0NeKZC`6k=9RWiPhwx({ItkdTs4@%p^-kG{+Ec!FSNs;z~ zc6wv%gw_JR4Y^jB{5v0=snPQ8ZjKU$>e=O<2v*68_v{z=Vb!oP@k?AuA&~xG;UxOM zqm|WcQISPO1aBQ45lS(IgH|(&#+Tw2+O@*57%|~NH}hK1hGA?A6+s?m9^**|>NMZi zB*BGJ-|k#;l`WszRJj++;JJ7MG@K0a@5Hp)E(-OYts*rXwA=uf zW1m{!vzV?0J!LqzIO8P@HoCehPq32w6y`r@`(QcKQAXEKKi>FI=OX< z{3bldYy7(=XUX==vm^}y@*Dl#?pELR!HoZGo^2d zx6XC<#PO+&uTv=%6t6zN7zz(hFU)M)wgO*%rsRGdv+*=H{lHKLlAQ|%dq`(kea28K z$0WPSpz5yYvhcLWVmW)iC^2EY3-$i{_UAP(Ua|14V`>jQ(RJzkqd)r}?+%l6AOmO>+|hJA&t!gYZ~fCeI`T8_p5nr)aHp1=L!CM@4>oS9tot zK6WUb=>#)k9!cso;iGaahCU>Cp$nvY?n8k(t6#7yywkP;Q20lMH7J#ASl|Q=c=?eT zhAK`bq1ol;d=HrO*eL~0&(C2ioPNIoKJ>l$WpWP|yfGU7)S1 zggtV8YKqXEtbt3agF*O8wik*SaKUlegnX|bkQ$gw-6c$Yb8~~-5>cj8&+?!j`Cl8s z?)|HIQ!E@bkAYgcZIw4O_MF>xaG|szUGVelpr{)D@5{ zvQV9wjk>H(aD#clUPu4W3lKIbOa~1%kv55v=p<6#$;c+Up)0{V(Aks^R;iU?YSAza z!Z&?peDXSc&^B0=>Sh~A-n{9xaVKBh&BtwzP{=V|UL5nDnEma!tXOxqOW5!hDThqH z+dnDr$m&JEC@Ep0y|O)_ovaRvi^e87guQ1FQ$>-Nf_;yD=_!u){cT`!AO*kKrJVLi zOMz)=mTOK?&%bBIgD@=y`do<~oVf|;pE-*;2kbPs9_as-(#o2T<$$u5>vuqvcI$hS z;dDV=5D)<+dQAj=q_(HzL*KuD2Y#e*q591?xx!U=T{!?6Wx7zK&DvJC^oO*c&hxj- z{_4dVFo#)~-jMzVcqv@rhB8r8Uo8G47QqXFZqQY3hG_(=MgP37%eE%j{;0kx~?}9Oxo;S%<%F z`utnqw{KRwrr*2i19+|i3^)!E=b)*Ionqzk`jtBo%R5zQzD08iG`iwUDUT=zmt87O z_5MpsGRhf5$|7vonog)5-?5+U1?xWT$s9#h`TmLUagJoq*DWm%E>#Rqq;IV^h~+k3 zD1odLL}V4@${2{KV_Do%)JOp@_=F{((UHY?=u-F_l(~51_OWhC#22DRyMbfveKZvR zDQ!rw|C9hSi3G4kg-G@3vndvZPwM_?!}AC;C5~ys%C%e6uzDZZJhOdQhv%7Qq~n}$ zE;TFPc8%FbB{%xjPu8D}KMTh=(`YUxVV84Y!p*7h-0~`3SEH8V%s;H1iA{Y6dFEV8 zTlCa;oV8?}mMFn7sh~k&r2qp*+Iea3W&A>O=;;^z=Bzsl(>GjXQd6=Sd3Rfj6?^x# zC)X#l-XMQu=Y10$sDVLT5&#EdAk+JVQ$xyR8AsfR4)p|+>FKjs!o(rYlX5PBw>;42M#oSVc3fTiKC-+mb&L@aX1v zGI@Atx9}8K?G(vs{wu!U080~^*c4k5>FC&4mBD7E&)s$J9{=K%B0%ALYY%W+O#^Kg zAZP5|Df_xz)V#X1U0lBLQO9Pvk0Ar^A0ao)YX0fBB@k$5ncYsW$9Kz{)kic~5>GhF z`+&;mxpz;8@GeDk5N1YU1R z!9=2p8af}kxvDL+1ml04coO+kAzjoONhuijlMs{%fArV9kN>pa_<47!f|aV%3kGJD zAM1tIJsNx-^=fva_>9GFF8%5nJbVvr-dw>A)!VHw@#db9*>!bWy(fPY6&`NQI5I(1 za3%F+nd@4dG%TC#g211Ce{XFWj8?T7`lHY}z#4#Lpd`1Qj6tJ2g+P_22xqtGeF5_a zdN>&O4yEx^b5`)W4WhC(16d#CIn1xmH2p6R(+<2sag_wH#in>HJe>xf*Nezxx@{Nc z8AVBUrVEA`DMMWe>Gu_ffbGb${joAuO ztI-4$>S%{nTANA8TM_ecauj9ATr@q&2ms&Zl-tnA|?n`cS?$Sr4>GCL(ScU z?>fx(U1^uxYWZUAkP(O9`y>P`h@MPmhht+K37#4tQBX^y{cE9JyxIzQ;^z^PoyJH2< zi2#GUZB5!6pOepvK_eAghFJC{CMG`9N1%-hy={A<7-qWGk`S0O@D)sWYs#qtzxS~N z{(Jeu?~MDWtqT9x2wZ|nIAWS$ihRGVLc%%c;Ols?>dTG`9LsBgf-fp`CjKd=$|r%g z?~AUD*@L_EtqTjMbn`kET?) zGkjyLt5h`tjqSlc8>O*pLg^2Czs(P`KK0qm4upl*Q?xG=`oyGR`X*YFW^_(-msO2) zceINYGi!4a5D@28l1FP`^sBx}>^R3u&VBhqCHIJQWkZJ$hTMMomkAZ;g`dq|PEOs^ z)&@L!r`W<1e}yvjy}=P13dnpRwAJoAp{}W5>|&yHh|grF2ER$n`#c~S-Y8%=)l@rf z&;MmkVPARAOoKh`nl1{E@o>9&5)(*yw~9U}&l~Aj3%1KNVH$2p+C;J3CkpITmoX9U9c&(Vkm74pPXjx6FSk7{| z_N4XN;wV$w9T%@y%Hq%Uko<2%-g2f`X_&l?KE{)KTjMg4&Pt;tqTASsmW#(p)Mc02 zJM!kgJ?~h`WWB^hNB8H&=#F0cs_)Q82Y^lTaksAazKy}p)SRJ9V4Dlp@alM-%b>}6 zmKy+dDwxYP24Q3oX=xt~o@Oc=Pz`)H$NFt}Qro=#ds ze6N^K8w)xx^LnA3tM*p22HP2Y&P;f|JmvA0<=;MnrjLl#zl3X9Bl|@Kfgp#p{P*)HnJw-@`1@J(*rUxS$OC z+-S_Tx4+*JxvBryEoze0_bz&m=|$s5$+vl7ZzX5e=8*0pLI{W?um{i;%AQbE$ohx< zvp{yz{;O9o0}zS8jUam5pUk`mY9GiKktW!(#ku_T-(_kC6X^CBRyK66*yu%eae>H- zS&NETpy$`BKwM9RTUY$82Ygx;FX|^Q(u4H3w zxJn>DnPWrph1L8wQu&*oQ#S1i=&%Izn?e;)h@;DH zA*L8(A-#I~-SE|?2&8WnEkEsCwFHQ+8q6Q%9$q43G9=N&T5$6}X5KFa6Y2v?pdk%d zTJStb8*lE8G{g{DB7tncMFkmBh}!MB?9CvweQLcmg$%Ou{?3hW*rM@mo?GdPgt4%; z4t@c;cg)k>5&cYJ1wTHv*MU^$Np0ZD9T}$D>?-8AEza&cIuCFN+7>Hp=J|k@(>zwu zUVIgK`#V{%Hr&qy#kKPNRiWU53T6$(_kE~HPNk5jKjETp+^&;+Aa{*Y<5aE|Er-Pq zLu5KNs8IggbYQD78tkm@WpH&PVVuyd+Mez3i>T2%fR~P4?X4odF?{4u#5-tV#}Uo2 zdVl!H4&z|qN~IXI&`vRNHE{#aCl;c2AjjS@)zopNDy_IK1ZV2_D$%j%oS5dR#@k-ioTGHq zKRpnLSX$V>LjYvTN76j(UyE>Ry~0B0^W;o+37*YI$!<3w6F;eG5}9blDH0`z`5Kv$ zI5#>eysE=x;Kqxw7Z!0*TK!Jw1DH%q9YJ2W%+1gB8aW!wG1%*B=Xaz=iW5R`%OEK( zNCQs@Q)dBOaZcQMsk%Y@=K#)Le( zs166bepTL&9d*>Cp<0Ml{jQ|B=vaX@FP^-jNOpNR;6D)1f)&8r;h{cx^p^zj;Iv!8 z4WG>WukaG-1hm{qQ+jj$>2U`!9b<9@Y~OzTNB}yrt>(-1s@@<2tyhD#RGdGTKdZRV zG&6DvDQ2aHM@_>B^)OS`z=sA!9B~{?x;9xq!X9<|1VZsfb~1*L^WA_G!x2}CH`WS) zl`=hCg+c~+sXxnQFfV;CO3u2z-`bs$O1oD5jkN$a*ndyV)+aHKDCvleumG z^Ymac_d|=th#~XJ&v<$5d%c8oy$hIl!{?eKodwUv!__=B%Q`fZg7bS}gWs#NXxr9z3adjkDWy z06pAhUdov9Ms%FqGoFQuHHktjwO7%ST7HeP$5??^hVW5iX`{c+%6CIl{$?mpqLmts zvz{0cxc0;2Bq1s5%jgHlS--|Ehk6)Hxh zuSV30-?eykH8GXBv8r+@*&keg=s!eZ33``!tNv_UnoTuJENbaq#*8USeZtEdsshc& z;Smo`jYz}oI)ZGf{niRPN9|$!D%_Ebl4zXZ!}6WI`{UXuhlOX)s}biOjURmLUMU+t zI!`_<(W%%N?fVzwWUegH+okf#_4FYQ1vW$nO3G`$Nt7gu9M_NB5RLx1@{l%6b{d+Q ze|_tVL)1jVOpGFBXQE0T(u zf#UDSGJ-l@n3p2cX70Prg1ycH+I;&bm2M=~n-pCO8CK`g$m3$aWHE#vVAJpWc@71F zHBeYJ)AInr3I|$b-6=z2(Dc;9(YX?0g^2U9y%rsv=mk;A4LaQ0FlS=3b5Yw*$D8E9 zDZwB=qXsDgSa_C44Bgy_#PG+!d_@Xk6ch}PgGI+-LEsUn0*?a;@k#TS*k0+nQ^8CV zHxs;jH9vtzZ$?m=QEelZYQAFdh%@VkYwHa;;JWC|0~lO(5FXn+iVIeqP=ack`LAEk zn?Rk)!qO7XaH>qtYOWzJl+s7*AKmH8z7<(hj?5na(xDr8Kf<<#M^Y{*>Tpfyf9)gL z)%H4zioK(2g(R}+jD;YSRwDvLz6I$ZSbT&)eDx$^GTu;iEDb4Yq;@O9=R zemUs&roC>6!^a4ICDtSTY;-n6TR%tkLE)Ro?@iN@&L?XW@;Qm}#>bpVMw9#MDWo>3 zu;!2{D#j2-a4Alj!e3mA*X{h5Im~pmIcCu7QxHKg9)a$s`;;5S&)n!@dm#ZD5YAlOn|6h9wF7WVig=m0$gE$JcT*SLZ z#2Je!sp?a5O2At}ZyA5fl!Qc04}Tk!wKNTwF<6&kB`3T_#hk!KRJtY|c8yCX=lsp?zWNJqxgD-Wn(YjTtpg7utkEb_llKm~8zV{mr8(}xO zEG{?wGWHV7L*@$I)kq|ws29^^)Rt%zAxV~YE8UbIt%%30LpTl5NzK0C@tZAS%6*C2 zX(M{L`=I>~DgK}E=r86&^&+8$(ZM)kLog*_Ox|EYuH?7x6sZR5_*P-jyI?-rvJ^~f z)|0OuMFTmJUF)llHC$y~&8w6?>rCkm8a!+*>`){Qc{(?*WR#Z@W)F;b&CpcMo-dzb zj4%9>*r{g!8#F8+i$$A2(=_#>89bg zu=vjQev#oHz9XJLL?Pu^jM9a+O z8kZXz5lq!>c&)d%Xo-__Jg2RLVLHb_;njJ(S5|#Ed?mFXZRxp(KvgPZhUTx6*ltF$ zX9>9LtCEOV#bYN$skrNoOcyN)1BFizM^l-;u`Z|fck%iu*L^vgqg8Q96Hey)x)@|* z(aj-yh~uVD<4W3dvckw3v(t6dOf(aj6&-D2rE6+rw9FVuL{L`RHF)AS@~wBXfk@8Z#Ln@TOOWPsBEB^^-R6p=oMFf2Lg&- zRsT`{hT7>@u$saVdcMX*e`d~cI;;8apk!6ntXyv>!}prE`*@_=l}xMK&-}0^)Kp-E zf`y`iqVBlOjrXZI%|=|;k~T$O!Z{Kh>Gwl5aThIijy#mIKy7G#J3Yd@lo|P>%p6K0 z8r%R{9yO8m^GqH28B_PKsFA9Y^3lqv9kqYHkE` zq8sRtyE9Sj#eU4hVDP<2I<|rHgLc^jiYk1sFq`C8lK6dfCZWlJU-W#NTe%DWz?5nH z`^0)8)A+zwtbVm-&9anyFU1L_@!|~$>inul_^)2PQ3%!+-j78fsm7gfMBztbT2~u_ zs<1Pt3+3xZjipAc;5QLRtg1ZAKQzz$@O^D5^X;I3lXyu>8h`A5H_@W?QZju1%cW%A z^doYl^zh|mqW;LN3j1$FWtEkcy&l~98n~o&y-cV*lMT`Li>;qu<&_2McU>>F@lXg5 zs{JvPit;jIH7fqOGzuu3QGAkQ4NfAw(UasW3-7}FRU?%pD=*m866h!N14Df%wo1%f zzGz@TvpM#W%NA|C1gWcSi5XJ?2|KvyUZqUmTqhigumWY)wboPBj?N>%KG!V7k*`-7 z`Ev-*pz-18C(DD>-6X};D3=fychI9zEy%_)6mU*5jiyDJ&_B=w z6a#=i4!b{f(aF^nj_uK=502I`b)#&k+@9CBA}oO&Mwmdg4j&D(IDPR!dGkYSId~bkjGI`>b1Fo zbBZWBLIW@M^vxsCY90O`S28;8RYxvg%%!mj1S?ow6b*mDTL(Ow*CyKLlepRn69pS` z-d8yjiy(js*BI0UMb=HT0+l2ES6Pb7&a}ye$}R8GNuY(jEheDS@(N9CDEu7pUkfC$=q`2&Sum$Q9T-e_)zGxQ1DUOaWA?kQ zrXo<*%r7D}A`zB-#2+|NJd&J(}Y zy4s}72Oq643PicEcT18I1_rjbzhI%jAR@F2hhlUx>zWuPNYd=A%*?ow=W=OF$J=o5 zBE#)fP{GaiH-h*NI{OFHlAXfG1ZIlqks+-HnrZ`c4g=2tck{N95iH=*_4GJoh`6`6 z7dM5NcnI2AsenJt+3|yvDOh9T=?&Ll|H)-IE0X@crJ0h9) z=_ug!XfSwm&A==v*n0eIpx{X&KD=Cw6(`OYO#=N4m=61JehQy&4?O%WjhfBLQ(b1> zUR|h>{a0|~<;q?+_%<0xqP3CPsWvjLMr9jKmkZe>J3D<-ncysbH{q50wOOvqGY`dC zu4n^1bDvK8%3o!b(Xcat*Bd(Y`6xr-A5#0F*d6L8_{Q&VvW1Dk9?d{_KQytK72n~N zgfLv!Q4v%gLlh@eq13h~h_`T-kT=WP#t$mR@@RgFoGcp2QYHNHb;g)#M{ zppKW<4;T$^TlG{tMp}EXd|4T9`9I`*5qbJIARt^=|42iwp&zM{w+-WqS#Z{(T78uA zVjl6gU`ojtBVJi)CCR68d_IgK>Y4(5B|6{1B6lgZBOwj&{>oD@ZCOiGC?Azi$(tCa zd>MUp2PWtzIjH2LOX}UG#JJHbTg5JR45Qt$kJm2p@^8Da;D*~737H9pBTd%HkhCyn zc-{Jsd}E0}C#^1ZF)Ndpyj^*V%Co$Z%OxwlIzwU2`0CR7$HwV14|X5VY8$QAK0BT( z=%01Bt5|iX0DgW^fCEPul^mo(=|ycH{uq)39|HR?AMI|Bj652g^Ct3h;zMr(C$*8X z77-~QE_((jOct8mOLXcn{AO)i$;B{2S7U`K{BmOWQ2Zt*H6ZG1NYzB$5sz~jhu~N% zq2F_zI+5OAFDyUW?o;d(-Qz0q!uVl=6Myd=jex5i9A05a+R5XXG(<0_r9}ubc$WnE zUw1}X=HR?IyxOKrQYEK@17)gDopN^1SwfWSw^*&Gk4b5lF^w3U1YzXPTWN`|uB#WQ z)3if{oav7z&U~Wlz7kiXXalc-c)PzapyCAqjnp?N{x_DH7)GZD^Z>5f$`lpneOLo>xdX$v^V$)jIYW9 zN~E+)!BSZ{VmHHte?Y6x9D)*gVggn|wIhA{?p_BbzQuP?^)T$gr(UJ~YihJoZ-$vV z5AqEHKyK*I0uyE?iVNtsFaX58wc9iB&7 z8<~hsc0^i6@RBfWuuDD-seL$rk9jzd8eldMm=BFO9H z1`eB3jSKrWGqnXD!+W2B%_6Nw#}Wwu_VUvf&B1{_ERR^BLx0TisM)agCp)yuyVxbJ1201by7sMMT+h9yu?hy)(z@`20isa6bXq_)qCw;T5Mjm?{a2QZJQ zG<0M)MpY4t5Fxa=nd*oUR5l12-%#4XDGl_l#nGPs84>B@7xdTbNnuibBRQcp`$ld0FT;!UITkg%a9w9o+Rw)G!cFJDJXX%%7x_QnSG zcgX#L=RweKDxnx3oNe(69aDOI& zK>K2o)Qyqs)))6hAPPf{%-RgTv+;C|tZ4neF~A^p(SJk{ndU`>6I{j9(>IT1q)Y3F z)TG6t-j@V3czM-lpR}Q8YJ;j(cDhOv0?vQh``h^J+l49R$+(iJ%ebJ509K1iyvLTv z8NYlH$}?L#`5EH&g>>O2kg#ZwF22PIgLGH5)wb7F=%V6Qvy}zEA~8-$%3-&UKEjjL zT&B<2i#T?I1AF{c)ju!G;2wzc5?*xwnZ~sPz?tb`2?`$WYc3jaWZ_C^LsarOOOg9? zu=4r^IF+AOFs7Hp3w{&8S?{Vm{de%Y5S{_|V4n!?agHjA@7^es9I-9$lRipYi}zpG z8Vopk?gKOqi?aC|3P70d0<}qa7QHxtCYQZ_&08ejPbQ*E1r6Y&KFnpP?GC0a_61ylZVd1M-pS;=2 z{i&yZk-kWIkzS-ap*}zH`}yztmXqzN(z3742ZcK7X+<}wo9>zPZ6C7f(JHtQNlB~} zM3RszI*F08!hNf>zq1U6)b602mEIQ=$X12*Vr+lASb$rK=2-w96)X61fpC8J7Et6` z`#i3g%8T6$1X!Bw_^?J}e~Kh-+R=rZY!5_&V>9lAFy2{>z5L@L17|N`9$Ntb5vPT6 zc}#I@-}*{8POQ*1BM?gNLIn8U?HHV(`v{*T4~r1C+UTmT{mJML*X0kehRYqn^CY}> z2hretkTxR@Kf3Qv6f%|g_c*s!zI3usollhe;QQ^Aw^I21KdQb19Lx6&`+1GmULkvx zq_WA#N+?2vLUuNMz_oM&+|9#(cbol*_L%rj9 z?)$pW>%7kEyq1gWBfv>fZEdI{)b>`a4j_jnFWH`V64Z5>(IUjmA>dkp?jJE}kUSJU z!t0lOu#|3V)v#x-9%Os}Ok0-g>{F$19`QIgtJe7VvH@jw zsG#zV+P$jh<~tDTdYibCDT>%mYtth3J`PcVckLxx98KjGe>H*;0X`jVI!06x2k{&R z(N;K6TDxI>(@}u*pp^H4=>;lqEivPhD}c*$VrNrXwz0A46V~#USrTuyYBnrgQv58pf;*wBLAkB#S;KwH2!$b-rQ()bJf+m3B=x ztp2XmuU{-$ww!%sN;uVNV`txI(GZ5zA-8CLNdz4fBE{0`>TU&-F(EM*3dGRdWRoj+!NrZ(9^3&9?RiTN1ZgQ{2Gs zBCj>5-b+EYGJSU~Dja>mZUMz>zwWpc+;QxUADoPjuJcJOWb$Dgz? zSif8m{rWz+rbjOB=7_-rePwRTZ55Y0pKi^xGcWmIe)j(&b*)1UdAEh_35|1`OKA(| z%`zO=M-()RhPK8vY8?nxmWOBE)VJVyj#3>INmx5hY|y`9`BJI!$&|r(->)CaL$@!m z3y5Npp;&W{n&ndGJbyL(O&?Wg3Ca>5GaEqOk*7)A|2R%bD4geUIxG_;a}BJmuhuBk z{K4<^S2;$vFrXEO1Oxi~b$4YP;wyUwkBuv=sXT;BC&T>q&Kl0ne3p1@6K-P5s14@E z&uwQwWf31ud*iWy+lnp(xI?y$kZ za)n%K`MF-@co7UZTlFVhx0qbB-4v|2wwfU z>1Vu~E=n%?G|3(<&O35}9+L4+HhHt8JF}xZ+V3`}Y=duoALnkjv^E=Rke&Oyco+&V zsqVxl7SeG{u{Jlk<{}HaR7o9G7lf#e1s{zd+Y**SM@bcrK3J-1cUx|hQ?}d7-)gxt zK++-U$rkH9d>;q*AxDUbn#*T0!a@!Kgf4Xn^|y6bJF=Tg^Dg$xw<{#RX5{R(anIhq ze7mErnfmB(IWMY@6W%FhC;wSv+1KAvB|+aRIf;akv2W~B2%wb_+?YHOkt#7bc6!+xos$;eOI;qe(D0Tz~D8vE=FY6!(vKPl#K3S$rs zjW=uyf7TXrrO@azV*|rRam$yEU?&E`;`q8FmXc}z4is2Cw+4wrOagk$bOE> zfU(ji+rjIQsN)nV=0-^ajxrKc{bh%jk&zLT;<{#8U*AcAR*vODlmhc4+<7m`pF=|d z34Jp{)OW+^qy44~kZ+djXFTtFuRTk@F?Lt|ncnqcidOJKG3zBWtm^8{)K0*_pr&CZ zkV1wKb9%H+f!W`jtM^X7$Ly>i6Zp*nns6O9#9Ekn15+M6EH;n=i3Ms#0yz0?W6O?x zaH~N6$gm2fce*|R8svI_wxafEt^VzKL@4`8n9`BHP#K+Byu$nGQ0O5p#*(KNf1FtO z=f~8|2Mc=JK}jpx6Tz}`jfZ;M3)MQJ&oZ8St?u%_kLuEJP|fR4{9$!FjxDya#I{9Y z-0b=-q9VvZJy%Y4~*n%B=P<&{_)W9hf1fc-M%00QM;IZ9b&(a>S#(fw9@ zQk41D2^osUm~P?z?k$dPU0X$;^R1Bc?B9AS`$|t%TNzBa&S@IX@grK+S+^S^;l0>A z^zr4oNbFQ4xo}-xVEM0W5`ycKCE*O~d9$L&q=64QllO$L9y1(RRP}ulJcukx1a{b-lvyWN~T|?M4wGO>p^S)a7AOdUPc6ZG}6-B&VYLrj?>SF_YeZ$?>Wd2v&;#xP64m3 z<2h&H6R)wES8U`)ZY?oaRM^|%G6#R3b&ms$OlUmc^8BEVaZt`xLJX*HQ=q+#1L0m{ zW+w~+k^-nZ%3Pqr0+=^J6VC_K&Z#-?`O9oG088WSfG!4rODwvW?#tM;6coJNLGCGD z3yt9_pvA)!za6L(<`;chUS&Nb_15xzLZ?TG?@+^0uYvE7_vXss(73fU*ZSf8QBvBf zhrX&6!dwHkOth^(uPO3b?ZY@h@i-i;^?m%|z_&vD^Ky`1|q=z->y^nl1kDe;sWM7}Af&hpe{{ zxKJ=oQcj+Pa`ZN-{l$9>Y|Y6u6%|I`MHS7{MpY*T$)Y|uwA72e`Z62lKF}>1I#d|< zNn@4gxOlMu`=G8`EU%v@Xq7>0272+Tuyc2eQLF7Fv~}Jvo-e`6??wunp2mwH=UVZB zd?EhOxOFv6Li&A2LHE?}CjDHp)g5_r7ZgvIuM~=DsJwfD^?7SIWkO%}F_|$W63ooInIWdNNq0JOnt)e<5sbZ9Q#r2A?rN z#s}>>kT`75wWQ_TOmr13_OYS3I06(H6A-w_dApILU~-mZ<2o~q54l&mV+?>k;r7SQ zmw@6pSH{DFXQe;0dw2;ar5>A4H(0BeZ8X}Yr#R$;=a1z6K5l7>;*f_DC7yA42%iG@ zq`v5{n);gh>P6m3@rmW-d$NaAP=bMr^67e%e(Q;daVwx}E#-kt} zzM3$pQ>JY&%WeFNn`)58lO?XaNbt)P{v{aeDAb|b`5f`vpm{M4c&erH5?d{#)#pd=7TVC4D#A{k_)y0v9N&V}g+ z*#|x)-yi81;$vX?EKBh0pvMncG9A=01zfLAq1!$_(nBq5*G?Ms|C1qcyL1H$g!+9r zni?3JXGW1{6dcnHPR!a<(%Vun1QRt-&lElQ>2HT&#dv(fe@c$77=7w)C|B;^gWhpv!a((77ulI$F|c zTmP=@xyj^{N)6&q^jemBG7K{$v$(5$ngZj37#KWq$;%dW+CGoJw2ye7E`ejKdUUlk zbJ?n^dR!~BGjVM6?y}(9QKL4VWR@@a0e?d##)?o4dxN4vWawxrRqK2X7b@8SG$*}A zjK9fd8TrJjz0}#mZc0XZdd5eov{Xxm#iI2ok4_8JeTdP3^xy-u}A%+2m>YKG?OY`;e9vN)c#&m@ZwZ|x_{44UV>EGZ)UfXJo>G+<` zWZ9McNF?G*x5XTfK@BDPYPxp}fDZ@(C+uzLB2S2y@}qX~_a&ef3WRQ*JsW<&$Es=B zt8d_LBr6#PfKYM_czqHKNMy({8FGQ176w48muII zG>CZLDSGSTw?$0ibyQ$~#+@McyY)%bgGfQ`2JenBCHM(=}3x2;C?OWY%CnXj$0z-@4b9E-#`oY)UY+-VQ zHrmvEFQ84o1|yudyTk(bm}{wfW4Y9DOx7l9kFf-@=Ym4~^_L&*yz8Y6=2mu=hXdW4 zYfGNxI!yWO8A5AcjvSQk|9R)V)do$tjoV}KoyUYd|1KUsI|cXsj%FIM$<}V2a%Tfg9S0dnUg|Yw^X)FRd(EJiz#iCQ?lt1VR!{Mhc``3T zVRB#*r8~h>$tZs*F)c{Uwm=&p{UqIVJbgO*^!>w}mO(m)_f>v!Nz^+*Xt@J>l;2YN zb*ruFI^$gSyL4d%)&}Ded57V`58anl*Yki5bk#WJ;w86x)L5UIgLIQ zRCx%8FE`SE+wJe8uUX>TCUOf{fBV-XyZcXU_gL?&o_;0y%_S*d_vM4${%ZW`=I-#7 zT)(j%zC~S3#*LPFNByRNDH;cq<@VR@w&IbA-B3R3-q`8n!kdXo{y0?8sh#KksbXI? z$)Gg9(-$&-Gbwhq-XF4xJsacaooD2(|7`+DRP5U-=OjW|5D^gKfcAvM;d0uyt1<|T z`h!P?Z1+LfxyJ zi8wo@RZEQH)I_(HKxBQSozxnmdA-Zy;!kes&Rrq=b&HoE;1rtfzbBOriv9o~?=B`X zyBAKlfaXHnA7Y79rKY%XZToOO|D-CZ9tV&SmoE8?ZV>LaVFDO`JQCNl=S>BK;WpDHB{ zRWx5zmnDM!rY#Nh@o~|Inqs@;Wkw#A-!*v^xnvQOq&t@*#Bmz#b`&E|&t|NHK#8Vw^~|OTTakMRud)n#fbGx~WoUQ;5Ger~md78s0zQY; zYXzbFbw0x7gwNn^8{7vz)#;xzURS zTFA&_Cg|91;;cTWQ3JjqCr!6W2r4ism8G@e<(X9GMx#m&n~(pHvnYGsIaVYcpj`-A z?C+QTjtB&Z&t0{GN?@crjrjXQNJB@z9f~Vw>0m)bx|$~C&6qwDSFiv_e*Ob^tshqY z9gK8Q%CC+IDs)d0<#V@|K06d$i?z4XXL(YR>U@`~?{oRV`NNh>VFb_N%|Pjg)q~4@ zzj(%3_0?=wpg$B0%C^saQY^fV@7$hza+t5R5c0&a6DaMw zDjI#qTJ(@#$4U6Wj;^q@pU`L@BxjRwF+Z(3x8?ypnmFfy7zF7-lFO^IND5X`44|FI z4c*)0t|@lNo-C*s6wH91B4*V4L8cYe>)AT!G_U9iOj)Bv%3gmMcR} zV>bD6L1D?6@~;Bi4Gh(Z_R_51bkJN|W!VCnCRTKL_brkJy&dWA7Ob%6aFjV~4Nq94 z&x%pyD>6}NZZ`TGqm#^$yRT`?as4`_I z#8Us>`0VA|F_?PG;e72kLG{09W3x%@#&`_zD8E#P7e(@1{oHZ;4+WE&Ko(zPCg4Cd zZjq#KUH#)#mVakwA!JMPu|!s?YKP?V$kvD?Sox3KUu9CMcHQv_;+utE^U{fG{(ah7 z>OYEC_ln$SrylFZyu5>AL-@F|{$>-ONXNozSs z&*@HlTUp!z49jIN$e-@*)!6-VL#G%IM(2yW&TE7QeiR8dGoH$Eb7e?_Jb%f@K)6@r z>F4UYsgMVg(+z1HjmHc8i2Y%|6P?ANPTXO$8DPQt8?^f&U}Zc$c8={#eC0OSaU8F{ z1%+^_r@dp_27b6+z{i*(m5BN8-QJ8YA2&|x-WHh~5%uPVW(Tu+R!u&8*F0bXPqKi~ z=aB2G&SAQ&0%MYWZX@+z&mAJG%|4ui;&&aNk}Bo3Zlx_`2mECX%72VUh<%4ogEH zOLO|`lwarcTTmu23blQi+qu@5^PFkQ=aPyxSMSF6$kf*dCu|3Me7;8Ti+Fawrwk4% z%|Q;~J?hHn;hk)b&(&9oWKvrFa=BpAM`>_Q$}}n-C4Gz-tHH z48s5F82iwoL8cOrP{b~62YL&OJSSl=(K|BYPedjuIGm0d?DCrn7sGUvZU&hWVix+{an)o90Iq7-Nl`HXENlpy)XEB36b7n%-|-{)_yywp(c7~Gl$YPqW6g& z4QOR1pW?Id-P5ikTY5Be$dznlAh&I|Zdz`-<4(%6a-nG-b(N$Fh9@C^eOL~EOw3F{ zgLq`O`t>tX0+0u-eSH~nrpG#IFNk*|Bj2N<;g2wnR4jGpB4_3)^5-2)6^InI8rki< zUUlMg^Coq$hGdcd*yJm@58mnl&5z!CvDb8r4>p=edR?d2I`v#Ktdh9b(d;VHc*>fT z%XDib0@M7Skn4BG10PbrFniS|uc{>QEwsv>3VMvs4m~b0BAZ&-`ZCt>6c8g2v+w>4)R`t- zKX|J+-@l`oLDCJ?=Obx`K_ej891XiewZBv1*9BPPb52b1b9#hR`7VF`ijdMF5|Y}$ z;9@Ok@a3fRI(BS4fL+tJ9~+lyB2-jXR3F)a^8%pj0{}mpd8;QhC7hi45E5Jzyg!c$ z_o?c~dZq>obxczq>p1?Fv2W9nwd2**`ukbv0hM6G))S1n9o ze)IySs)}ww^}kwxKk6UG zZp6`7%Dt(19gA}TU)!$t zTCE>mgu8-9?5ig|&QA84KJNGdg3I+l{Li01koe{|YK}Ik8o*!vL#Cb$zx^e-_{k2lHci=2{V&Qcx zxorFAcD9*u6kZ+IO9A#af!=&)K&+X5#k1jp@!Crt_h(mUC(B}B=SbtM_xUYD@iGkJ z+)M%jZ*h?=_1%dXr4N)TkhnjGni$fXCXUR0R8_Q#V_FcwHy%hQdz$Sx1i+xI--_Nu zTp*xkuZh^i^*E{Ea+VrHvaz20_6<9M9UEIN@=UiaC)@lghe88F`sa!gmm0AC0r;P< zO-!g-_92BxhNJZwe2>~GC2nH)OpgbyHcrC9EaY#)7F&^fzt-d`KIujoIl$BxgfMtW zJNq)Sfx0D^En!nf@deFJdD$R?JWh|OLX~g1`K{r#iivw!C}lRzXvPAeIgv?<}uxmTLP4gz_i+=UYk5|_@(+NoBRvUnMUIz(d( zt6r~^h0hP&boI@a=M8&f@?29ZE_Kf<3uHw-rokv?0$;$Pv~NwT!%~KKg62cuDC=<{7N)p(Q#yuaN&d!j6APFjr-sEA&~0# zSXr!qN@TC1TJ(7AgZynhwqm_c9lbBWkp=AoCrENkZ>D^`kJKRS#Z&{Ha8t*`qFNCy zL0j8qs`3RkZesdGAq1{gjH^kk?8?x1)X|n+9>T@fn3rRvjAHj?he@}(K&`Y82EnFRbXjT zz93bKRLgi^(?x;Xq;~+^qOuOLXuUH3l`XaTAu-o3<&#@X1jH?R^d_+slZK^+;MJ+9 zu4yuhmj+p4BnJpK`q%yQI_bXlFNgZ72N0XY@C1opc*rQ_B+Kx|{SzkFBeT zr3{7kEK(tt_#_S}|3y+ZYeEwb;=JMJWWvYuCWcp&2kypCB=gP>q5RLPZ;^9`u_|;G z%PU1PFrS4n5?;F=cX^9XrTSBsMA^DM$KKRM7dyr_zG($O@GrYXagkpP`{W$&FQfSe zs26_R#GC*_2r`(rffL)lg(K%tV%TQY1c=C>&QwXdIOkrocpklGFabdteZ1`rNOzDa zdnR~MFnca$Vt1rG_Gez{eess?7$uaJ&MVN$ztdmAj0Nx?=e+N=#Pk4Q4X@|k5jQgZ z0H{3oj-EF*22C5{fBTm|Qi^W`ASLx%VVs77Y2^bSx zLjQa(_cKflhiGm#R~g^l;eM6+&$uglMwfv?fwL*#ZgY5-VPm#-zq(miP_)stOEh9I z!B4eBBb7#bUTV)@8`4&>OP~vE&((ZaWrJN`6|QnP{cX>E zNb@o>icu!Y#6<14``EBzywfw`nPB^u%hl2P;9;3E)w-%Fgc~L*YkXj(CkiVQpdsY; zzSfs-MMX8*1P@Z!o%ZuPcZQh)+#9qDsw8~lJyrJO&^{0klVR}b44|n(_oXL5Opa>; z+*1FI+#q1{jsndzq!~~7-<-C0ZOH;lJp{dwIib4j$@4zf&lW%5KZFdP_bGxWTeDg< z4q01UqvuZyjDdR}U;PRW2Bcp^%00owzpl@%0AV`dWsM;$NUD)ovBm>3s7Dr9`+~>J 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 literal 0 HcmV?d00001 diff --git a/shortbread-website/content/make-vectortiles/planetiler.md b/shortbread-website/content/make-vectortiles/planetiler.md new file mode 100644 index 0000000..bbfaaa0 --- /dev/null +++ b/shortbread-website/content/make-vectortiles/planetiler.md @@ -0,0 +1,22 @@ ++++ +title = "Using Planetiler" +description = "Generating vector tiles with Planetiler" +weight = 2 ++++ + +Shortbread Tiles can be created with [Planetiler](https://github.com/onthegomap/planetiler). + +## Planetiler overview + +* Configs for OpenMapTiles and Shortbread schema +* YAML configuration or Java application +* Output formats: MBTiles, PMTiles +* No diff support +* Extremely fast! + +### Quickstart (Docker) + +```bash +docker run --rm --user=$UID -v $PWD/data:/data ghcr.io/onthegomap/planetiler shortbread.yml \ + --download --area=liechtenstein --output=/data/shortbread.pmtiles +``` diff --git a/shortbread-website/content/make-vectortiles/tilekiln.md b/shortbread-website/content/make-vectortiles/tilekiln.md new file mode 100644 index 0000000..b6e17dd --- /dev/null +++ b/shortbread-website/content/make-vectortiles/tilekiln.md @@ -0,0 +1,17 @@ ++++ +title = "Using Tilekiln" +description = "Generating vector tiles with Tilekiln" +weight = 5 ++++ + +Shortbread Tiles can be created with [Tilekiln](https://github.com/pnorman/tilekiln). + +## Tilekiln overview + +* Generate and serve vector tiles +* Data source: PostGIS +* Caching tiles in PostgreSQL + +## Usage + +* [Tilekiln Quickstart](https://github.com/pnorman/spirit/blob/main/INSTALL.md) diff --git a/shortbread-website/content/make-vectortiles/tilemaker.md b/shortbread-website/content/make-vectortiles/tilemaker.md new file mode 100644 index 0000000..0ee2dd4 --- /dev/null +++ b/shortbread-website/content/make-vectortiles/tilemaker.md @@ -0,0 +1,112 @@ ++++ +title = "Using Tilemaker" +description = "Generating vector tiles with Tilemaker" +weight = 1 ++++ + +Shortbread Tiles can be created with [Tilemaker](https://tilemaker.org/). + +Creating Shortbread vetor tiles is very simple. Install Tilemaker & the shortbread-tilemaker settings, get the OSM & external data, and run tilemaker! + +## tilemaker overview + +* Configs for OpenMapTiles and Shortbread schema +* JSON configuration with Lua scripts +* Output formats: MBTiles, PMTiles +* No diff support + +### Quickstart (Docker) + +```bash +git clone https://github.com/shortbread-tiles/shortbread-tilemaker +cd shortbread-tilemaker + +# Download additional data (water polygons, etc.). Requires ogr2ogr! +./get-shapefiles.sh + +# Download OSM extract +curl -sSfO --output-dir data https://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf + +docker run --rm -v $PWD:/var/tm -w /var/tm versatiles/versatiles-tilemaker \ + tilemaker --config config.json --process process.lua \ + --input data/liechtenstein-latest.osm.pbf --output data/shortbread.pmtiles +``` + +## Using Tilemaker + +### Installation + +- Follow the [Tilemaker installation instructions](https://github.com/systemed/tilemaker/blob/master/docs/INSTALL.md). + +### Extra software + +You need [`ogr2ogr`](https://gdal.org/programs/ogr2ogr.html). + +| OS | command | +| ------------- | --------------------------- | +| Debian/Ubuntu | `sudo apt install gdal-bin` | +| Fedora | `sudo dnf install gdal` | + +## Get Shortbread-Tilemaker settings + +Clone the Git repository of the vector tile schema from Github: + +```sh +git clone https://github.com/shortbread-tiles/shortbread-tilemaker +``` + +## Get Data + +### OpenStreetMap data + +Tilemaker needs raw OpenStreetMap data as input. You can download it from: + +- regional extracts from [Geofabrik Download Service](https://download.geofabrik.de) +- latest weekly planet PBF file from [planet.openstreetmap.org](https://planet.openstreetmap.org/) or any of its [mirrors](https://wiki.openstreetmap.org/wiki/Planet.osm#Planet.osm_mirrors) +- regional extracts from [download.openstreetmap.fr](https://download.openstreetmap.fr/extracts/) + +Please try with a small extract first before you try to load the complete planet file. + +### Additional data + +In the shortbread-tilemaker directory: + + ./get-shapefiles.sh + +It will download a few required additional files into the `data` directory. + +## Generate Tiles + +In the shortbread-tilemaker directory, run this command: + + tilemaker --config config.json --process process.lua --bbox -180,-90,180,90 \ + --input OSM_FILE.osm.pbf --output shortbread-tiles.mbtiles + +The generated data is the `shortbread-tiles.mbtiles` file. + +### Output format + +Tilemaker supports a few [output formats](https://github.com/systemed/tilemaker/blob/master/docs/RUNNING.md#standard-usage). Here [mbtiles](https://wiki.openstreetmap.org/wiki/MBTiles) is used. + +#### BBox PBF files + +If the `.osm.pbf` file contains a bounding box entry in its header (this is not +true for the planet), you can omit the `--bbox -180,-90,180,90` part of the +tilemaker command. The generation process will be much faster for smaller +areas, and the output data will contain less “ocean tiles”, [[and be a little +bit smaller]]?? + +The error message `Can't read shapefiles unless a bounding box is provided.` +means you need to specify the `--bbox` option. + +#### Memory + +The above command uses the tilemaker default of storing things in memory. If you are running out of memory, you need the `--store` option, e.g. `--store tilemaker.store.d/`. + +Read more in the [tilemaker documentation about on-disk storage](https://github.com/systemed/tilemaker/blob/master/docs/RUNNING.md#using-on-disk-storage) + +## Statistics + +In February 2022, a server with a AMD EPYC 7452 32-Core Processor (2.35–3.35 GHz), 512 GB RAM, +cache on NVMe and output to a loop-mounted hard disk drive (RAID 1) took 16:15 hours and needed up +to 358 GB RAM to generate the whole planet. diff --git a/shortbread-website/content/publishing/_index.md b/shortbread-website/content/publishing/_index.md new file mode 100644 index 0000000..9621642 --- /dev/null +++ b/shortbread-website/content/publishing/_index.md @@ -0,0 +1,83 @@ ++++ +title = "Publishing Shortbread Maps" +description = "Publishing maps with Shortbread vector tiles" +weight = 6 ++++ + +## Required resources for Shortbread maps + +* **Tileset**: See [tile storage](/make-vectortiles/#tile-storage) for vector tile storage options. If an external tileset is used, CORS headers are required. +* **Tile server**: Except for pregenerated MVT/PBF files or PMTiles archives, a vector tile server is required. +* **Map Style**: [JSON document](https://maplibre.org/maplibre-style-spec/) with embedded or external TileJSON source specifications. A map style can also be created using Javascript code. +* **Fonts**: Fonts must be available in a Maplibre specific PBF format, see [font-maker](https://github.com/maplibre/font-maker) for more information. When using OpenLayers, system fonts are used instead of glyph PPFs. +* **Sprites**: Images for point symbols or fill patterns must be availabe as [Sprites](https://maplibre.org/maplibre-style-spec/sprite/). +* **HTML/Javascript viewer**: A HTML page with embedded or external Javascript code. + + +## Example workflow + +Minimal tutorial using PMTiles created with Planetiler and MapLibre with a Versatile style. + +Prepare directories: +```bash +mkdir -p data public/styles public/assets/sprites +``` + +Generate Shortbread tiles using Planetiler: +```bash +docker run --rm --user=$UID -v $PWD/data:/data ghcr.io/onthegomap/planetiler shortbread.yml \ + --download --area=liechtenstein --output=/data/shortbread.pmtiles +mv data/shortbread.pmtiles public/ +``` +Download Versatiles styles and sprites: +```bash +cd public +wget -O - https://github.com/versatiles-org/versatiles-style/releases/latest/download/styles.tar.gz | tar xz -C styles +wget -O - https://github.com/versatiles-org/versatiles-style/releases/latest/download/sprites.tar.gz | tar xz -C assets/sprites +``` +Replace tile source with your PMTiles URL: +```bash +jq '.sources."versatiles-shortbread".url="pmtiles:///shortbread.pmtiles" | del(.sources."versatiles-shortbread".tiles)' \ + styles/colorful.json > styles/colorful-pmtiles.json +``` +Make sprite URL relative: +```bash +sed --in-place -e 's!https://tiles.versatiles.org/assets/sprites!/assets/sprites!g' styles/*.json +``` + +Viewer `index.html`: + +```html + + + + MapLibre Viewer + + + + + + +

+ + + +``` + +Upload public directory to a site supporting HTTP Range Requests: + +``` +scp -r . example.com: +``` diff --git a/shortbread-website/content/schema/1.0.md b/shortbread-website/content/schema/1.0.md index 3c1525a..f2fa46d 100644 --- a/shortbread-website/content/schema/1.0.md +++ b/shortbread-website/content/schema/1.0.md @@ -1,5 +1,4 @@ +++ -draft= false title = "Vector Tile Schema 1.0" linkTitle = "1.0" description = "This page describes the layers of the Shortbread vector schema and their contents as of version 1.0" diff --git a/shortbread-website/content/schema/_index.md b/shortbread-website/content/schema/_index.md index 9c2d5dd..9ce5443 100644 --- a/shortbread-website/content/schema/_index.md +++ b/shortbread-website/content/schema/_index.md @@ -1,6 +1,6 @@ +++ -draft= false title = "Vector Tile Schema" +weight = 2 +++ This page describes the layers of the Shortbread vector schema and their contents. You can read the [Shortbread versioning policy](versioning) for more information on what version numbers mean and how they change. @@ -8,11 +8,3 @@ This page describes the layers of the Shortbread vector schema and their content ## Versions ## [Latest Shortbread Tiles schema (v1.0)](./1.0/) - -## License & Copyright - -Geofabrik takes the position that this schema is not creative enough to be a copyrightable -work. For the sake of clarity, however, we are releasing it under the CC-0 license. -For the avoidance of doubt, using this schema to create your vector tiles will not add any attribution -requirements, but if you generate vector tiles from OpenStreetMap data, you will of course have -to attribute OpenStreetMap. diff --git a/shortbread-website/content/styles/_index.md b/shortbread-website/content/styles/_index.md index 1aacd22..c1edfcd 100644 --- a/shortbread-website/content/styles/_index.md +++ b/shortbread-website/content/styles/_index.md @@ -1,12 +1,28 @@ +++ -title = "Rendering Styles" +title = "Map Styles" description = "This page gives an overview about available open source maps styles for Shortbread vector tiles" +weight = 3 toc = false +++ -The following open source rendering styles are available for Shortbread vector tiles. +## Web mapping libraries + +Most Javascript mapping libraries support vector tiles as data source. + +Some well known options are: +* [MapLibre](https://maplibre.org/) +* [OpenLayers](https://openlayers.org/) ([ol-mapbox-style](https://github.com/openlayers/ol-mapbox-style)) +* [Leaflet](https://leafletjs.com/) ([maplibre-gl-leaflet plugin](https://github.com/maplibre/maplibre-gl-leaflet)) +* [deck.gl](https://deck.gl/) (MVTLayer), [kepler.gl](https://kepler.gl/) + +### Styling -## Styles for MapLibre +Vector tiles are usually rendered using [MapLibre styles](https://maplibre.org/maplibre-style-spec/). +You can either write your style in this JSON format or use a visual style editor like [Maputnik](https://maplibre.org/maputnik/). + +## Available styles + +The following open source rendering styles are available for Shortbread vector tiles. ### VersaTiles Colorful