Merge branch 'master' into maptiler-change

This commit is contained in:
Yuri Astrakhan
2020-04-24 14:08:36 -04:00
11 changed files with 328 additions and 160 deletions

View File

@@ -24,7 +24,7 @@ else
endif
.PHONY: all
all: build/openmaptiles.tm2source/data.yml build/mapping.yaml build/tileset.sql
all: build/openmaptiles.tm2source/data.yml build/mapping.yaml build-sql
# Set OpenMapTiles host
OMT_HOST:=http://$(firstword $(subst :, ,$(subst tcp://,,$(DOCKER_HOST))) localhost)
@@ -38,8 +38,9 @@ help:
@echo " ./quickstart.sh <<your-area>> # example: ./quickstart.sh madagascar "
@echo " "
@echo "Hints for designers:"
@echo " make start-postserve # start Postserver + Maputnik Editor [ see $(OMT_HOST):8088 ] "
@echo " make start-tileserver # start maptiler/tileserver-gl [ see $(OMT_HOST):8080 ] "
@echo " make maputnik-start # start Maputnik Editor + dynamic tile server [ see $(OMT_HOST):8088 ]"
@echo " make postserve-start # start dynamic tile server [ see $(OMT_HOST):8090 ]"
@echo " make tileserver-start # start maptiler/tileserver-gl [ see $(OMT_HOST):8080 ]"
@echo " "
@echo "Hints for developers:"
@echo " make # build source code"
@@ -53,10 +54,12 @@ help:
@echo " make psql-analyze # PostgreSQL: ANALYZE"
@echo " make generate-qareports # generate reports [./build/qareports]"
@echo " make generate-devdoc # generate devdoc including graphs for all layers [./layers/...]"
@echo " make tools-dev # start openmaptiles-tools /bin/bash terminal"
@echo " make db-destroy # remove docker containers and PostgreSQL data volume"
@echo " make db-start # start PostgreSQL, creating it if it doesn't exist"
@echo " make db-stop # stop PostgreSQL database without destroying the data"
@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"
@echo " make forced-clean-sql # drop all PostgreSQL tables for clean environment"
@echo " make docker-unnecessary-clean # clean unnecessary docker image(s) and container(s)"
@echo " make refresh-docker-images # refresh openmaptiles docker images from Docker HUB"
@echo " make remove-docker-images # remove openmaptiles docker images"
@@ -69,7 +72,9 @@ help:
.PHONY: init-dirs
init-dirs:
mkdir -p build && mkdir -p data && mkdir -p cache
@mkdir -p build
@mkdir -p data
@mkdir -p cache
build/openmaptiles.tm2source/data.yml: init-dirs
mkdir -p build/openmaptiles.tm2source
@@ -78,15 +83,16 @@ build/openmaptiles.tm2source/data.yml: init-dirs
build/mapping.yaml: init-dirs
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools generate-imposm3 openmaptiles.yaml > $@
build/tileset.sql: init-dirs
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools generate-sql openmaptiles.yaml > $@
.PHONY: build-sql
build-sql: init-dirs
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools generate-sql openmaptiles.yaml > build/tileset.sql
.PHONY: clean
clean:
rm -rf build
.PHONY: clean-docker
clean-docker:
.PHONY: db-destroy
db-destroy:
$(DOCKER_COMPOSE) down -v --remove-orphans
$(DOCKER_COMPOSE) rm -fv
docker volume ls -q -f "name=^$${DC_PROJECT,,*}_" | $(XARGS) docker volume rm
@@ -94,14 +100,19 @@ clean-docker:
.PHONY: db-start
db-start:
$(DOCKER_COMPOSE) up -d postgres
$(DOCKER_COMPOSE) up --no-recreate -d postgres
@echo "Wait for PostgreSQL to start..."
$(DOCKER_COMPOSE) run $(DC_OPTS) import-osm ./pgwait.sh
.PHONY: db-stop
db-stop:
@echo "Stopping PostgreSQL..."
$(DOCKER_COMPOSE) stop postgres
.PHONY: list-geofabrik
list-geofabrik:
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools download-osm list geofabrik
OSM_SERVERS:=geofabrik osmfr bbbike
ALL_DOWNLOADS:=$(addprefix download-,$(OSM_SERVERS))
OSM_SERVER=$(patsubst download-%,%,$@)
@@ -135,28 +146,20 @@ psql: db-start
import-osm: db-start all
$(DOCKER_COMPOSE) run $(DC_OPTS) import-osm
.PHONY: import-sql
import-sql: db-start all
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools import-sql
.PHONY: import-osmsql
import-osmsql: db-start all import-osm import-sql
.PHONY: import-data
import-data: db-start
$(DOCKER_COMPOSE) run $(DC_OPTS) import-data
.PHONY: import-borders
import-borders: db-start
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools import-borders
.PHONY: import-water
import-water: db-start
$(DOCKER_COMPOSE) run $(DC_OPTS) import-water
.PHONY: import-natural-earth
import-natural-earth: db-start
$(DOCKER_COMPOSE) run $(DC_OPTS) import-natural-earth
.PHONY: import-lakelines
import-lakelines: db-start
$(DOCKER_COMPOSE) run $(DC_OPTS) import-lakelines
.PHONY: import-sql
import-sql: db-start all
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools import-sql
.PHONY: generate-tiles
ifneq ($(wildcard data/docker-compose-config.yml),)
@@ -164,11 +167,13 @@ ifneq ($(wildcard data/docker-compose-config.yml),)
endif
generate-tiles: init-dirs db-start all
rm -rf data/tiles.mbtiles
echo "Generating tiles ..."; \
$(DOCKER_COMPOSE) $(DC_CONFIG_TILES) run $(DC_OPTS) generate-vectortiles
@echo "Updating generated tile metadata ..."
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools generate-metadata ./data/tiles.mbtiles
.PHONY: start-tileserver
start-tileserver: init-dirs
.PHONY: tileserver-start
tileserver-start: init-dirs
@echo " "
@echo "***********************************************************"
@echo "* "
@@ -188,29 +193,42 @@ start-tileserver: init-dirs
@echo " "
docker run $(DC_OPTS) -it --name tileserver-gl -v $$(pwd)/data:/data -p 8080:8080 maptiler/tileserver-gl --port 8080
.PHONY: start-postserve
start-postserve: db-start
.PHONY: postserve-start
postserve-start: db-start
@echo " "
@echo "***********************************************************"
@echo "* "
@echo "* Bring up postserve at $(OMT_HOST):8090"
@echo "* --> can view it locally (use make maputnik-start)"
@echo "* --> or can use https://maputnik.github.io/editor"
@echo "* "
@echo "* set data source / TileJSON URL to http://$(OMT_HOST):8090"
@echo "* "
@echo "***********************************************************"
@echo " "
$(DOCKER_COMPOSE) up -d postserve
docker pull maputnik/editor
.PHONY: postserve-stop
postserve-stop:
$(DOCKER_COMPOSE) stop postserve
.PHONY: maputnik-start
maputnik-start: maputnik-stop postserve-start
@echo " "
@echo "***********************************************************"
@echo "* "
@echo "* Start maputnik/editor "
@echo "* ---> go to http://$(OMT_HOST):8088 "
@echo "* ---> set 'data source' to http://$(OMT_HOST):8090"
@echo "* ---> set data source / TileJSON URL to http://$(OMT_HOST):8090"
@echo "* "
@echo "***********************************************************"
@echo " "
-docker rm -f maputnik_editor
docker run $(DC_OPTS) --name maputnik_editor -d -p 8088:8888 maputnik/editor
.PHONY: maputnik-stop
maputnik-stop:
-docker rm -f maputnik_editor
.PHONY: generate-qareports
generate-qareports:
./qa/run.sh
@@ -219,12 +237,12 @@ generate-qareports:
.PHONY: generate-devdoc
generate-devdoc: init-dirs
mkdir -p ./build/devdoc && \
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools-latest sh -c \
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools sh -c \
'generate-etlgraph openmaptiles.yaml $(GRAPH_PARAMS) && \
generate-mapping-graph openmaptiles.yaml $(GRAPH_PARAMS)'
.PHONY: import-sql-dev
import-sql-dev:
.PHONY: tools-dev
tools-dev:
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools bash
.PHONY: import-osm-dev
@@ -233,7 +251,7 @@ import-osm-dev:
.PHONY: import-wikidata
import-wikidata:
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools import-wikidata openmaptiles.yaml
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools import-wikidata --cache /cache/wikidata-cache.json openmaptiles.yaml
.PHONY: psql-pg-stat-reset
psql-pg-stat-reset:
@@ -277,7 +295,13 @@ list-docker-images:
.PHONY: refresh-docker-images
refresh-docker-images:
ifneq ($(strip $(NO_REFRESH)),)
@echo "Skipping docker image refresh"
else
@echo ""
@echo "Refreshing docker images... Use NO_REFRESH=1 to skip."
$(DOCKER_COMPOSE) pull --ignore-pull-failures
endif
.PHONY: remove-docker-images
remove-docker-images: