kopia lustrzana https://github.com/openmaptiles/openmaptiles
Integrate urban into landuse
rodzic
767c8a83cc
commit
79d04f3792
|
@ -0,0 +1,64 @@
|
|||
CREATE OR REPLACE VIEW landuse_z4 AS (
|
||||
SELECT NULL::bigint AS osm_id, geom AS geometry, 'residential' AS landuse, scalerank
|
||||
FROM ne_50m_urban_areas
|
||||
WHERE scalerank <= 2
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW landuse_z5 AS (
|
||||
SELECT NULL::bigint AS osm_id, geom AS geometry, 'residential' AS landuse, scalerank
|
||||
FROM ne_50m_urban_areas
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW landuse_z6 AS (
|
||||
SELECT NULL::bigint AS osm_id, geom AS geometry, 'residential' AS landuse, scalerank
|
||||
FROM ne_10m_urban_areas
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW landuse_z10 AS (
|
||||
SELECT osm_id, geometry, landuse, NULL::int as scalerank FROM osm_landuse_polygon_gen2
|
||||
WHERE ST_Area(geometry) > 1200000
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW landuse_z11 AS (
|
||||
SELECT osm_id, geometry, landuse, NULL::int as scalerank FROM osm_landuse_polygon_gen2
|
||||
WHERE ST_Area(geometry) > 480000
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW landuse_z12 AS (
|
||||
SELECT osm_id, geometry, landuse, NULL::int as scalerank FROM osm_landuse_polygon_gen1
|
||||
WHERE ST_Area(geometry) > 240000
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW landuse_z13 AS (
|
||||
SELECT osm_id, geometry, landuse, NULL::int as scalerank FROM osm_landuse_polygon
|
||||
WHERE ST_Area(geometry) > 60000
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW landuse_z14 AS (
|
||||
SELECT osm_id, geometry, landuse, NULL::int as scalerank FROM osm_landuse_polygon
|
||||
);
|
||||
|
||||
CREATE OR REPLACE FUNCTION layer_landuse(bbox geometry, zoom_level int)
|
||||
RETURNS TABLE(osm_id bigint, geometry geometry, landuse text) AS $$
|
||||
SELECT osm_id, geometry, landuse FROM (
|
||||
SELECT * FROM landuse_z4
|
||||
WHERE zoom_level = 4
|
||||
UNION ALL
|
||||
SELECT * FROM landuse_z5
|
||||
WHERE zoom_level = 5
|
||||
UNION ALL
|
||||
SELECT * FROM landuse_z6
|
||||
WHERE zoom_level BETWEEN 6 AND 10 AND scalerank-1 <= zoom_level
|
||||
UNION ALL
|
||||
SELECT * FROM landuse_z10 WHERE zoom_level = 10
|
||||
UNION ALL
|
||||
SELECT * FROM landuse_z11 WHERE zoom_level = 11
|
||||
UNION ALL
|
||||
SELECT * FROM landuse_z12 WHERE zoom_level = 12
|
||||
UNION ALL
|
||||
SELECT * FROM landuse_z13 WHERE zoom_level = 13
|
||||
UNION ALL
|
||||
SELECT * FROM landuse_z14 WHERE zoom_level >= 14
|
||||
) AS zoom_levels;
|
||||
$$ LANGUAGE SQL IMMUTABLE;
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
layer:
|
||||
id: "landuse"
|
||||
description: Landcover is used to describe the physical material at the surface of the earth. Land covers include grass, asphalt, trees, bare ground etc. Tagging of landcover is often only implied by other tags at present, for example a park may be assumed to be covered in grass, but in some places this may in fact be trees or sand or some other cover. The following keys imply or specifically indicate landcover properties.
|
||||
buffer_size: 4
|
||||
datasource:
|
||||
query: (SELECT * FROM layer_landuse(!bbox!, z(!scale_denominator!))) AS t
|
||||
schema:
|
||||
- ./landuse.sql
|
||||
datasources:
|
||||
- type: imposm3
|
||||
mapping_file: ./mapping.yaml
|
|
@ -0,0 +1,29 @@
|
|||
generalized_tables:
|
||||
landuse_polygon_gen2:
|
||||
source: landuse_polygon_gen1
|
||||
sql_filter: area>500000.000000
|
||||
tolerance: 120.0
|
||||
landuse_polygon_gen1:
|
||||
source: landuse_polygon
|
||||
sql_filter: area>50000.000000
|
||||
tolerance: 50.0
|
||||
tables:
|
||||
landuse_polygon:
|
||||
type: polygon
|
||||
fields:
|
||||
- name: osm_id
|
||||
type: id
|
||||
- name: geometry
|
||||
type: validated_geometry
|
||||
- name: landuse
|
||||
type: mapping_value
|
||||
- name: area
|
||||
type: pseudoarea
|
||||
mapping:
|
||||
amenity:
|
||||
- school
|
||||
- hospital
|
||||
landuse:
|
||||
- railway
|
||||
- cemetry
|
||||
- military
|
|
@ -1,30 +0,0 @@
|
|||
CREATE OR REPLACE VIEW urban_z4 AS (
|
||||
SELECT geom, scalerank
|
||||
FROM ne_50m_urban_areas
|
||||
WHERE scalerank <= 2
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW urban_z5 AS (
|
||||
SELECT geom, scalerank
|
||||
FROM ne_50m_urban_areas
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW urban_z6 AS (
|
||||
SELECT geom, scalerank
|
||||
FROM ne_10m_urban_areas
|
||||
);
|
||||
|
||||
CREATE OR REPLACE FUNCTION layer_urban(bbox geometry, zoom_level int)
|
||||
RETURNS TABLE(geom geometry, scalerank int) AS $$
|
||||
SELECT geom, scalerank FROM (
|
||||
SELECT * FROM urban_z4
|
||||
WHERE zoom_level = 4
|
||||
UNION ALL
|
||||
SELECT * FROM urban_z5
|
||||
WHERE zoom_level = 5
|
||||
UNION ALL
|
||||
SELECT * FROM urban_z6
|
||||
WHERE zoom_level BETWEEN 6 AND 10 AND scalerank-1 <= zoom_level
|
||||
) AS zoom_levels
|
||||
WHERE geom && bbox;
|
||||
$$ LANGUAGE SQL IMMUTABLE;
|
|
@ -1,8 +0,0 @@
|
|||
layer:
|
||||
id: "urban"
|
||||
description: urban
|
||||
buffer_size: 4
|
||||
datasource:
|
||||
query: (SELECT * FROM layer_urban(!bbox!, z(!scale_denominator!))) AS t
|
||||
schema:
|
||||
- ./urban.sql
|
|
@ -7,10 +7,10 @@ tileset:
|
|||
- layers/country/country.yaml
|
||||
- layers/place/place.yaml
|
||||
#- layers/rail/rail.yaml
|
||||
- layers/urban/urban.yaml
|
||||
- layers/water/water.yaml
|
||||
- layers/waterway/waterway.yaml
|
||||
- layers/landcover/landcover.yaml
|
||||
- layers/landuse/landuse.yaml
|
||||
name: OpenMapTiles v1.0
|
||||
description: "A tileset showcasing all layers in OpenMapTiles. http://openmaptiles.org"
|
||||
attribution: "<a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">© OpenStreetMap contributors</a>"
|
||||
|
|
Ładowanie…
Reference in New Issue