kopia lustrzana https://github.com/osm2vectortiles/osm2vectortiles
Support lake labels
rodzic
ad6a8d4378
commit
fd5f45ec75
|
@ -1,12 +1,15 @@
|
|||
FROM mdillon/postgis:9.4
|
||||
FROM osm2vectortiles/postgis
|
||||
|
||||
ENV IMPORT_DATA_DIR=/data/import \
|
||||
NATURAL_EARTH_DB=/data/import/natural_earth_vector.sqlite
|
||||
NATURAL_EARTH_DB=/data/import/natural_earth_vector.sqlite \
|
||||
LAKELINES_GEOJSON=/data/import/lake_centerline.geojson
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
wget \
|
||||
unzip \
|
||||
gdal-bin \
|
||||
sqlite3 \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir -p $IMPORT_DATA_DIR \
|
||||
|
@ -24,6 +27,8 @@ RUN wget --quiet http://naciscdn.org/naturalearth/packages/natural_earth_vector.
|
|||
&& rm natural_earth_vector.sqlite.zip \
|
||||
&& ./usr/src/app/clean-natural-earth.sh
|
||||
|
||||
RUN wget --quiet -L -P "$IMPORT_DATA_DIR" https://github.com/lukasmartinelli/osm-lakelines/releases/download/v0.9/lake_centerline.geojson
|
||||
|
||||
COPY . /usr/src/app
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
|
|
|
@ -33,4 +33,9 @@ function import_labels() {
|
|||
import_geojson "$COUNTRIES_GEOJSON" "custom_countries"
|
||||
}
|
||||
|
||||
function import_lakelines() {
|
||||
import_geojson "$LAKELINES_GEOJSON" "custom_lakeline"
|
||||
}
|
||||
|
||||
import_labels
|
||||
import_lakelines
|
||||
|
|
|
@ -1,12 +1,26 @@
|
|||
CREATE OR REPLACE FUNCTION imposm_id_to_osm_id (imposm_id BIGINT, is_polygon BOOLEAN) RETURNS BIGINT AS $$
|
||||
BEGIN
|
||||
RETURN CASE
|
||||
WHEN (imposm_id >= 0 ) THEN imposm_id
|
||||
WHEN (NOT is_polygon) AND (imposm_id >= -1e17 ) AND (imposm_id < 0 ) THEN abs(imposm_id)
|
||||
WHEN ( is_polygon) AND (imposm_id >= -1e17 ) AND (imposm_id < 0 ) THEN abs(imposm_id)
|
||||
WHEN (NOT is_polygon) AND (imposm_id < -1e17 ) THEN imposm_id +1e17
|
||||
WHEN ( is_polygon) AND (imposm_id < -1e17 ) THEN imposm_id +1e17
|
||||
ELSE 0
|
||||
END;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql IMMUTABLE;
|
||||
|
||||
DROP TABLE IF EXISTS osm_water_point CASCADE;
|
||||
CREATE TABLE osm_water_point AS
|
||||
SELECT id,
|
||||
topoint(geometry) AS geometry,
|
||||
COALESCE(ll.wkb_geometry, topoint(wp.geometry)) AS geometry,
|
||||
timestamp,
|
||||
name, name_fr, name_en, name_de,
|
||||
name_es, name_ru, name_zh,
|
||||
area
|
||||
FROM osm_water_polygon;
|
||||
FROM osm_water_polygon AS wp
|
||||
LEFT JOIN custom_lakeline ll ON imposm_id_to_osm_id(wp.id, true) = ll.osm_id;
|
||||
|
||||
CREATE INDEX ON osm_water_point USING gist (geometry);
|
||||
CREATE INDEX ON osm_water_point
|
||||
|
|
Ładowanie…
Reference in New Issue