kopia lustrzana https://github.com/openmaptiles/openmaptiles
Refactor ice into table function
rodzic
7cb3b4a43a
commit
f8ddbfd1b0
19
data.yml
19
data.yml
|
@ -90,26 +90,13 @@ Layer:
|
||||||
max_size: 512
|
max_size: 512
|
||||||
password: osm
|
password: osm
|
||||||
port: 5432
|
port: 5432
|
||||||
srid: ''
|
srid: 900913
|
||||||
table: |-
|
table: (SELECT * FROM layer_ice(!bbox!, z(!scale_denominator!))) AS t
|
||||||
( SELECT geom, type
|
|
||||||
FROM (
|
|
||||||
SELECT ST_Simplify(geom, 80000) AS geom, type FROM ice_z0
|
|
||||||
WHERE z(!scale_denominator!) BETWEEN 0 AND 1
|
|
||||||
UNION ALL
|
|
||||||
SELECT * FROM ice_z2
|
|
||||||
WHERE z(!scale_denominator!) BETWEEN 2 AND 4
|
|
||||||
UNION ALL
|
|
||||||
SELECT * FROM ice_z5
|
|
||||||
WHERE z(!scale_denominator!) BETWEEN 5 AND 8
|
|
||||||
) AS ice
|
|
||||||
WHERE geom && !bbox!
|
|
||||||
) AS t
|
|
||||||
type: postgis
|
type: postgis
|
||||||
user: osm
|
user: osm
|
||||||
description: Ice shelves
|
description: Ice shelves
|
||||||
fields:
|
fields:
|
||||||
type: String
|
class: String
|
||||||
properties:
|
properties:
|
||||||
"buffer-size": 4
|
"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
|
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
|
||||||
|
|
|
@ -15,3 +15,19 @@ CREATE OR REPLACE VIEW ice_z5 AS (
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT geom, 'ice_shelf' AS type FROM ne_10m_antarctic_ice_shelves_polys
|
SELECT geom, 'ice_shelf' AS type FROM ne_10m_antarctic_ice_shelves_polys
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION layer_ice(bbox geometry, zoom_level int)
|
||||||
|
RETURNS TABLE(geom geometry, class text) AS $$
|
||||||
|
WITH zoom_levels AS (
|
||||||
|
SELECT ST_Simplify(geom, 80000) AS geom, type FROM ice_z0
|
||||||
|
WHERE zoom_level BETWEEN 0 AND 1
|
||||||
|
UNION ALL
|
||||||
|
SELECT * FROM ice_z2
|
||||||
|
WHERE zoom_level BETWEEN 2 AND 4
|
||||||
|
UNION ALL
|
||||||
|
SELECT * FROM ice_z5
|
||||||
|
WHERE zoom_level BETWEEN 5 AND 8
|
||||||
|
)
|
||||||
|
SELECT geom, type::text AS class FROM zoom_levels
|
||||||
|
WHERE geom && bbox;
|
||||||
|
$$ LANGUAGE SQL IMMUTABLE;
|
||||||
|
|
Ładowanie…
Reference in New Issue