kopia lustrzana https://github.com/osm2vectortiles/osm2vectortiles
Bake water import file into Docker image
rodzic
e3f60d8771
commit
05acd1db10
10
.travis.yml
10
.travis.yml
|
@ -6,11 +6,8 @@ before_install:
|
|||
- curl -L https://github.com/docker/compose/releases/download/1.4.0/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
- chmod +x docker-compose
|
||||
- sudo mv docker-compose /usr/local/bin
|
||||
- mkdir -p TRAVIS_BUILD_DIR/import
|
||||
- wget -nc -P "$TRAVIS_BUILD_DIR/import" "https://s3.amazonaws.com/metro-extracts.mapzen.com/zurich_switzerland.osm.pbf"
|
||||
- wget -nc -P "$TRAVIS_BUILD_DIR/import" "http://data.openstreetmapdata.com/water-polygons-split-3857.zip"
|
||||
- unzip -fj "$TRAVIS_BUILD_DIR/import/water-polygons-split-3857.zip" -d "$TRAVIS_BUILD_DIR/import"
|
||||
- ls -la "$TRAVIS_BUILD_DIR/import"
|
||||
- wget -nc -P "$HOME/cache" "https://s3.amazonaws.com/metro-extracts.mapzen.com/zurich_switzerland.osm.pbf"
|
||||
- mkdir -p "$TRAVIS_BUILD_DIR/import" && cp "$HOME/cache/zurich_switzerland.osm.pbf" "$TRAVIS_BUILD_DIR/import"
|
||||
install:
|
||||
- docker-compose build
|
||||
before_script:
|
||||
|
@ -25,5 +22,4 @@ script:
|
|||
- curl "http://localhost:8080/index.json"
|
||||
cache:
|
||||
directories:
|
||||
- ./cache
|
||||
|
||||
- $HOME/cache
|
||||
|
|
|
@ -30,8 +30,6 @@ import:
|
|||
OSM_PASSWORD: "suisse"
|
||||
import-water:
|
||||
build: ./src/import-water
|
||||
volumes:
|
||||
- ./import:/data/import
|
||||
links:
|
||||
- postgis:db
|
||||
environment:
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
FROM mdillon/postgis:9.4
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
wget unzip \
|
||||
--no-install-recommends
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
wget \
|
||||
unzip \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir -p /data/import && wget --quiet http://data.openstreetmapdata.com/water-polygons-split-3857.zip && unzip -j water-polygons-split-3857.zip -d /data/import && rm water-polygons-split-3857.zip
|
||||
ENV IMPORT_DATA_DIR=/data/import
|
||||
|
||||
RUN mkdir -p /usr/src/app
|
||||
COPY import.sh /usr/src/app/
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
VOLUME /data/import
|
||||
ENV IMPORT_DATA_DIR=/data/import
|
||||
|
||||
CMD ["./import.sh"]
|
||||
|
|
|
@ -11,17 +11,9 @@ readonly OSM_DB=${OSM_DB:-osm}
|
|||
readonly OSM_USER=${OSM_USER:-osm}
|
||||
readonly OSM_PASSWORD=${OSM_PASSWORD:-osm}
|
||||
|
||||
function download_shp() {
|
||||
local pbf_url=$1
|
||||
wget --directory-prefix "$IMPORT_DATA_DIR" --no-clobber "$pbf_url"
|
||||
cd $IMPORT_DATA_DIR
|
||||
unzip water-polygons-split-3857.zip
|
||||
rm water-polygons-split-3857.zip
|
||||
}
|
||||
|
||||
function import_shp() {
|
||||
local shp_file=$1
|
||||
shp2pgsql -g way $shp_file | PG_PASSWORD=$OSM_PASSWORD psql --host="$DB_HOST" --port=5432 --dbname="$OSM_DB" --username="$OSM_USER"
|
||||
shp2pgsql -g way "$shp_file" | PG_PASSWORD=$OSM_PASSWORD psql --host="$DB_HOST" --port=5432 --dbname="$OSM_DB" --username="$OSM_USER"
|
||||
}
|
||||
|
||||
function create_index() {
|
||||
|
@ -29,23 +21,28 @@ function create_index() {
|
|||
echo $index_command | PG_PASSWORD=$OSM_PASSWORD psql --host="$DB_HOST" --port=5432 --dbname="$OSM_DB" --username="$OSM_USER"
|
||||
}
|
||||
|
||||
function main() {
|
||||
if ! [ $WATER_SHP_DOWNLOAD_URL = false ]; then
|
||||
download_shp $WATER_SHP_DOWNLOAD_URL
|
||||
fi
|
||||
function drop_water() {
|
||||
local drop_command="DROP TABLE IF EXISTS water_polygons;"
|
||||
echo $drop_command | PG_PASSWORD=$OSM_PASSWORD psql --host="$DB_HOST" --port=5432 --dbname="$OSM_DB" --username="$OSM_USER"
|
||||
}
|
||||
|
||||
function main() {
|
||||
local shp_file
|
||||
local _shp_file
|
||||
for _shp_file in "$IMPORT_DATA_DIR"/*.shp; do
|
||||
shp_file=$_shp_file
|
||||
break
|
||||
shp_file=$_shp_file
|
||||
break
|
||||
done
|
||||
|
||||
echo "Found shp file $shp_file"
|
||||
|
||||
local table_name="water_polygons"
|
||||
echo "Removing existing table $table_name"
|
||||
drop_water
|
||||
|
||||
echo "Importing $shp_file into table $table_name"
|
||||
import_shp $shp_file
|
||||
|
||||
echo "Create index water_polygons_index on table water_polygons"
|
||||
echo "Create index water_polygons_index on table $table_name"
|
||||
create_index
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue