79 lines
2.5 KiB
Markdown
79 lines
2.5 KiB
Markdown
## Vector Data Source
|
|
|
|
*This is a work in progress towards OSM2VectorTiles v3.0*
|
|
|
|
This is the data source for the vector tile schema of OSM2VectorTiles.
|
|
It contains the *tm2source* project and the required database schema (views, functions).
|
|
|
|
The vector data sources stands as separate repository to foster collaboration with Wikipedia
|
|
and make it easier to fork the style without forking OSM2VectorTiles as well.
|
|
|
|
## Vision
|
|
|
|
The vector tile schema will contain the necessary features for creating a basemap.
|
|
We will orient ourselves on the cartography used in the [Carto Basemaps](https://carto.com/location-data-services/basemaps/).
|
|
Additional layers can be always be mixed in later on but we think OSM2VectorTiles should become less bloated in v3.0.
|
|
|
|

|
|
|
|
## Requirements
|
|
|
|
This vector tile schema depends on a database containing several different data sources
|
|
which need to be imported first. You can use your own ETL process or use the Docker containers from
|
|
OSM2VectorTiles.
|
|
|
|
Your PostGIS database needs the following data imported
|
|
|
|
- [OpenStreetMap](http://wiki.openstreetmap.org/wiki/Osm2pgsql) data based on the [ClearTables osm2pgsql style](https://github.com/ClearTables/ClearTables)
|
|
- [OpenStreetMapData](http://openstreetmapdata.com/) split and simplified water polygons
|
|
- [Natural Earth](http://www.naturalearthdata.com/)
|
|
|
|
## Schema
|
|
|
|
The vector data source is using zoom level views for each layer and contains useful functions.
|
|
The PostgreSQL code can be found in `sql`.
|
|
|
|
*TODO: Write import container*
|
|
|
|
## Develop
|
|
|
|
To work on *osm2vectortiles.tm2source* we recommend using Docker.
|
|
|
|
- Install [Docker](https://docs.docker.com/engine/installation/)
|
|
- Install [Docker Compose](https://docs.docker.com/compose/install/)
|
|
|
|
### Prepare the Database
|
|
|
|
Now start up the database container.
|
|
|
|
```bash
|
|
docker-compose up -d postgres`
|
|
```
|
|
|
|
Import water from [OpenStreetMapData](http://openstreetmapdata.com/).
|
|
|
|
```bash
|
|
docker-compose run import-water
|
|
```
|
|
|
|
Import [Natural Earth](http://www.naturalearthdata.com/) data.
|
|
|
|
```bash
|
|
docker-compose run import-natural-earth
|
|
```
|
|
|
|
### Work on Schema
|
|
|
|
Run the `db-schema` container each time you modify SQL code inside `./schema`.
|
|
|
|
```bash
|
|
docker-compose run db-schema
|
|
```
|
|
|
|
To work on the *data.yml* you can start up Mapbox Studio Classic in a container
|
|
and visit `localhost:3000` and open the vector source project under `projects/osm2vectortiles.tm2source`.
|
|
|
|
```bash
|
|
docker-compose up mapbox-studio
|
|
```
|