Filter out large rivers

pull/24/head
lukasmartinelli 2016-10-28 16:53:29 +02:00
rodzic 5c58cb70e0
commit ea2530788f
3 zmienionych plików z 22 dodań i 8 usunięć

Wyświetl plik

@ -1,15 +1,15 @@
generalized_tables:
water_polygon_gen3:
source: water_polygon
sql_filter: area>15000000.0
sql_filter: area>15000000.0 AND waterway = ''
tolerance: 350.0
water_polygon_gen2:
source: water_polygon
sql_filter: area>2000000
sql_filter: area>2000000 AND waterway = ''
tolerance: 200.0
water_polygon_gen1:
source: water_polygon
sql_filter: area>500000
sql_filter: area>500000 AND waterway = ''
tolerance: 100.0
tables:
water_polygon:
@ -26,6 +26,15 @@ tables:
- name: name_en
key: name:en
type: string
- name: natural
key: natural
type: string
- name: landuse
key: landuse
type: string
- name: waterway
key: waterway
type: string
filters:
exclude_tags:
- [ "covered", "yes" ]

Wyświetl plik

@ -1,3 +1,8 @@
CREATE OR REPLACE FUNCTION water_class(waterway TEXT) RETURNS TEXT AS $$
SELECT CASE WHEN waterway='' THEN 'lake' ELSE 'river' END;
$$ LANGUAGE SQL IMMUTABLE;
CREATE OR REPLACE VIEW water_z0 AS (
SELECT geom, 'ocean' AS class FROM ne_110m_ocean
UNION ALL
@ -51,19 +56,19 @@ CREATE OR REPLACE VIEW water_z9 AS (
);
CREATE OR REPLACE VIEW water_z11 AS (
SELECT geometry AS geom, 'lake' AS class FROM osm_water_polygon WHERE area > 40000
SELECT geometry AS geom, water_class(waterway) AS class FROM osm_water_polygon WHERE area > 40000
);
CREATE OR REPLACE VIEW water_z12 AS (
SELECT geometry AS geom, 'lake' AS class FROM osm_water_polygon WHERE area > 10000
SELECT geometry AS geom, water_class(waterway) AS class FROM osm_water_polygon WHERE area > 10000
);
CREATE OR REPLACE VIEW water_z13 AS (
SELECT geometry AS geom, 'lake' AS class FROM osm_water_polygon WHERE area > 5000
SELECT geometry AS geom, water_class(waterway) AS class FROM osm_water_polygon WHERE area > 5000
);
CREATE OR REPLACE VIEW water_z14 AS (
SELECT geometry AS geom, 'lake' AS class FROM osm_water_polygon
SELECT geometry AS geom, water_class(waterway) AS class FROM osm_water_polygon
);
CREATE OR REPLACE FUNCTION layer_water (bbox geometry, zoom_level int)

Wyświetl plik

@ -1,7 +1,7 @@
layer:
id: "water"
description: |
Water polygons and linestrings representing oceans, lakes and waterways.
Water polygons and linestrings representing oceans, lakes.
buffer_size: 4
datasource:
query: (SELECT geom, class FROM layer_water(!bbox!, z(!scale_denominator!))) AS t