kopia lustrzana https://github.com/openmaptiles/openmaptiles
Simplify park classes
rodzic
624cf7a8a3
commit
1282fb1f90
|
@ -0,0 +1,11 @@
|
||||||
|
CREATE OR REPLACE FUNCTION park_class(boundary text, leisure text, landuse text, historic text)
|
||||||
|
RETURNS text AS
|
||||||
|
$$
|
||||||
|
SELECT CASE
|
||||||
|
WHEN boundary = 'national_park' THEN 'national_park'
|
||||||
|
WHEN leisure = 'nature_reserve' THEN 'nature_reserve'
|
||||||
|
WHEN landuse = 'recreation_ground' THEN 'recreation_ground'
|
||||||
|
WHEN historic <> '' THEN 'historic'
|
||||||
|
ELSE 'nature_reserve' END;
|
||||||
|
$$ LANGUAGE SQL IMMUTABLE
|
||||||
|
PARALLEL SAFE;
|
|
@ -90,8 +90,8 @@ tables:
|
||||||
- name: boundary
|
- name: boundary
|
||||||
key: boundary
|
key: boundary
|
||||||
type: string
|
type: string
|
||||||
- name: protection_title
|
- name: historic
|
||||||
key: protection_title
|
key: historic
|
||||||
type: string
|
type: string
|
||||||
- name: area
|
- name: area
|
||||||
type: area
|
type: area
|
||||||
|
@ -101,3 +101,7 @@ tables:
|
||||||
boundary:
|
boundary:
|
||||||
- national_park
|
- national_park
|
||||||
- protected_area
|
- protected_area
|
||||||
|
historic:
|
||||||
|
- archaeological_site
|
||||||
|
- battlefield
|
||||||
|
- district
|
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 13 KiB Po Szerokość: | Wysokość: | Rozmiar: 19 KiB |
|
@ -26,11 +26,7 @@ SELECT osm_id,
|
||||||
FROM (
|
FROM (
|
||||||
SELECT osm_id,
|
SELECT osm_id,
|
||||||
geometry,
|
geometry,
|
||||||
COALESCE(
|
park_class(boundary, leisure, landuse, historic) AS class,
|
||||||
LOWER(REPLACE(NULLIF(protection_title, ''), ' ', '_')),
|
|
||||||
NULLIF(boundary, ''),
|
|
||||||
NULLIF(leisure, '')
|
|
||||||
) AS class,
|
|
||||||
name,
|
name,
|
||||||
name_en,
|
name_en,
|
||||||
name_de,
|
name_de,
|
||||||
|
@ -45,8 +41,9 @@ FROM (
|
||||||
NULL AS name_de,
|
NULL AS name_de,
|
||||||
NULL AS tags,
|
NULL AS tags,
|
||||||
NULL AS leisure,
|
NULL AS leisure,
|
||||||
|
NULL AS landuse,
|
||||||
NULL AS boundary,
|
NULL AS boundary,
|
||||||
NULL AS protection_title
|
NULL AS historic
|
||||||
FROM osm_park_polygon_dissolve_z4
|
FROM osm_park_polygon_dissolve_z4
|
||||||
WHERE zoom_level = 4
|
WHERE zoom_level = 4
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -59,8 +56,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon_gen_z5
|
FROM osm_park_polygon_gen_z5
|
||||||
WHERE zoom_level = 5
|
WHERE zoom_level = 5
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -73,8 +71,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon_gen_z6
|
FROM osm_park_polygon_gen_z6
|
||||||
WHERE zoom_level = 6
|
WHERE zoom_level = 6
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -87,8 +86,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon_gen_z7
|
FROM osm_park_polygon_gen_z7
|
||||||
WHERE zoom_level = 7
|
WHERE zoom_level = 7
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -101,8 +101,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon_gen_z8
|
FROM osm_park_polygon_gen_z8
|
||||||
WHERE zoom_level = 8
|
WHERE zoom_level = 8
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -115,8 +116,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon_gen_z9
|
FROM osm_park_polygon_gen_z9
|
||||||
WHERE zoom_level = 9
|
WHERE zoom_level = 9
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -129,8 +131,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon_gen_z10
|
FROM osm_park_polygon_gen_z10
|
||||||
WHERE zoom_level = 10
|
WHERE zoom_level = 10
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -143,8 +146,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon_gen_z11
|
FROM osm_park_polygon_gen_z11
|
||||||
WHERE zoom_level = 11
|
WHERE zoom_level = 11
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -157,8 +161,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon_gen_z12
|
FROM osm_park_polygon_gen_z12
|
||||||
WHERE zoom_level = 12
|
WHERE zoom_level = 12
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -171,8 +176,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon_gen_z13
|
FROM osm_park_polygon_gen_z13
|
||||||
WHERE zoom_level = 13
|
WHERE zoom_level = 13
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -185,8 +191,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title
|
historic
|
||||||
FROM osm_park_polygon
|
FROM osm_park_polygon
|
||||||
WHERE zoom_level >= 14
|
WHERE zoom_level >= 14
|
||||||
AND geometry && bbox
|
AND geometry && bbox
|
||||||
|
@ -195,11 +202,7 @@ FROM (
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT osm_id,
|
SELECT osm_id,
|
||||||
geometry_point AS geometry,
|
geometry_point AS geometry,
|
||||||
COALESCE(
|
park_class(boundary, leisure, landuse, historic) AS class,
|
||||||
LOWER(REPLACE(NULLIF(protection_title, ''), ' ', '_')),
|
|
||||||
NULLIF(boundary, ''),
|
|
||||||
NULLIF(leisure, '')
|
|
||||||
) AS class,
|
|
||||||
name,
|
name,
|
||||||
name_en,
|
name_en,
|
||||||
name_de,
|
name_de,
|
||||||
|
@ -220,8 +223,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon_gen_z5
|
FROM osm_park_polygon_gen_z5
|
||||||
WHERE zoom_level = 5
|
WHERE zoom_level = 5
|
||||||
|
@ -237,8 +241,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon_gen_z6
|
FROM osm_park_polygon_gen_z6
|
||||||
WHERE zoom_level = 6
|
WHERE zoom_level = 6
|
||||||
|
@ -254,8 +259,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon_gen_z7
|
FROM osm_park_polygon_gen_z7
|
||||||
WHERE zoom_level = 7
|
WHERE zoom_level = 7
|
||||||
|
@ -271,8 +277,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon_gen_z8
|
FROM osm_park_polygon_gen_z8
|
||||||
WHERE zoom_level = 8
|
WHERE zoom_level = 8
|
||||||
|
@ -288,8 +295,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon_gen_z9
|
FROM osm_park_polygon_gen_z9
|
||||||
WHERE zoom_level = 9
|
WHERE zoom_level = 9
|
||||||
|
@ -305,8 +313,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon_gen_z10
|
FROM osm_park_polygon_gen_z10
|
||||||
WHERE zoom_level = 10
|
WHERE zoom_level = 10
|
||||||
|
@ -322,8 +331,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon_gen_z11
|
FROM osm_park_polygon_gen_z11
|
||||||
WHERE zoom_level = 11
|
WHERE zoom_level = 11
|
||||||
|
@ -339,8 +349,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon_gen_z12
|
FROM osm_park_polygon_gen_z12
|
||||||
WHERE zoom_level = 12
|
WHERE zoom_level = 12
|
||||||
|
@ -356,8 +367,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon_gen_z13
|
FROM osm_park_polygon_gen_z13
|
||||||
WHERE zoom_level = 13
|
WHERE zoom_level = 13
|
||||||
|
@ -373,8 +385,9 @@ FROM (
|
||||||
name_de,
|
name_de,
|
||||||
tags,
|
tags,
|
||||||
leisure,
|
leisure,
|
||||||
|
landuse,
|
||||||
boundary,
|
boundary,
|
||||||
protection_title,
|
historic,
|
||||||
area
|
area
|
||||||
FROM osm_park_polygon
|
FROM osm_park_polygon
|
||||||
WHERE zoom_level >= 14
|
WHERE zoom_level >= 14
|
||||||
|
|
|
@ -4,19 +4,14 @@ layer:
|
||||||
The park layer contains parks from OpenStreetMap tagged with
|
The park layer contains parks from OpenStreetMap tagged with
|
||||||
[`boundary=national_park`](http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dnational_park),
|
[`boundary=national_park`](http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dnational_park),
|
||||||
[`boundary=protected_area`](http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dprotected_area),
|
[`boundary=protected_area`](http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dprotected_area),
|
||||||
or [`leisure=nature_reserve`](http://wiki.openstreetmap.org/wiki/Tag:leisure%3Dnature_reserve).
|
[`leisure=nature_reserve`](http://wiki.openstreetmap.org/wiki/Tag:leisure%3Dnature_reserve),
|
||||||
|
or select values of [`historic=*`](http://wiki.openstreetmap.org/wiki/Key:historic).
|
||||||
buffer_size: 4
|
buffer_size: 4
|
||||||
fields:
|
fields:
|
||||||
class:
|
class:
|
||||||
description: |
|
description: |
|
||||||
Use the **class** to differentiate between different parks.
|
Use the **class** to differentiate between different parks.
|
||||||
The class for `boundary=protected_area` parks is the lower-case of the
|
The class for `boundary=protected_area` parks is one of: `national_park`, `nature_reserve`, `recreation_ground`, or `historic`.
|
||||||
[`protection_title`](http://wiki.openstreetmap.org/wiki/key:protection_title)
|
|
||||||
value with blanks replaced by `_`.
|
|
||||||
`national_park` is the class of `protection_title=National Park` and `boundary=national_park`.
|
|
||||||
`nature_reserve` is the class of `protection_title=Nature Reserve` and `leisure=nature_reserve`.
|
|
||||||
The class for other [`protection_title`](http://wiki.openstreetmap.org/wiki/key:protection_title)
|
|
||||||
values is similarly assigned.
|
|
||||||
name: The OSM [`name`](http://wiki.openstreetmap.org/wiki/Key:name) value of the park (point features only).
|
name: The OSM [`name`](http://wiki.openstreetmap.org/wiki/Key:name) value of the park (point features only).
|
||||||
name_en: English name `name:en` if available, otherwise `name` (point features only).
|
name_en: English name `name:en` if available, otherwise `name` (point features only).
|
||||||
name_de: German name `name:de` if available, otherwise `name` or `name:en` (point features only).
|
name_de: German name `name:de` if available, otherwise `name` or `name:en` (point features only).
|
||||||
|
@ -25,6 +20,7 @@ layer:
|
||||||
geometry_field: geometry
|
geometry_field: geometry
|
||||||
query: (SELECT geometry, class, name, name_en, name_de, {name_languages}, rank FROM layer_park(!bbox!, z(!scale_denominator!), !pixel_width!)) AS t
|
query: (SELECT geometry, class, name, name_en, name_de, {name_languages}, rank FROM layer_park(!bbox!, z(!scale_denominator!), !pixel_width!)) AS t
|
||||||
schema:
|
schema:
|
||||||
|
- ./class.sql
|
||||||
- ./update_park_polygon.sql
|
- ./update_park_polygon.sql
|
||||||
- ./park.sql
|
- ./park.sql
|
||||||
datasources:
|
datasources:
|
||||||
|
|
Ładowanie…
Reference in New Issue