88 lines
2.6 KiB
Markdown
88 lines
2.6 KiB
Markdown
|
## OSM OpenMapTiles style
|
||
|
|
||
|
_OSM OpenMapTiles_ is the official style of OpenMapTiles.
|
||
|
Its purpose is to display all features in vector tiles.
|
||
|
|
||
|
OSM OpenMapTiles style is heavily inspired by
|
||
|
[OSM Carto](https://github.com/gravitystorm/openstreetmap-carto).
|
||
|
|
||
|
Huge credit belongs to the original
|
||
|
[authors](https://github.com/gravitystorm/openstreetmap-carto/blob/master/LICENSE.txt).
|
||
|
|
||
|
### Fonts
|
||
|
|
||
|
OSM OpenMapTiles style used _Noto Sans_ fonts.
|
||
|
To download these fonts run:
|
||
|
```bash
|
||
|
make download-fonts
|
||
|
```
|
||
|
It downloads _Noto Sans_ fonts (~70MB) and extract them into [openmaptiles/data/fonts](../data/fonts) directory.
|
||
|
|
||
|
### Icons/sprite
|
||
|
|
||
|
All icons which are used OpenMapTiles style are located in [openmaptiles/style/icons](icons).
|
||
|
After the style is built, the icons are composed into sprite files located in `build` directory.
|
||
|
|
||
|
Additional svg icons can be added to [openmaptiles/style/icons](icons) directory.
|
||
|
|
||
|
To generate new sprite files with added icons, run:
|
||
|
```bash
|
||
|
make build-sprite
|
||
|
```
|
||
|
Sprite files will be generated into `build` directory.
|
||
|
|
||
|
### OSM Icons
|
||
|
|
||
|
Icons in the _OSM OpenMapTiles_ style are based on original
|
||
|
[OSM Carto](https://github.com/gravitystorm/openstreetmap-carto) symbols.
|
||
|
|
||
|
The original icons can be found in
|
||
|
[openstreetmap-carto/symbols](https://github.com/gravitystorm/openstreetmap-carto/tree/master/symbols).
|
||
|
|
||
|
Icons used in _OSM OpenMapTiles_ style were scaled down and saved as svg.
|
||
|
|
||
|
### Build style
|
||
|
|
||
|
To build style run:
|
||
|
```bash
|
||
|
make build-style
|
||
|
```
|
||
|
It generates new sprite files and merges all style snippets from each layer, orders them according the `order` value
|
||
|
and saves the complete style into `build/style/style.json`.
|
||
|
|
||
|
### Tileserver-gl
|
||
|
The tileserver serves both the tiles and the OSM OpenMapTiles map.
|
||
|
#### MBTiles (default)
|
||
|
By default, the tileserver serves OSM OpenMapTiles map based on tiles from `data/tiles.mbtiles` as defined in
|
||
|
[style-header.json](./style-header.json).
|
||
|
```json
|
||
|
"sources": {
|
||
|
"openmaptiles": {
|
||
|
"type": "vector",
|
||
|
"url": "mbtiles:///data/tiles.mbtiles"
|
||
|
},
|
||
|
...
|
||
|
}
|
||
|
```
|
||
|
#### Serve from the db
|
||
|
The tileserver can also serve OSM OpenMapTiles map based on dynamically generated tiles directly from the database.
|
||
|
Start the database container and the postserve container:
|
||
|
```bash
|
||
|
make start-db
|
||
|
make start-postserve
|
||
|
```
|
||
|
In [style-header.json](./style-header.json) change the source of tiles to PostServe:
|
||
|
|
||
|
#### Start tileserver
|
||
|
Before you start the tileserver, make sure you have fonts downloaded in [openmaptiles/data/fonts](../data/fonts),
|
||
|
sprites generated and style built:
|
||
|
```bash
|
||
|
make download-fonts
|
||
|
make build-style
|
||
|
```
|
||
|
Start tileserver:
|
||
|
```bash
|
||
|
make start-tileserver
|
||
|
```
|
||
|
And go to http://localhost:8080.
|