Improve Makefile - simplify make, without local omt-tools (PR #562)
This commit is contained in:
parent
2871b234a5
commit
3591cb2f8d
86
Makefile
86
Makefile
@ -20,7 +20,9 @@ help:
|
|||||||
@echo " make psql-vacuum-analyze # PostgreSQL: VACUUM ANALYZE"
|
@echo " make psql-vacuum-analyze # PostgreSQL: VACUUM ANALYZE"
|
||||||
@echo " make psql-analyze # PostgreSQL: ANALYZE"
|
@echo " make psql-analyze # PostgreSQL: ANALYZE"
|
||||||
@echo " make generate-qareports # generate reports [./build/qareports]"
|
@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-sql-dev # start import-sql /bin/bash terminal"
|
||||||
@echo " make import-osm-dev # start import-osm /bin/bash terminal (imposm3)"
|
@echo " make import-osm-dev # start import-osm /bin/bash terminal (imposm3)"
|
||||||
@echo " make clean-docker # remove docker containers, PG data volume"
|
@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-views # list PostgreSQL public schema views"
|
||||||
@echo " make pgclimb-list-tables # list PostgreSQL public schema tables"
|
@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 .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 " make help # help about available commands"
|
||||||
@echo "=============================================================================="
|
@echo "=============================================================================="
|
||||||
|
|
||||||
build/openmaptiles.tm2source/data.yml:
|
build:
|
||||||
mkdir -p build/openmaptiles.tm2source && generate-tm2source openmaptiles.yaml --host="postgres" --port=5432 --database="openmaptiles" --user="openmaptiles" --password="openmaptiles" > build/openmaptiles.tm2source/data.yml
|
mkdir -p build
|
||||||
|
|
||||||
build/mapping.yaml:
|
build/openmaptiles.tm2source/data.yml: build
|
||||||
mkdir -p build && generate-imposm3 openmaptiles.yaml > build/mapping.yaml
|
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:
|
build/mapping.yaml: build
|
||||||
mkdir -p build && generate-sql openmaptiles.yaml > build/tileset.sql
|
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:
|
clean:
|
||||||
rm -f build/openmaptiles.tm2source/data.yml && rm -f build/mapping.yaml && rm -f build/tileset.sql
|
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
|
psql: db-start
|
||||||
docker-compose run --rm import-osm /usr/src/app/psql.sh
|
docker-compose run --rm import-osm /usr/src/app/psql.sh
|
||||||
|
|
||||||
cfg-remake:
|
import-osm: db-start all
|
||||||
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
|
|
||||||
docker-compose run --rm import-osm
|
docker-compose run --rm import-osm
|
||||||
|
|
||||||
import-sql: db-start
|
import-sql: db-start all
|
||||||
docker-compose run --rm openmaptiles-tools make clean
|
|
||||||
docker-compose run --rm openmaptiles-tools make
|
|
||||||
docker-compose run --rm import-sql
|
docker-compose run --rm import-sql
|
||||||
|
|
||||||
import-osmsql: db-start
|
import-osmsql: db-start all
|
||||||
docker-compose run --rm openmaptiles-tools make clean
|
|
||||||
docker-compose run --rm openmaptiles-tools make
|
|
||||||
docker-compose run --rm import-osm
|
docker-compose run --rm import-osm
|
||||||
docker-compose run --rm import-sql
|
docker-compose run --rm import-sql
|
||||||
|
|
||||||
generate-tiles: db-start
|
generate-tiles: db-start all
|
||||||
rm -rf data/tiles.mbtiles
|
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 \
|
if [ -f ./data/docker-compose-config.yml ]; then \
|
||||||
docker-compose -f docker-compose.yml -f ./data/docker-compose-config.yml run --rm generate-vectortiles; \
|
docker-compose -f docker-compose.yml -f ./data/docker-compose-config.yml run --rm generate-vectortiles; \
|
||||||
else \
|
else \
|
||||||
@ -147,23 +141,35 @@ start-postserve:
|
|||||||
generate-qareports:
|
generate-qareports:
|
||||||
./qa/run.sh
|
./qa/run.sh
|
||||||
|
|
||||||
# work in progress - please don't remove
|
build/devdoc:
|
||||||
generate-devdoc:
|
|
||||||
mkdir -p ./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
|
layers = $(notdir $(wildcard layers/*)) # all layers
|
||||||
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
|
etl-graph:
|
||||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/landcover/landcover.yaml ./build/devdoc
|
@echo 'Use'
|
||||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/landuse/landuse.yaml ./build/devdoc
|
@echo ' make etl-graph-[layer] to generate etl graph for [layer]'
|
||||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/park/park.yaml ./build/devdoc
|
@echo ' example: make etl-graph-poi'
|
||||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/place/place.yaml ./build/devdoc
|
@echo 'Valid layers: $(layers)'
|
||||||
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
|
# generate etl graph for a certain layer, e.g. etl-graph-building, etl-graph-place
|
||||||
docker run --rm -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/transportation_name/transportation_name.yaml ./build/devdoc
|
etl-graph-%: layers/% 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/$*/$*.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
|
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:
|
import-sql-dev:
|
||||||
docker-compose run --rm import-sql /bin/bash
|
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/).
|
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: Discuss at the #openmaptiles channel at [OSM Slack](https://osmus-slack.herokuapp.com/)
|
||||||
- :link: Docs https://openmaptiles.org/docs
|
- :link: Docs https://openmaptiles.org/docs
|
||||||
@ -63,11 +63,10 @@ Together the layers make up the OpenMapTiles tileset.
|
|||||||
|
|
||||||
## Develop
|
## 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](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 [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
|
### Build
|
||||||
|
|
||||||
@ -78,8 +77,6 @@ git clone git@github.com:openmaptiles/openmaptiles.git
|
|||||||
cd openmaptiles
|
cd openmaptiles
|
||||||
# Build the imposm mapping, the tm2source project and collect all SQL scripts
|
# Build the imposm mapping, the tm2source project and collect all SQL scripts
|
||||||
make
|
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)
|
You can execute the following manual steps (for better understanding)
|
||||||
@ -122,10 +119,10 @@ docker-compose run import-osm
|
|||||||
|
|
||||||
### Work on Layers
|
### 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
|
Now you are ready to **generate the vector tiles**. Using environment variables
|
||||||
|
|||||||
@ -167,21 +167,21 @@ fi
|
|||||||
echo " "
|
echo " "
|
||||||
echo "-------------------------------------------------------------------------------------"
|
echo "-------------------------------------------------------------------------------------"
|
||||||
echo "====> : Remove old generated source files ( ./build/* ) ( if they exist ) "
|
echo "====> : Remove old generated source files ( ./build/* ) ( if they exist ) "
|
||||||
docker-compose run --rm openmaptiles-tools make clean
|
make clean
|
||||||
|
|
||||||
echo " "
|
echo " "
|
||||||
echo "-------------------------------------------------------------------------------------"
|
echo "-------------------------------------------------------------------------------------"
|
||||||
echo "====> : Code generating from the layer definitions ( ./build/mapping.yaml; ./build/tileset.sql )"
|
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 " : 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! "
|
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 "-------------------------------------------------------------------------------------"
|
echo "-------------------------------------------------------------------------------------"
|
||||||
echo "====> : Start PostgreSQL service ; create PostgreSQL data volume "
|
echo "====> : Start PostgreSQL service ; create PostgreSQL data volume "
|
||||||
echo " : Source code: https://github.com/openmaptiles/postgis "
|
echo " : Source code: https://github.com/openmaptiles/postgis "
|
||||||
echo " : Thank you: https://www.postgresql.org ! Thank you http://postgis.org !"
|
echo " : Thank you: https://www.postgresql.org ! Thank you http://postgis.org !"
|
||||||
docker-compose up -d postgres
|
docker-compose up -d postgres
|
||||||
|
|
||||||
echo " "
|
echo " "
|
||||||
echo "-------------------------------------------------------------------------------------"
|
echo "-------------------------------------------------------------------------------------"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user