kopia lustrzana https://github.com/openmaptiles/openmaptiles
Add boundaries à la NaturalEarth tiles
rodzic
217d5015c2
commit
d5b683a0d1
38
data.yml
38
data.yml
|
@ -51,6 +51,44 @@ Layer:
|
|||
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
|
||||
- id: boundary
|
||||
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 boundary_z0 WHERE z(!scale_denominator!) = 0
|
||||
UNION ALL
|
||||
SELECT * FROM boundary_z1 WHERE z(!scale_denominator!) BETWEEN 1 AND 2
|
||||
UNION ALL
|
||||
SELECT * FROM boundary_z3 WHERE z(!scale_denominator!) BETWEEN 3 AND 4
|
||||
UNION ALL
|
||||
SELECT * FROM boundary_z5 WHERE z(!scale_denominator!) BETWEEN 5 AND 6
|
||||
UNION ALL
|
||||
SELECT * FROM boundary_z7 WHERE z(!scale_denominator!) >= 7
|
||||
) AS admin
|
||||
WHERE geom && !bbox!
|
||||
) AS data
|
||||
type: postgis
|
||||
user: osm
|
||||
description: Buildings
|
||||
fields:
|
||||
admin_level: Number
|
||||
class: String
|
||||
scalerank: Number
|
||||
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
|
||||
- id: building
|
||||
Datasource:
|
||||
dbname: osm
|
||||
|
|
|
@ -18,6 +18,7 @@ function main() {
|
|||
exec_psql_file "$VT_UTIL_DIR/postgis-vt-util.sql"
|
||||
exec_psql_file "layers/water.sql"
|
||||
exec_psql_file "layers/building.sql"
|
||||
exec_psql_file "layers/boundary.sql"
|
||||
}
|
||||
|
||||
main
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
CREATE OR REPLACE FUNCTION boundary_class(featureclass VARCHAR) RETURNS VARCHAR
|
||||
AS $$
|
||||
BEGIN
|
||||
RETURN CASE
|
||||
WHEN featureclass ILIKE 'line of control%' THEN 'control'
|
||||
WHEN featureclass ILIKE 'disputed%' THEN 'dispute'
|
||||
WHEN featureclass ILIKE 'lease%' THEN 'lease'
|
||||
WHEN featureclass ILIKE 'overlay%' THEN 'overlay'
|
||||
ELSE 'boundary'
|
||||
END;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql IMMUTABLE;
|
||||
|
||||
CREATE OR REPLACE VIEW boundary_z0 AS (
|
||||
SELECT geom, 0 AS admin_level, scalerank,
|
||||
boundary_class(featurecla) AS class
|
||||
FROM ne_110m_admin_0_boundary_lines_land
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW boundary_z1 AS (
|
||||
SELECT geom, 0 AS admin_level, scalerank,
|
||||
boundary_class(featurecla) AS class
|
||||
FROM ne_50m_admin_0_boundary_lines_land
|
||||
UNION ALL
|
||||
SELECT geom, 1 AS admin_level, scalerank,
|
||||
boundary_class(featurecla) AS class
|
||||
FROM ne_50m_admin_1_states_provinces_lines
|
||||
WHERE scalerank <= 2
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW boundary_z3 AS (
|
||||
SELECT geom, 0 AS admin_level, scalerank,
|
||||
boundary_class(featurecla) AS class
|
||||
FROM ne_50m_admin_0_boundary_lines_land
|
||||
UNION ALL
|
||||
SELECT geom, 1 AS admin_level, scalerank,
|
||||
boundary_class(featurecla) AS class
|
||||
FROM ne_50m_admin_1_states_provinces_lines
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW boundary_z5 AS (
|
||||
SELECT geom, 0 AS admin_level, scalerank,
|
||||
boundary_class(featurecla) AS class
|
||||
FROM ne_10m_admin_0_boundary_lines_land
|
||||
UNION ALL
|
||||
SELECT geom, 1 AS admin_level, scalerank,
|
||||
boundary_class(featurecla) AS class
|
||||
FROM ne_10m_admin_1_states_provinces_lines_shp
|
||||
WHERE scalerank <= 7
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW boundary_z7 AS (
|
||||
SELECT geom, 0 AS admin_level, scalerank,
|
||||
boundary_class(featurecla) AS class
|
||||
FROM ne_10m_admin_0_boundary_lines_land
|
||||
UNION ALL
|
||||
SELECT geom, 1 AS admin_level, scalerank,
|
||||
boundary_class(featurecla) AS class
|
||||
FROM ne_10m_admin_1_states_provinces_lines_shp
|
||||
);
|
Ładowanie…
Reference in New Issue