kopia lustrzana https://github.com/osm2vectortiles/osm2vectortiles
Switch to new compose format
rodzic
302f6644e0
commit
3fc38c16dc
|
@ -0,0 +1,9 @@
|
|||
AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}"
|
||||
AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}"
|
||||
AWS_S3_HOST="${AWS_S3_HOST}"
|
||||
AWS_S3_DOWNLOAD_BUCKET_NAME="osm2vectortiles-downloads"
|
||||
AWS_S3_JOB_BUCKET_NAME="osm2vectortiles-testing"
|
||||
POSTGRES_DB=osm
|
||||
POSTGRES_USER=osm
|
||||
POSTGRES_PASSWORD=osm
|
||||
POSTGRES_HOST=postgres
|
2
Makefile
2
Makefile
|
@ -34,5 +34,5 @@ merge-jobs:
|
|||
compare-visual:
|
||||
docker build -t osm2vectortiles/compare-visual tools/compare-visual
|
||||
|
||||
mapping-qa-report:
|
||||
mapping-qa-report: import-osm
|
||||
docker build -t osm2vectortiles/mapping-qa-report tools/mapping-qa-report
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
version: '2'
|
||||
services:
|
||||
import-labels:
|
||||
image: "osm2vectortiles/import-external"
|
||||
command: ./import-labels.sh
|
||||
env_file: .env
|
||||
links:
|
||||
- postgres
|
||||
import-natural-earth:
|
||||
image: "osm2vectortiles/import-external"
|
||||
command: ./import-natural-earth.sh
|
||||
env_file: .env
|
||||
links:
|
||||
- postgres
|
||||
import-water:
|
||||
image: "osm2vectortiles/import-external"
|
||||
command: ./import-water.sh
|
||||
env_file: .env
|
||||
links:
|
||||
- postgres
|
||||
mapbox-studio:
|
||||
image: "osm2vectortiles/mapbox-studio"
|
||||
volumes:
|
||||
- ./osm2vectortiles.tm2source:/projects/osm2vectortiles.tm2source
|
||||
links:
|
||||
- postgres:db
|
||||
ports:
|
||||
- "3000:3000"
|
||||
compare-visual:
|
||||
image: "osm2vectortiles/compare-visual"
|
||||
ports:
|
||||
- "3030:3030"
|
||||
volumes:
|
||||
- ./osm2vectortiles.tm2source:/data/tm2source
|
||||
links:
|
||||
- postgres:db
|
||||
mapping-qa-report:
|
||||
image: "osm2vectortiles/mapping-qa-report"
|
||||
env_file: .env
|
||||
links:
|
||||
- postgres:db
|
||||
volumes:
|
||||
- ./export:/data
|
|
@ -0,0 +1,34 @@
|
|||
version: '2'
|
||||
services:
|
||||
import-osm-diff:
|
||||
image: "osm2vectortiles/import-osm"
|
||||
command: ./import-diff.sh
|
||||
env_file: .env
|
||||
volumes:
|
||||
- ./export:/export
|
||||
- ./import:/import
|
||||
- cache:/cache
|
||||
links:
|
||||
- postgres
|
||||
update-osm-diff:
|
||||
image: "osm2vectortiles/import-osm"
|
||||
command: ./import-osmupdate.sh
|
||||
volumes:
|
||||
- ./import:/import
|
||||
environment:
|
||||
OSM_UPDATE_BASEURL: "http://download.geofabrik.de/europe/liechtenstein-updates/"
|
||||
merge-osm-diff:
|
||||
image: "osm2vectortiles/import-osm"
|
||||
command: ./import-mergediffs.sh
|
||||
volumes:
|
||||
- ./import:/import
|
||||
export-expired-tiles:
|
||||
image: "osm2vectortiles/export"
|
||||
env_file: .env
|
||||
command: ./export-list.sh
|
||||
volumes:
|
||||
- ./import:/import
|
||||
- ./export:/export
|
||||
- ./osm2vectortiles.tm2source:/tm2source
|
||||
links:
|
||||
- postgres
|
|
@ -0,0 +1,51 @@
|
|||
version: '2'
|
||||
services:
|
||||
generate-jobs:
|
||||
image: "osm2vectortiles/generate-jobs"
|
||||
env_file: .env
|
||||
volumes:
|
||||
- ./export:/data/export
|
||||
links:
|
||||
- rabbitmq:rabbitmq
|
||||
generate-diff-jobs:
|
||||
image: "osm2vectortiles/generate-jobs"
|
||||
env_file: .env
|
||||
command: ./generate_list_jobs.sh
|
||||
links:
|
||||
- rabbitmq:rabbitmq
|
||||
merge-jobs:
|
||||
image: "osm2vectortiles/merge-jobs"
|
||||
env_file: .env
|
||||
volumes:
|
||||
- ./export:/data/export
|
||||
links:
|
||||
- rabbitmq:rabbitmq
|
||||
export-worker:
|
||||
image: "osm2vectortiles/rabbitmq:management"
|
||||
env_file: .env
|
||||
command: ./export-worker.sh
|
||||
links:
|
||||
- rabbitmq:rabbitmq
|
||||
env_file: .env
|
||||
environment:
|
||||
RENDER_TIMEOUT: "300"
|
||||
TILE_TIMEOUT: "1800000"
|
||||
rabbitmq:
|
||||
image: "osm2vectortiles/rabbitmq:management"
|
||||
env_file: .env
|
||||
ports:
|
||||
- "15672"
|
||||
- "5672"
|
||||
volumes:
|
||||
- rabbitdata:/var/lib/rabbitmq
|
||||
environment:
|
||||
RABBITMQ_DEFAULT_USER: "osm"
|
||||
RABBITMQ_DEFAULT_PASS: "osm"
|
||||
RABBITMQ_HEARTBEAT: "600"
|
||||
create-extracts:
|
||||
image: "osm2vectortiles/create-extracts"
|
||||
env_file: .env
|
||||
volumes:
|
||||
- ./export:/data/export
|
||||
volumes:
|
||||
rabbitdata:
|
|
@ -1,176 +1,46 @@
|
|||
pgdata:
|
||||
image: "tianon/true"
|
||||
volumes:
|
||||
- /var/lib/postgresql/data
|
||||
rabbitdata:
|
||||
image: "tianon/true"
|
||||
volumes:
|
||||
- /var/lib/rabbitmq
|
||||
cache:
|
||||
image: "tianon/true"
|
||||
volumes:
|
||||
- /data/cache
|
||||
postgres:
|
||||
image: "osm2vectortiles/postgis"
|
||||
volumes_from:
|
||||
- pgdata
|
||||
ports:
|
||||
- "5432"
|
||||
environment:
|
||||
POSTGRES_DB: osm
|
||||
POSTGRES_USER: osm
|
||||
POSTGRES_PASSWORD: osm
|
||||
import-osm:
|
||||
image: "osm2vectortiles/import-osm"
|
||||
command: ./import-pbf.sh
|
||||
volumes:
|
||||
- ./import:/data/import
|
||||
volumes_from:
|
||||
- cache
|
||||
links:
|
||||
- postgres:postgres
|
||||
environment:
|
||||
DIFFS: 'true'
|
||||
import-osm-diff:
|
||||
image: "osm2vectortiles/import-osm"
|
||||
command: ./import-diff.sh
|
||||
volumes:
|
||||
- ./import:/data/import
|
||||
- ./export:/data/export
|
||||
- ./src/import-osm:/usr/src/app
|
||||
volumes_from:
|
||||
- cache
|
||||
links:
|
||||
- postgres:postgres
|
||||
update-osm-diff:
|
||||
image: "osm2vectortiles/import-osm"
|
||||
command: ./import-osmupdate.sh
|
||||
volumes:
|
||||
- ./import:/data/import
|
||||
environment:
|
||||
OSM_UPDATE_BASEURL: "http://download.geofabrik.de/europe/liechtenstein-updates/"
|
||||
merge-osm-diff:
|
||||
image: "osm2vectortiles/import-osm"
|
||||
command: ./import-mergediffs.sh
|
||||
volumes:
|
||||
- ./import:/data/import
|
||||
import-external:
|
||||
image: "osm2vectortiles/import-external"
|
||||
links:
|
||||
- postgres:postgres
|
||||
import-labels:
|
||||
image: "osm2vectortiles/import-external"
|
||||
command: ./import-labels.sh
|
||||
links:
|
||||
- postgres:postgres
|
||||
import-natural-earth:
|
||||
image: "osm2vectortiles/import-external"
|
||||
command: ./import-natural-earth.sh
|
||||
links:
|
||||
- postgres:postgres
|
||||
import-water:
|
||||
image: "osm2vectortiles/import-external"
|
||||
command: ./import-water.sh
|
||||
links:
|
||||
- postgres:postgres
|
||||
generate-jobs:
|
||||
image: "osm2vectortiles/generate-jobs"
|
||||
volumes:
|
||||
- ./export:/data/export
|
||||
links:
|
||||
- rabbitmq:rabbitmq
|
||||
generate-diff-jobs:
|
||||
image: "osm2vectortiles/generate-jobs"
|
||||
command: ./generate_list_jobs.sh
|
||||
volumes:
|
||||
- ./export:/data/export
|
||||
links:
|
||||
- rabbitmq:rabbitmq
|
||||
merge-jobs:
|
||||
image: "osm2vectortiles/merge-jobs"
|
||||
volumes:
|
||||
- ./export:/data/export
|
||||
links:
|
||||
- rabbitmq:rabbitmq
|
||||
export-worker:
|
||||
image: "osm2vectortiles/export"
|
||||
command: ./export-worker.sh
|
||||
volumes:
|
||||
- ./osm2vectortiles.tm2source:/data/tm2source
|
||||
links:
|
||||
- postgres:postgres
|
||||
- rabbitmq:rabbitmq
|
||||
environment:
|
||||
AWS_ACCESS_KEY_ID: "${AWS_ACCESS_KEY_ID}"
|
||||
AWS_SECRET_ACCESS_KEY: "${AWS_SECRET_ACCESS_KEY}"
|
||||
AWS_S3_HOST: "${AWS_S3_HOST}"
|
||||
BUCKET_NAME: "osm2vectortiles-testing"
|
||||
RENDER_TIMEOUT: "300"
|
||||
TILE_TIMEOUT: "1800000"
|
||||
export:
|
||||
image: "osm2vectortiles/export"
|
||||
command: ./export-local.sh
|
||||
volumes:
|
||||
- ./export:/data/export
|
||||
- ./osm2vectortiles.tm2source:/data/tm2source
|
||||
links:
|
||||
- postgres:postgres
|
||||
environment:
|
||||
# Around zurich
|
||||
BBOX: "-22.5,79.6871841545,-21.09375,79.9359182463"
|
||||
MIN_ZOOM: "0"
|
||||
MAX_ZOOM: "14"
|
||||
export-list:
|
||||
image: "osm2vectortiles/export"
|
||||
command: ./export-list.sh
|
||||
volumes:
|
||||
- ./export:/data/export
|
||||
- ./osm2vectortiles.tm2source:/data/tm2source
|
||||
links:
|
||||
- postgres:postgres
|
||||
import-sql:
|
||||
image: "osm2vectortiles/import-sql"
|
||||
links:
|
||||
- postgres:postgres
|
||||
environment:
|
||||
SQL_CREATE_INDIZES: 'false'
|
||||
mapbox-studio:
|
||||
image: "osm2vectortiles/mapbox-studio"
|
||||
volumes:
|
||||
- ./osm2vectortiles.tm2source:/projects/osm2vectortiles.tm2source
|
||||
links:
|
||||
- postgres:db
|
||||
ports:
|
||||
- "3000:3000"
|
||||
rabbitmq:
|
||||
image: "osm2vectortiles/rabbitmq:management"
|
||||
ports:
|
||||
- "15672"
|
||||
- "5672"
|
||||
volumes_from:
|
||||
- rabbitdata
|
||||
environment:
|
||||
RABBITMQ_DEFAULT_USER: "osm"
|
||||
RABBITMQ_DEFAULT_PASS: "osm"
|
||||
RABBITMQ_HEARTBEAT: "600"
|
||||
create-extracts:
|
||||
image: "osm2vectortiles/create-extracts"
|
||||
volumes:
|
||||
- ./export:/data/export
|
||||
environment:
|
||||
S3_ACCESS_KEY: "${AWS_ACCESS_KEY_ID}"
|
||||
S3_SECRET_KEY: "${AWS_SECRET_ACCESS_KEY}"
|
||||
compare-visual:
|
||||
image: "osm2vectortiles/compare-visual"
|
||||
ports:
|
||||
- "3030:3030"
|
||||
volumes:
|
||||
- ./osm2vectortiles.tm2source:/data/tm2source
|
||||
links:
|
||||
- postgres:db
|
||||
mapping-qa-report:
|
||||
image: "osm2vectortiles/mapping-qa-report"
|
||||
links:
|
||||
- postgres:db
|
||||
volumes:
|
||||
- ./export:/data
|
||||
version: '2'
|
||||
services:
|
||||
postgres:
|
||||
image: "osm2vectortiles/postgis"
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
ports:
|
||||
- "5432"
|
||||
env_file: .env
|
||||
import-osm:
|
||||
image: "osm2vectortiles/import-osm"
|
||||
command: ./import-pbf.sh
|
||||
env_file: .env
|
||||
volumes:
|
||||
- ./import:/import
|
||||
- cache:/cache
|
||||
links:
|
||||
- postgres:postgres
|
||||
import-external:
|
||||
image: "osm2vectortiles/import-external"
|
||||
env_file: .env
|
||||
links:
|
||||
- postgres:postgres
|
||||
export-mbtiles:
|
||||
image: "osm2vectortiles/export"
|
||||
command: ./export-local.sh
|
||||
volumes:
|
||||
- ./export:/export
|
||||
- ./osm2vectortiles.tm2source:/tm2source
|
||||
links:
|
||||
- postgres:postgres
|
||||
env_file: .env
|
||||
environment:
|
||||
BBOX: "-22.5,79.6871841545,-21.09375,79.9359182463"
|
||||
MIN_ZOOM: "0"
|
||||
MAX_ZOOM: "14"
|
||||
import-sql:
|
||||
image: "osm2vectortiles/import-sql"
|
||||
env_file: .env
|
||||
links:
|
||||
- postgres:postgres
|
||||
environment:
|
||||
SQL_CREATE_INDIZES: 'false'
|
||||
volumes:
|
||||
pgdata:
|
||||
cache:
|
||||
|
|
|
@ -130,10 +130,10 @@ def upload_mbtiles(mbtiles_file):
|
|||
"""
|
||||
config_file = os.getenv('S3_CONFIG_FILE',
|
||||
os.path.join(os.environ['HOME'], '.s3cfg'))
|
||||
access_key = os.environ['S3_ACCESS_KEY']
|
||||
secret_key = os.environ['S3_SECRET_KEY']
|
||||
bucket_name = os.getenv('S3_BUCKET_NAME', 'osm2vectortiles-downloads')
|
||||
prefix = os.getenv('S3_PREFIX', 'v{}/{}/'.format(VERSION, 'extracts'))
|
||||
access_key = os.environ['AWS_ACCESS_KEY_ID']
|
||||
secret_key = os.environ['AWS_SECRET_ACCESS_KEY']
|
||||
bucket_name = os.getenv('AWS_S3_DOWNLOAD_BUCKET_NAME', 'osm2vectortiles-downloads')
|
||||
prefix = os.getenv('AWS_S3_PREFIX', 'v{}/{}/'.format(VERSION, 'extracts'))
|
||||
|
||||
subprocess.check_call([
|
||||
's3cmd',
|
||||
|
|
|
@ -18,8 +18,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||
python-dev \
|
||||
&& rm -rf /var/lib/apt/lists/
|
||||
|
||||
VOLUME /data/tm2source /data/export
|
||||
ENV SOURCE_PROJECT_DIR=/data/tm2source EXPORT_DIR=/data/export TILELIVE_BIN=tl
|
||||
VOLUME /tm2source /export
|
||||
ENV SOURCE_PROJECT_DIR=/tm2source EXPORT_DIR=/export TILELIVE_BIN=tl
|
||||
|
||||
COPY requirements.txt /usr/src/app/requirements.txt
|
||||
RUN pip install -r requirements.txt
|
||||
|
|
|
@ -5,7 +5,7 @@ set -o nounset
|
|||
|
||||
source utils.sh
|
||||
|
||||
readonly LIST_FILE=${RENDER_SCHEME:-"$EXPORT_DIR/tiles.txt"}
|
||||
readonly LIST_FILE="$EXPORT_DIR/tiles.txt"
|
||||
|
||||
function export_local_mbtiles() {
|
||||
local mbtiles_name="tiles.mbtiles"
|
||||
|
|
|
@ -5,13 +5,13 @@ set -o nounset
|
|||
|
||||
source utils.sh
|
||||
|
||||
readonly BUCKET_NAME=${BUCKET_NAME:-osm2vectortiles-jobs}
|
||||
readonly BUCKET_NAME=${AWS_S3_JOB_BUCKET_NAME:-osm2vectortiles-jobs}
|
||||
readonly RABBITMQ_URI=${RABBITMQ_URI:-"amqp://osm:osm@rabbitmq:5672/?blocked_connection_timeout=1200&heartbeat=0"}
|
||||
|
||||
function export_remote_mbtiles() {
|
||||
exec python -u export_remote.py "$RABBITMQ_URI" \
|
||||
--tm2source="$DEST_PROJECT_DIR" \
|
||||
--bucket="$BUCKET_NAME"
|
||||
--bucket="$"
|
||||
}
|
||||
|
||||
function main() {
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
set -o errexit
|
||||
set -o pipefail
|
||||
|
||||
readonly SOURCE_PROJECT_DIR=${SOURCE_PROJECT_DIR:-/data/tm2source}
|
||||
readonly EXPORT_DIR=${EXPORT_DIR:-/data/export}
|
||||
readonly DEST_PROJECT_DIR="/tmp/project"
|
||||
readonly DEST_PROJECT_FILE="${DEST_PROJECT_DIR%%/}/data.yml"
|
||||
|
||||
|
@ -21,11 +19,11 @@ function cleanup_dest_project() {
|
|||
|
||||
# replace database connection with postgis container connection
|
||||
function replace_db_connection() {
|
||||
local replace_expr_1="s|host: .*|host: \"$POSTGRES_PORT_5432_TCP_ADDR\"|g"
|
||||
local replace_expr_2="s|port: .*|port: \"$DB_PORT_5432_TCP_PORT\"|g"
|
||||
local replace_expr_3="s|dbname: .*|dbname: \"$POSTGRES_ENV_POSTGRES_USER\"|g"
|
||||
local replace_expr_4="s|user: .*|user: \"$POSTGRES_ENV_POSTGRES_DB\"|g"
|
||||
local replace_expr_5="s|password: .*|password: \"$POSTGRES_ENV_POSTGRES_PASSWORD\"|g"
|
||||
local replace_expr_1="s|host: .*|host: \"$POSTGRES_HOST\"|g"
|
||||
local replace_expr_2="s|port: .*|port: \"5432\"|g"
|
||||
local replace_expr_3="s|dbname: .*|dbname: \"$POSTGRES_USER\"|g"
|
||||
local replace_expr_4="s|user: .*|user: \"$POSTGRES_DB\"|g"
|
||||
local replace_expr_5="s|password: .*|password: \"$POSTGRES_PASSWORD\"|g"
|
||||
|
||||
sed -i "$replace_expr_1" "$DEST_PROJECT_FILE"
|
||||
sed -i "$replace_expr_2" "$DEST_PROJECT_FILE"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
FROM osm2vectortiles/postgis
|
||||
ENV IMPORT_DATA_DIR=/data/import \
|
||||
NATURAL_EARTH_DB=/data/import/natural_earth_vector.sqlite
|
||||
ENV IMPORT_DATA_DIR=/import \
|
||||
NATURAL_EARTH_DB=/import/natural_earth_vector.sqlite
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
wget \
|
||||
|
@ -21,10 +21,9 @@ RUN wget --quiet http://data.openstreetmapdata.com/simplified-water-polygons-com
|
|||
WORKDIR /usr/src/app
|
||||
COPY ./clean-natural-earth.sh /usr/src/app/
|
||||
RUN wget --quiet http://naciscdn.org/naturalearth/packages/natural_earth_vector.sqlite.zip \
|
||||
&& unzip -oj natural_earth_vector.sqlite.zip -d /data/import \
|
||||
&& unzip -oj natural_earth_vector.sqlite.zip -d /import \
|
||||
&& rm natural_earth_vector.sqlite.zip \
|
||||
&& ./usr/src/app/clean-natural-earth.sh
|
||||
&& /usr/src/app/clean-natural-earth.sh
|
||||
|
||||
COPY . /usr/src/app
|
||||
|
||||
CMD ["./import.sh"]
|
||||
|
|
|
@ -26,7 +26,7 @@ function import_geojson() {
|
|||
}
|
||||
|
||||
function import_labels() {
|
||||
echo "Inserting labels into $OSM_DB"
|
||||
echo "Inserting labels"
|
||||
|
||||
import_geojson "$SEAS_GEOJSON" "custom_seas"
|
||||
import_geojson "$STATES_GEOJSON" "custom_states"
|
||||
|
|
|
@ -5,9 +5,6 @@ set -o nounset
|
|||
|
||||
source sql.sh
|
||||
|
||||
readonly IMPORT_DATA_DIR=${IMPORT_DATA_DIR:-/data/import}
|
||||
readonly NATURAL_EARTH_SQLITE_FILE="$IMPORT_DATA_DIR/natural_earth_vector.sqlite"
|
||||
|
||||
function import_natural_earth() {
|
||||
echo "Importing Natural Earth to PostGIS"
|
||||
PGCLIENTENCODING=LATIN1 ogr2ogr \
|
||||
|
@ -21,7 +18,7 @@ function import_natural_earth() {
|
|||
-lco DIM=2 \
|
||||
-nlt GEOMETRY \
|
||||
-overwrite \
|
||||
"$NATURAL_EARTH_SQLITE_FILE"
|
||||
"$NATURAL_EARTH_DB"
|
||||
}
|
||||
|
||||
import_natural_earth
|
||||
|
|
|
@ -3,12 +3,11 @@ set -o errexit
|
|||
set -o pipefail
|
||||
set -o nounset
|
||||
|
||||
readonly IMPORT_DATA_DIR=${IMPORT_DATA_DIR:-/data/import}
|
||||
source sql.sh
|
||||
|
||||
readonly WATER_POLYGONS_FILE="$IMPORT_DATA_DIR/water_polygons.shp"
|
||||
readonly SIMPLIFIED_WATER_POLYGONS_FILE="$IMPORT_DATA_DIR/simplified_water_polygons.shp"
|
||||
|
||||
source sql.sh
|
||||
|
||||
function import_shp() {
|
||||
local shp_file=$1
|
||||
local table_name=$2
|
||||
|
|
|
@ -3,15 +3,16 @@ set -o errexit
|
|||
set -o pipefail
|
||||
set -o nounset
|
||||
|
||||
readonly PGCONN="dbname=$POSTGRES_ENV_POSTGRES_DB user=$POSTGRES_ENV_POSTGRES_USER host=$POSTGRES_PORT_5432_TCP_ADDR port=5432"
|
||||
readonly POSTGRES_HOST=${POSTGRES_HOST:-"postgres"}
|
||||
readonly PGCONN="dbname=$POSTGRES_DB user=$POSTGRES_USER host=$POSTGRES_HOST password=$POSTGRES_PASSWORD port=5432"
|
||||
|
||||
function exec_psql() {
|
||||
PGPASSWORD=$POSTGRES_ENV_POSTGRES_PASSWORD psql \
|
||||
PGPASSWORD="$POSTGRES_PASSWORD" psql \
|
||||
-v ON_ERROR_STOP=1 \
|
||||
--host="$POSTGRES_PORT_5432_TCP_ADDR" \
|
||||
--host="$POSTGRES_HOST" \
|
||||
--port="5432" \
|
||||
--dbname="$POSTGRES_ENV_POSTGRES_DB" \
|
||||
--username="$POSTGRES_ENV_POSTGRES_USER"
|
||||
--dbname="$POSTGRES_DB" \
|
||||
--username="$POSTGRES_USER"
|
||||
}
|
||||
|
||||
function exec_sql_file() {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM golang:1.4
|
||||
FROM golang:1.5.3
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
|
@ -26,9 +26,11 @@ RUN apt-get purge -y --auto-remove \
|
|||
g++ gcc libc6-dev make git \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
VOLUME /data/import /data/cache
|
||||
ENV IMPORT_DATA_DIR=/data/import \
|
||||
IMPOSM_CACHE_DIR=/data/cache \
|
||||
VOLUME /import /cache
|
||||
ENV IMPORT_DATA_DIR=/import \
|
||||
IMPOSM_CACHE_DIR=/cache \
|
||||
IMPOSM_DIFF_DIR=/import \
|
||||
IMPOSM_TILE_DIR=/import \
|
||||
MAPPING_YAML=/usr/src/app/mapping.yml
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
|
|
@ -4,7 +4,7 @@ set -o pipefail
|
|||
set -o nounset
|
||||
|
||||
source import.sh
|
||||
readonly TILELIST=${TILELIST:-/data/export/tiles.txt}
|
||||
readonly TILELIST="$IMPOSM_TILE_DIR/tiles.txt"
|
||||
|
||||
function main() {
|
||||
if [ "$(ls -A $IMPORT_DATA_DIR/*.osc.gz 2> /dev/null)" ]; then
|
||||
|
|
|
@ -3,9 +3,7 @@ set -o errexit
|
|||
set -o pipefail
|
||||
set -o nounset
|
||||
|
||||
readonly IMPOSM_DIFF_DIR=${IMPOSM_DIFF_DIR:-/data/import}
|
||||
readonly IMPOSM_CACHE_DIR=${IMPOSM_CACHE_DIR:-/data/cache}
|
||||
readonly PG_CONNECT="postgis://$POSTGRES_ENV_POSTGRES_USER:$POSTGRES_ENV_POSTGRES_PASSWORD@$POSTGRES_PORT_5432_TCP_ADDR/$POSTGRES_ENV_POSTGRES_DB"
|
||||
readonly PG_CONNECT="postgis://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB"
|
||||
|
||||
function import_pbf() {
|
||||
local pbf_file="$1"
|
||||
|
@ -25,6 +23,17 @@ function import_pbf() {
|
|||
update_scaleranks
|
||||
}
|
||||
|
||||
function exec_sql_file() {
|
||||
local file_name="$1"
|
||||
PGPASSWORD="$POSTGRES_PASSWORD" psql \
|
||||
-v ON_ERROR_STOP=1 \
|
||||
--host="$POSTGRES_HOST" \
|
||||
--port="5432" \
|
||||
--dbname="$POSTGRES_DB" \
|
||||
--username="$POSTGRES_USER" \
|
||||
-f "$file_name"
|
||||
}
|
||||
|
||||
function update_points() {
|
||||
echo "Update osm_place_polygon with point geometry"
|
||||
exec_sql_file "point_update.sql"
|
||||
|
@ -32,7 +41,7 @@ function update_points() {
|
|||
|
||||
function update_scaleranks() {
|
||||
echo "Update scaleranks from Natural Earth data"
|
||||
exec_sql_file "update_scaleranks.sql"
|
||||
exec_sql_file "update_scaleranks.sql" || echo 'No NaturalEarth data found in database' && exit 500
|
||||
}
|
||||
|
||||
function create_osm_water_point_table() {
|
||||
|
@ -41,12 +50,10 @@ function create_osm_water_point_table() {
|
|||
}
|
||||
|
||||
function subdivide_polygons() {
|
||||
echo "Subdividing polygons in $OSM_DB"
|
||||
echo "Subdividing polygons"
|
||||
exec_sql_file "subdivide_polygons.sql"
|
||||
}
|
||||
|
||||
|
||||
|
||||
function import_pbf_diffs() {
|
||||
local diffs_file="$1"
|
||||
local tile_list="$2"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
DROP TABLE IF EXISTS osm_water_point CASCADE;
|
||||
CREATE TABLE osm_water_point AS
|
||||
SELECT id,
|
||||
topoint(geometry) AS geometry,
|
||||
ST_PointOnSurface(geometry) AS geometry,
|
||||
name, name_fr, name_en, name_de,
|
||||
name_es, name_ru, name_zh,
|
||||
area
|
||||
|
|
|
@ -7,12 +7,12 @@ readonly SQL_CREATE_INDIZES=${SQL_CREATE_INDIZES:-false}
|
|||
|
||||
function exec_sql_file() {
|
||||
local file_name="$1"
|
||||
PGPASSWORD=$POSTGRES_ENV_POSTGRES_PASSWORD psql \
|
||||
PGPASSWORD="$POSTGRES_PASSWORD" psql \
|
||||
-v ON_ERROR_STOP=1 \
|
||||
--host="$POSTGRES_PORT_5432_TCP_ADDR" \
|
||||
--host="$POSTGRES_HOST" \
|
||||
--port="5432" \
|
||||
--dbname="$POSTGRES_ENV_POSTGRES_DB" \
|
||||
--username="$POSTGRES_ENV_POSTGRES_USER" \
|
||||
--dbname="$POSTGRES_DB" \
|
||||
--username="$POSTGRES_USER" \
|
||||
-f "$file_name"
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ function main() {
|
|||
exec_sql_file "$SQL_FUNCTIONS_FILE"
|
||||
echo "Creating generated functions"
|
||||
exec_sql_file "$SQL_GENERATED_FILE"
|
||||
echo "Creating layers in $OSM_DB"
|
||||
echo "Creating layers"
|
||||
exec_sql_file "${SQL_LAYERS_DIR}admin.sql"
|
||||
exec_sql_file "${SQL_LAYERS_DIR}aeroway.sql"
|
||||
exec_sql_file "${SQL_LAYERS_DIR}barrier_line.sql"
|
||||
|
@ -45,10 +45,10 @@ function main() {
|
|||
exec_sql_file "${SQL_LAYERS_DIR}motorway_junction.sql"
|
||||
|
||||
if [ "$SQL_CREATE_INDIZES" = true ] ; then
|
||||
echo "Create index in $OSM_DB"
|
||||
echo "Create additional expression indizes"
|
||||
exec_sql_file "${SQL_INDIZES_FILE}"
|
||||
else
|
||||
echo "Omitting index creation in $OSM_DB"
|
||||
echo "Omitting index creation"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM golang:1.5.3
|
||||
FROM osm2vectortiles/import-osm
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends postgresql-client \
|
||||
|
|
|
@ -3,23 +3,15 @@ set -o errexit
|
|||
set -o pipefail
|
||||
set -o nounset
|
||||
|
||||
readonly DB_HOST=$DB_PORT_5432_TCP_ADDR
|
||||
readonly DB_PORT=$DB_PORT_5432_TCP_PORT
|
||||
readonly OSM_NAME=${OSM_NAME:-osm}
|
||||
readonly OSM_USER=${OSM_USER:-osm}
|
||||
readonly OSM_PASSWORD=${OSM_PASSWORD:-osm}
|
||||
|
||||
readonly EXPORT_DIR=${EXPORT_DIR:-"/data/"}
|
||||
|
||||
function exec_sql_file() {
|
||||
local sql_file=$1
|
||||
PG_PASSWORD=$OSM_PASSWORD psql \
|
||||
--host="$DB_HOST" \
|
||||
--port=5432 \
|
||||
--dbname="$OSM_NAME" \
|
||||
--username="$OSM_USER" \
|
||||
local file_name="$1"
|
||||
PGPASSWORD="$POSTGRES_PASSWORD" psql \
|
||||
-v ON_ERROR_STOP=1 \
|
||||
-a -f "$sql_file"
|
||||
--host="$POSTGRES_HOST" \
|
||||
--port="5432" \
|
||||
--dbname="$POSTGRES_DB" \
|
||||
--username="$POSTGRES_USER" \
|
||||
-f "$file_name"
|
||||
}
|
||||
|
||||
function export_tsv() {
|
||||
|
|
Ładowanie…
Reference in New Issue