Add water name layer

pull/24/head
lukasmartinelli 2016-10-28 16:11:26 +02:00
rodzic 4884e93545
commit 5c58cb70e0
5 zmienionych plików z 43 dodań i 0 usunięć

Wyświetl plik

@ -19,6 +19,11 @@ services:
env_file: .env
links:
- postgres
import-lakelines:
image: "openmaptiles/import-lakelines"
env_file: .env
links:
- postgres
import-osm:
image: "openmaptiles/import-osm"
env_file: .env

Wyświetl plik

@ -0,0 +1,10 @@
CREATE OR REPLACE FUNCTION layer_water_name(bbox geometry, zoom_level integer)
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class text) AS $$
SELECT osm_id, geometry, name, name_en, 'lake'::text AS class
FROM osm_water_lakeline
WHERE geometry && bbox
AND name <> ''
AND ((zoom_level BETWEEN 10 AND 13 AND LineLabel(zoom_level, NULLIF(name, ''), geometry))
OR (zoom_level >= 14))
ORDER BY ST_Length(geometry) DESC;
$$ LANGUAGE SQL IMMUTABLE;

Wyświetl plik

@ -0,0 +1,9 @@
CREATE TABLE IF NOT EXISTS osm_water_lakeline AS (
SELECT wp.osm_id,
ll.wkb_geometry AS geometry,
name, name_en
FROM osm_water_polygon AS wp
INNER JOIN lake_centerline ll ON wp.osm_id = ll.osm_id
);
CREATE INDEX IF NOT EXISTS osm_water_lakeline_geometry_idx ON osm_water_lakeline USING gist(geometry);

Wyświetl plik

@ -0,0 +1,18 @@
layer:
id: "water_name"
description: |
OSM lakelines.
buffer_size: 8
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
fields:
class: String
datasource:
geometry_field: geometry
srid: 900913
query: (SELECT geometry, name, name_en, class FROM layer_water_name(!bbox!, z(!scale_denominator!))) AS t
schema:
- ./merge_lakelines.sql
- ./layer.sql
datasources:
- type: imposm3
mapping_file: ../water/mapping.yaml

Wyświetl plik

@ -8,6 +8,7 @@ tileset:
#- layers/housenumber/housenumber.yaml
- layers/place/place.yaml
- layers/railway/railway.yaml
- layers/water_name/water_name.yaml
- layers/water/water.yaml
- layers/waterway/waterway.yaml
- layers/landcover/landcover.yaml