openmaptiles/style/README.md

88 wiersze
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.