openmaptiles/README.md

147 wiersze
6.3 KiB
Markdown
Czysty Zwykły widok Historia

2017-01-08 21:41:46 +00:00
## OpenMapTiles [![Build Status](https://travis-ci.org/openmaptiles/openmaptiles.svg?branch=master)](https://travis-ci.org/openmaptiles/openmaptiles)
2016-10-05 17:47:00 +00:00
2017-01-06 12:40:50 +00:00
OpenMapTiles is an extensible and open vector tile schema for a OpenStreetMap basemap. It is used to generate vector tiles for [openmaptiles.org](http://openmaptiles.org/) and [openmaptiles.com](http://openmaptiles.com/).
2016-10-30 15:31:38 +00:00
2017-01-06 12:40:50 +00:00
We encourage you to collaborate, reuse and adapt existing layers and add your own layers or use our approach for your own vector tile project. The repository is built on top of the [openmaptiles/tools](https://github.com/openmaptiles/openmaptiles-tools) to simplify vector tile creation.
- :link: Docs http://openmaptiles.org/docs
- :link: Schema: http://openmaptiles.org/schema
- :link: Production package: http://openmaptiles.com/
2016-11-30 19:40:02 +00:00
## Styles
2017-01-06 12:40:50 +00:00
You can start from several GL styles supporting the OpenMapTiles vector schema.
:link: [Learn how to create Mapbox GL styles with Maputnik and OpenMapTiles](http://openmaptiles.org/docs/style/maputnik/).
2016-11-30 19:40:02 +00:00
- [OSM Bright](https://github.com/openmaptiles/osm-bright-gl-style)
- [Positron](https://github.com/openmaptiles/positron-gl-style)
- [Dark Matter](https://github.com/openmaptiles/dark-matter-gl-style)
- [Klokantech Basic](https://github.com/openmaptiles/klokantech-basic-gl-style)
2017-01-06 12:40:50 +00:00
- [Klokantech 3D](https://github.com/openmaptiles/klokantech-3d-gl-style)
- [Fiord Color](https://github.com/openmaptiles/fiord-color-gl-style)
- [Toner](https://github.com/openmaptiles/toner-gl-style)
We also ported over our favorite old raster styles (TM2).
:link: [Learn how to create TM2 styles with Mapbox Studio Classic and OpenMapTiles](http://openmaptiles.org/docs/style/mapbox-studio-classic/).
2016-10-06 05:35:10 +00:00
2017-01-06 12:40:50 +00:00
- [Light](https://github.com/openmaptiles/mapbox-studio-light.tm2/)
- [Dark](https://github.com/openmaptiles/mapbox-studio-dark.tm2/)
- [OSM Bright](https://github.com/openmaptiles/mapbox-studio-osm-bright.tm2/)
- [Pencil](https://github.com/openmaptiles/mapbox-studio-pencil.tm2/)
- [Woodcut](https://github.com/openmaptiles/mapbox-studio-woodcut.tm2/)
- [Pirates](https://github.com/openmaptiles/mapbox-studio-pirates.tm2/)
- [Wheatpaste](https://github.com/openmaptiles/mapbox-studio-wheatpaste.tm2/)
2016-10-30 15:14:28 +00:00
2017-01-06 12:40:50 +00:00
## Schema
2016-10-30 15:14:28 +00:00
2017-01-06 12:40:50 +00:00
OpenMapTiles consists out of a collection of documented and self contained layers you can modify and adapt.
Together the layers make up the OpenMapTiles tileset.
2016-10-30 15:14:28 +00:00
2017-01-06 12:40:50 +00:00
:link: [Study the vector tile schema](http://openmaptiles.org/schema)
2016-10-30 15:14:28 +00:00
2016-11-29 09:59:55 +00:00
- [boundary](https://github.com/openmaptiles/openmaptiles/wiki/boundary)
- [building](https://github.com/openmaptiles/openmaptiles/wiki/building)
2016-11-30 19:40:02 +00:00
- [transportation](https://github.com/openmaptiles/openmaptiles/wiki/transportation)
- [transportation_name](https://github.com/openmaptiles/openmaptiles/wiki/transportation_name)
2016-11-29 09:59:55 +00:00
- [housenumber](https://github.com/openmaptiles/openmaptiles/wiki/housenumber)
- [landcover](https://github.com/openmaptiles/openmaptiles/wiki/landcover)
- [landuse](https://github.com/openmaptiles/openmaptiles/wiki/landuse)
2016-12-02 12:18:33 +00:00
- [aeroway](https://github.com/openmaptiles/openmaptiles/wiki/aeroway)
2016-11-29 09:59:55 +00:00
- [place](https://github.com/openmaptiles/openmaptiles/wiki/place)
- [poi](https://github.com/openmaptiles/openmaptiles/wiki/poi)
2016-11-30 19:40:02 +00:00
- [park](https://github.com/openmaptiles/openmaptiles/wiki/park)
2016-11-29 09:59:55 +00:00
- [water](https://github.com/openmaptiles/openmaptiles/wiki/water)
- [water_name](https://github.com/openmaptiles/openmaptiles/wiki/water_name)
- [waterway](https://github.com/openmaptiles/openmaptiles/wiki/waterway)
2016-10-30 15:14:28 +00:00
2016-10-30 15:31:38 +00:00
## Develop
2016-10-06 05:35:10 +00:00
2016-10-30 15:31:38 +00:00
To work on OpenMapTiles you need Docker and Python.
2016-10-06 05:35:10 +00:00
2016-11-15 19:52:12 +00:00
- Install [Docker](https://docs.docker.com/engine/installation/). Minimum version is 1.10.0+.
2016-11-15 19:47:16 +00:00
- Install [Docker Compose](https://docs.docker.com/compose/install/). Minimum version is 1.6.0+.
- Install [OpenMapTiles tools](https://github.com/openmaptiles/openmaptiles-tools) with `pip install openmaptiles-tools`
### Build
Build the tileset.
2016-11-02 13:48:32 +00:00
```bash
2016-12-05 12:43:26 +00:00
git clone git@github.com:openmaptiles/openmaptiles.git
2016-12-05 13:01:35 +00:00
cd openmaptiles
2016-10-24 19:49:23 +00:00
# Build the imposm mapping, the tm2source project and collect all SQL scripts
make
2016-10-24 19:49:23 +00:00
# You can also run the build process inside a Docker container
docker run -v $(pwd):/tileset openmaptiles/openmaptiles-tools make
```
2016-10-06 05:35:10 +00:00
2017-01-06 11:01:36 +00:00
You can execute the following manual steps (for better understanding)
or use the provided `quickstart.sh` script.
```
./quickstart.sh
```
2016-10-06 05:35:10 +00:00
### Prepare the Database
Now start up the database container.
```bash
2016-11-02 13:48:32 +00:00
docker-compose up -d postgres
2016-10-06 05:35:10 +00:00
```
2016-11-02 13:48:32 +00:00
Import external data from [OpenStreetMapData](http://openstreetmapdata.com/), [Natural Earth](http://www.naturalearthdata.com/) and [OpenStreetMap Lake Labels](https://github.com/lukasmartinelli/osm-lakelines).
2016-10-06 05:35:10 +00:00
```bash
docker-compose run import-water
docker-compose run import-natural-earth
2016-10-28 14:54:42 +00:00
docker-compose run import-lakelines
2017-01-20 13:04:49 +00:00
docker-compose run import-osmborder
2016-10-28 14:54:42 +00:00
```
2017-01-26 08:27:05 +00:00
[Download OpenStreetMap data extracts](http://download.geofabrik.de/) and store the PBF file in the `./data` directory.
```bash
cd data
wget http://download.geofabrik.de/europe/albania-latest.osm.pbf
```
2016-11-02 13:48:32 +00:00
Import [OpenStreetMap](http://wiki.openstreetmap.org/wiki/Osm2pgsql) data with the mapping rules from
`build/mapping.yaml` (which has been created by `make`).
```bash
docker-compose run import-osm
```
### Work on Layers
2016-10-06 05:35:10 +00:00
Each time you modify layer SQL code run `make` and `docker-compose run import-sql`.
2016-10-06 05:35:10 +00:00
```
2016-10-24 19:49:23 +00:00
make clean && make && docker-compose run import-sql
2016-10-06 05:35:10 +00:00
```
2017-01-07 14:18:56 +00:00
Now you are ready to **generate the vector tiles**. Using environment variables
2016-10-30 15:31:38 +00:00
you can limit the bounding box and zoom levels of what you want to generate (`docker-compose.yml`).
```
docker-compose run generate-vectortiles
```
## License
2017-01-07 16:31:33 +00:00
All code in this repository is under the [BSD license](./LICENSE.md) and the cartography decisions encoded in the schema and SQL are licensed under [CC-BY](./LICENSE.md).
2017-01-06 12:40:50 +00:00
2017-01-07 14:18:56 +00:00
Products or services using maps derived from OpenMapTiles schema need to visibly credit "OpenMapTiles.org" or reference "OpenMapTiles" with a link to http://openmaptiles.org/. Exceptions to attribution requirement can be granted on request.
2017-01-07 16:31:33 +00:00
For a browsable electronic map based on OpenMapTiles and OpenStreetMap data, the
credit should appear in the corner of the map. For example:
[© OpenMapTiles](http://openmaptiles.org/) [© OpenStreetMap contributors](http://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.