kopia lustrzana https://github.com/openmaptiles/openmaptiles
Improve Makefile - simplify make, without local omt-tools (PR #562)
rodzic
2871b234a5
commit
3591cb2f8d
86
Makefile
86
Makefile
|
@ -20,7 +20,9 @@ help:
|
|||
@echo " make psql-vacuum-analyze # PostgreSQL: VACUUM ANALYZE"
|
||||
@echo " make psql-analyze # PostgreSQL: ANALYZE"
|
||||
@echo " make generate-qareports # generate reports [./build/qareports]"
|
||||
@echo " make generate-devdoc # generate devdoc [./build/devdoc]"
|
||||
@echo " make generate-devdoc # generate devdoc including graphs for all layers [./build/devdoc]"
|
||||
@echo " make etl-graph # hint for generating a single etl graph"
|
||||
@echo " make mapping-graph # hint for generating a single mapping graph"
|
||||
@echo " make import-sql-dev # start import-sql /bin/bash terminal"
|
||||
@echo " make import-osm-dev # start import-osm /bin/bash terminal (imposm3)"
|
||||
@echo " make clean-docker # remove docker containers, PG data volume"
|
||||
|
@ -31,18 +33,22 @@ help:
|
|||
@echo " make pgclimb-list-views # list PostgreSQL public schema views"
|
||||
@echo " make pgclimb-list-tables # list PostgreSQL public schema tables"
|
||||
@echo " cat .env # list PG database and MIN_ZOOM and MAX_ZOOM information"
|
||||
@echo " cat ./quickstart.log # backup of the last ./quickstart.sh"
|
||||
@echo " cat quickstart.log # backup of the last ./quickstart.sh"
|
||||
@echo " make help # help about available commands"
|
||||
@echo "=============================================================================="
|
||||
|
||||
build/openmaptiles.tm2source/data.yml:
|
||||
mkdir -p build/openmaptiles.tm2source && generate-tm2source openmaptiles.yaml --host="postgres" --port=5432 --database="openmaptiles" --user="openmaptiles" --password="openmaptiles" > build/openmaptiles.tm2source/data.yml
|
||||
build:
|
||||
mkdir -p build
|
||||
|
||||
build/mapping.yaml:
|
||||
mkdir -p build && generate-imposm3 openmaptiles.yaml > build/mapping.yaml
|
||||
build/openmaptiles.tm2source/data.yml: build
|
||||
mkdir -p build/openmaptiles.tm2source
|
||||
docker-compose run --rm openmaptiles-tools generate-tm2source openmaptiles.yaml --host="postgres" --port=5432 --database="openmaptiles" --user="openmaptiles" --password="openmaptiles" > build/openmaptiles.tm2source/data.yml
|
||||
|
||||
build/tileset.sql:
|
||||
mkdir -p build && generate-sql openmaptiles.yaml > build/tileset.sql
|
||||
build/mapping.yaml: build
|
||||
docker-compose run --rm openmaptiles-tools generate-imposm3 openmaptiles.yaml > build/mapping.yaml
|
||||
|
||||
build/tileset.sql: build
|
||||
docker-compose run --rm openmaptiles-tools generate-sql openmaptiles.yaml > build/tileset.sql
|
||||
|
||||
clean:
|
||||
rm -f build/openmaptiles.tm2source/data.yml && rm -f build/mapping.yaml && rm -f build/tileset.sql
|
||||
|
@ -70,30 +76,18 @@ download-geofabrik:
|
|||
psql: db-start
|
||||
docker-compose run --rm import-osm /usr/src/app/psql.sh
|
||||
|
||||
cfg-remake:
|
||||
docker-compose run --rm openmaptiles-tools make clean
|
||||
docker-compose run --rm openmaptiles-tools make
|
||||
|
||||
import-osm: db-start
|
||||
docker-compose run --rm openmaptiles-tools make clean
|
||||
docker-compose run --rm openmaptiles-tools make
|
||||
import-osm: db-start all
|
||||
docker-compose run --rm import-osm
|
||||
|
||||
import-sql: db-start
|
||||
docker-compose run --rm openmaptiles-tools make clean
|
||||
docker-compose run --rm openmaptiles-tools make
|
||||
import-sql: db-start all
|
||||
docker-compose run --rm import-sql
|
||||
|
||||
import-osmsql: db-start
|
||||
docker-compose run --rm openmaptiles-tools make clean
|
||||
docker-compose run --rm openmaptiles-tools make
|
||||
import-osmsql: db-start all
|
||||
docker-compose run --rm import-osm
|
||||
docker-compose run --rm import-sql
|
||||
|
||||
generate-tiles: db-start
|
||||
generate-tiles: db-start all
|
||||
rm -rf data/tiles.mbtiles
|
||||
docker-compose run --rm openmaptiles-tools make clean
|
||||
docker-compose run --rm openmaptiles-tools make
|
||||
if [ -f ./data/docker-compose-config.yml ]; then \
|
||||
docker-compose -f docker-compose.yml -f ./data/docker-compose-config.yml run --rm generate-vectortiles; \
|
||||
else \
|
||||
|
@ -147,23 +141,35 @@ start-postserve:
|
|||
generate-qareports:
|
||||
./qa/run.sh
|
||||
|
||||
# work in progress - please don't remove
|
||||
generate-devdoc:
|
||||
build/devdoc:
|
||||
mkdir -p ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/aeroway/aeroway.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/boundary/boundary.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/building/building.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/housenumber/housenumber.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/landcover/landcover.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/landuse/landuse.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/park/park.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/place/place.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/poi/poi.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/transportation/transportation.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/transportation_name/transportation_name.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/water/water.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/water_name/water_name.yaml ./build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/waterway/waterway.yaml ./build/devdoc
|
||||
|
||||
layers = $(notdir $(wildcard layers/*)) # all layers
|
||||
|
||||
etl-graph:
|
||||
@echo 'Use'
|
||||
@echo ' make etl-graph-[layer] to generate etl graph for [layer]'
|
||||
@echo ' example: make etl-graph-poi'
|
||||
@echo 'Valid layers: $(layers)'
|
||||
|
||||
# generate etl graph for a certain layer, e.g. etl-graph-building, etl-graph-place
|
||||
etl-graph-%: layers/% build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/$*/$*.yaml ./build/devdoc
|
||||
|
||||
mappingLayers = $(notdir $(patsubst %/mapping.yaml,%, $(wildcard layers/*/mapping.yaml))) # layers with mapping.yaml
|
||||
|
||||
# generate mapping graph for a certain layer, e.g. mapping-graph-building, mapping-graph-place
|
||||
mapping-graph:
|
||||
@echo 'Use'
|
||||
@echo ' make mapping-graph-[layer] to generate mapping graph for [layer]'
|
||||
@echo ' example: make mapping-graph-poi'
|
||||
@echo 'Valid layers: $(mappingLayers)'
|
||||
|
||||
mapping-graph-%: ./layers/%/mapping.yaml build/devdoc
|
||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-mapping-graph layers/$*/$*.yaml ./build/devdoc/mapping-diagram-$*
|
||||
|
||||
# generate all etl and mapping graphs
|
||||
generate-devdoc: $(addprefix etl-graph-,$(layers)) $(addprefix mapping-graph-,$(mappingLayers))
|
||||
|
||||
import-sql-dev:
|
||||
docker-compose run --rm import-sql /bin/bash
|
||||
|
|
11
README.md
11
README.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
OpenMapTiles is an extensible and open tile schema based on the OpenStreetMap. It is used to generate vector tiles for online zoomable maps. The project is about creating a beautiful basemaps with general layers that contain topographic information. More information [openmaptiles.org](http://openmaptiles.org/) and [openmaptiles.com](http://openmaptiles.com/).
|
||||
|
||||
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. Feel free to fork the repo and experiment. The repository is built on top of the [openmaptiles/tools](https://github.com/openmaptiles/openmaptiles-tools) to simplify vector tile creation.
|
||||
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. Feel free to fork the repo and experiment. The repository is built on top of the [openmaptiles/openmaptiles-tools](https://github.com/openmaptiles/openmaptiles-tools) to simplify vector tile creation.
|
||||
|
||||
- :link: Discuss at the #openmaptiles channel at [OSM Slack](https://osmus-slack.herokuapp.com/)
|
||||
- :link: Docs https://openmaptiles.org/docs
|
||||
|
@ -63,11 +63,10 @@ Together the layers make up the OpenMapTiles tileset.
|
|||
|
||||
## Develop
|
||||
|
||||
To work on OpenMapTiles you need Docker and Python.
|
||||
To work on OpenMapTiles you need Docker.
|
||||
|
||||
- Install [Docker](https://docs.docker.com/engine/installation/). Minimum version is 1.12.3+.
|
||||
- Install [Docker Compose](https://docs.docker.com/compose/install/). Minimum version is 1.7.1+.
|
||||
- Install [OpenMapTiles tools](https://github.com/openmaptiles/openmaptiles-tools) with `pip install openmaptiles-tools`
|
||||
|
||||
### Build
|
||||
|
||||
|
@ -78,8 +77,6 @@ git clone git@github.com:openmaptiles/openmaptiles.git
|
|||
cd openmaptiles
|
||||
# Build the imposm mapping, the tm2source project and collect all SQL scripts
|
||||
make
|
||||
# You can also run the build process inside a Docker container
|
||||
docker run -v $(pwd):/tileset openmaptiles/openmaptiles-tools make
|
||||
```
|
||||
|
||||
You can execute the following manual steps (for better understanding)
|
||||
|
@ -122,10 +119,10 @@ docker-compose run import-osm
|
|||
|
||||
### Work on Layers
|
||||
|
||||
Each time you modify layer SQL code run `make` and `docker-compose run import-sql`.
|
||||
Each time you modify layer SQL code run `make` and `make import-sql`.
|
||||
|
||||
```
|
||||
make clean && make && docker-compose run import-sql
|
||||
make clean && make && make import-sql
|
||||
```
|
||||
|
||||
Now you are ready to **generate the vector tiles**. Using environment variables
|
||||
|
|
|
@ -167,21 +167,21 @@ fi
|
|||
echo " "
|
||||
echo "-------------------------------------------------------------------------------------"
|
||||
echo "====> : Remove old generated source files ( ./build/* ) ( if they exist ) "
|
||||
docker-compose run --rm openmaptiles-tools make clean
|
||||
make clean
|
||||
|
||||
echo " "
|
||||
echo "-------------------------------------------------------------------------------------"
|
||||
echo "====> : Code generating from the layer definitions ( ./build/mapping.yaml; ./build/tileset.sql )"
|
||||
echo " : The tool source code: https://github.com/openmaptiles/openmaptiles-tools "
|
||||
echo " : But we generate the tm2source, Imposm mappings and SQL functions from the layer definitions! "
|
||||
docker-compose run --rm openmaptiles-tools make
|
||||
make
|
||||
|
||||
echo " "
|
||||
echo "-------------------------------------------------------------------------------------"
|
||||
echo "====> : Start PostgreSQL service ; create PostgreSQL data volume "
|
||||
echo " : Source code: https://github.com/openmaptiles/postgis "
|
||||
echo " : Thank you: https://www.postgresql.org ! Thank you http://postgis.org !"
|
||||
docker-compose up -d postgres
|
||||
docker-compose up -d postgres
|
||||
|
||||
echo " "
|
||||
echo "-------------------------------------------------------------------------------------"
|
||||
|
|
Ładowanie…
Reference in New Issue