Rework download area support (#908)

Closes #904
* Make all data-related targets like `download*`, `import-osm`, `import-borders`, and `generate-tiles` into `area`-aware -- making it possible for multiple data files to coexist inside the `./data` dir.
* Add `make download area=... [url=...]` command to automatically download any kind of area by checking Geofabrik, BBBike, and OSM.fr, optionally from a custom URL. Supports `area=planet` too.
* Do not re-download area with `make download-*` if it already exists.
* Automatically rename `<area>-latest.osm.pbf` into `<area>.osm.pbf`
* If `area=...` parameter is not given to `make`, see if there is exactly one `*.osm.pbf` file, and if so, use `*` as the `area`.
* Configure many variables in the .env file, overriding the defaults in tools
* If `<area>.osm.pbf` exists, but `<area>.dc-config.pbf` is missing, generate it using `download-osm make-dc` command.

Also:
* closes #614
* closes #647
* partially addresses #261
This commit is contained in:
Yuri Astrakhan
2020-06-03 15:37:45 -04:00
committed by GitHub
parent fca53ef0ee
commit 1486b7e0cb
6 changed files with 184 additions and 85 deletions

View File

@@ -36,6 +36,10 @@ services:
MAKE_DC_VERSION: "2.3"
# Allow DIFF_MODE to be overwritten from shell
DIFF_MODE: ${DIFF_MODE}
# Which files to use during import-borders processing
BORDERS_CLEANUP_FILE: ${BORDERS_CLEANUP_FILE}
BORDERS_PBF_FILE: ${BORDERS_PBF_FILE}
BORDERS_CSV_FILE: ${BORDERS_CSV_FILE}
networks:
- postgres_conn
volumes:
@@ -54,6 +58,10 @@ services:
networks:
- postgres_conn
env_file: .env
environment:
FILTER_MAPNIK_OUTPUT: ${FILTER_MAPNIK_OUTPUT}
MBTILES_NAME: ${MBTILES_FILE}
IMPOSM_CONFIG_FILE: ${IMPOSM_CONFIG_FILE}
generate-vectortiles:
image: "openmaptiles/generate-vectortiles:${TOOLS_VERSION}"
@@ -64,10 +72,12 @@ services:
- postgres_conn
env_file: .env
environment:
FILTER_MAPNIK_OUTPUT: ${FILTER_MAPNIK_OUTPUT}
MBTILES_NAME: ${MBTILES_FILE}
IMPOSM_CONFIG_FILE: ${IMPOSM_CONFIG_FILE}
BBOX: ${BBOX}
MIN_ZOOM: ${MIN_ZOOM}
MAX_ZOOM: ${MAX_ZOOM}
FILTER_MAPNIK_OUTPUT: ${FILTER_MAPNIK_OUTPUT}
postserve:
image: "openmaptiles/openmaptiles-tools:${TOOLS_VERSION}"