Add boundaries à la NaturalEarth tiles

This commit is contained in:
lukasmartinelli
2016-10-06 08:45:00 +02:00
parent 217d5015c2
commit d5b683a0d1
3 changed files with 99 additions and 0 deletions

View File

@@ -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

View File

@@ -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
);