Add water as first example layer

pull/24/head
lukasmartinelli 2016-10-06 07:45:00 +02:00
rodzic b8b884ae1a
commit 211c765c02
6 zmienionych plików z 163 dodań i 0 usunięć

5
.env 100644
Wyświetl plik

@ -0,0 +1,5 @@
POSTGRES_DB=osm
POSTGRES_USER=osm
POSTGRES_PASSWORD=osm
POSTGRES_HOST=postgres
POSTGRES_PORT=5432

56
data.yml 100644
Wyświetl plik

@ -0,0 +1,56 @@
_prefs:
disabled: []
inspector: false
mapid: ''
rev: ''
saveCenter: true
attribution: "<a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap contributors</a>"
center:
- 8.6627
- 47.3872
- 0
description: "Free global vector tiles from OpenStreetMap. http://osm2vectortiles.org"
Layer:
- id: water
Datasource:
dbname: osm
extent: -20037508.34,-20037508.34,20037508.34,20037508.34
geometry_field: geom
geometry_table: ''
host: db
key_field: ''
key_field_as_attribute: ''
max_size: 512
password: osm
port: 5432
srid: ''
table: |-
( SELECT *
FROM (
SELECT * FROM water_z0
WHERE z(!scale_denominator!) = 0
UNION ALL
SELECT * FROM water_z1
WHERE z(!scale_denominator!) = 1
UNION ALL
SELECT * FROM water_z2
WHERE z(!scale_denominator!) BETWEEN 2 AND 3
UNION ALL
SELECT * FROM water_z4
WHERE z(!scale_denominator!) = 4
UNION ALL
SELECT * FROM water_z5
WHERE z(!scale_denominator!) = 5
) AS water
WHERE geom && !bbox!
) AS data
type: postgis
user: osm
description: Ocean and lake polygons
fields: {}
properties:
"buffer-size": 4
srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over
maxzoom: 14
minzoom: 0
name: OSM2VectorTiles v3.0

34
docker-compose.yml 100644
Wyświetl plik

@ -0,0 +1,34 @@
version: '2'
volumes:
pgdata:
services:
postgres:
image: "osm2vectortiles/postgis:latest"
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- "5432"
env_file: .env
db-schema:
build: "./schema"
env_file: .env
links:
- postgres:postgres
import-natural-earth:
image: "osm2vectortiles/import-natural-earth"
env_file: .env
links:
- postgres
import-water:
image: "osm2vectortiles/import-water"
env_file: .env
links:
- postgres
mapbox-studio:
image: "osm2vectortiles/mapbox-studio"
volumes:
- ./:/projects/osm2vectortiles.tm2source
links:
- postgres:db
ports:
- "3000:3000"

17
schema/Dockerfile 100644
Wyświetl plik

@ -0,0 +1,17 @@
FROM osm2vectortiles/postgis:latest
MAINTAINER Lukas Martinelli <me@lukasmartinelli.ch>
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
wget \
&& rm -rf /var/lib/apt/lists/*
ENV VT_UTIL_DIR=/opt/postgis-vt-util \
VT_UTIL_URL="https://raw.githubusercontent.com/mapbox/postgis-vt-util/v1.0.0/postgis-vt-util.sql"
RUN mkdir -p "$VT_UTIL_DIR" \
&& wget -P "$VT_UTIL_DIR" --quiet "$VT_UTIL_URL"
COPY . /usr/src/app/
WORKDIR /usr/src/app
CMD ["./create_schema.sh"]

Wyświetl plik

@ -0,0 +1,22 @@
#!/bin/bash
set -o errexit
set -o pipefail
set -o nounset
function exec_psql_file() {
local file_name="$1"
PGPASSWORD="$POSTGRES_PASSWORD" psql \
-v ON_ERROR_STOP="1" \
--host="$POSTGRES_HOST" \
--port="$POSTGRES_PORT" \
--dbname="$POSTGRES_DB" \
--username="$POSTGRES_USER" \
-f "$file_name"
}
function main() {
exec_psql_file "$VT_UTIL_DIR/postgis-vt-util.sql"
exec_psql_file "layers/water.sql"
}
main

Wyświetl plik

@ -0,0 +1,29 @@
CREATE OR REPLACE VIEW water_z0 AS (
SELECT geom FROM ne_110m_ocean
UNION ALL
SELECT geom FROM ne_110m_lakes
);
CREATE OR REPLACE VIEW water_z1 AS (
SELECT geom FROM ne_110m_ocean
UNION ALL
SELECT geom FROM ne_110m_lakes
);
CREATE OR REPLACE VIEW water_z2 AS (
SELECT geom FROM ne_50m_ocean
UNION ALL
SELECT geom FROM ne_110m_lakes
);
CREATE OR REPLACE VIEW water_z4 AS (
SELECT geom FROM ne_10m_ocean
UNION ALL
SELECT geom FROM ne_50m_lakes
);
CREATE OR REPLACE VIEW water_z5 AS (
SELECT geom FROM ne_10m_ocean
UNION ALL
SELECT geom FROM ne_10m_lakes
);