From e8dd584f22d53a18d0b3d27c6ace73c96e7c8fd2 Mon Sep 17 00:00:00 2001 From: Luc Claustres Date: Mon, 25 Sep 2017 13:47:19 +0200 Subject: [PATCH] Added the OSM [`ref`](http://wiki.openstreetmap.org/wiki/Key:ref) tag of the runway/taxiway so that they can be displayed in styles. --- layers/aeroway/aeroway.yaml | 3 ++- layers/aeroway/layer.sql | 12 ++++++------ layers/aeroway/mapping.yaml | 8 ++++++++ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/layers/aeroway/aeroway.yaml b/layers/aeroway/aeroway.yaml index 66d7ff4..e2f0b36 100644 --- a/layers/aeroway/aeroway.yaml +++ b/layers/aeroway/aeroway.yaml @@ -6,6 +6,7 @@ layer: other airport related polygons can be found in the **aeroway** layer. buffer_size: 4 fields: + ref: The OSM [`ref`](http://wiki.openstreetmap.org/wiki/Key:ref) tag of the runway/taxiway. class: description: | The original value of the [`aeroway`](http://wiki.openstreetmap.org/wiki/Key:aeroway) tag. @@ -18,7 +19,7 @@ layer: - apron datasource: geometry_field: geometry - query: (SELECT geometry, class FROM layer_aeroway(!bbox!, z(!scale_denominator!))) AS t + query: (SELECT geometry, ref, class FROM layer_aeroway(!bbox!, z(!scale_denominator!))) AS t schema: - ./layer.sql datasources: diff --git a/layers/aeroway/layer.sql b/layers/aeroway/layer.sql index ef42b73..9ca030f 100644 --- a/layers/aeroway/layer.sql +++ b/layers/aeroway/layer.sql @@ -2,25 +2,25 @@ -- etldoc: label="layer_aeroway | z11| z12| z13| z14+" ]; CREATE OR REPLACE FUNCTION layer_aeroway(bbox geometry, zoom_level int) -RETURNS TABLE(geometry geometry, class text) AS $$ - SELECT geometry, aeroway AS class FROM ( +RETURNS TABLE(geometry geometry, class text, ref text) AS $$ + SELECT geometry, aeroway AS class, ref FROM ( -- etldoc: osm_aeroway_linestring -> layer_aeroway:z11 -- etldoc: osm_aeroway_linestring -> layer_aeroway:z12 -- etldoc: osm_aeroway_linestring -> layer_aeroway:z13 -- etldoc: osm_aeroway_linestring -> layer_aeroway:z14_ - SELECT geometry, aeroway + SELECT geometry, aeroway, ref FROM osm_aeroway_linestring WHERE zoom_level >= 11 UNION ALL -- etldoc: osm_aeroway_polygon_gen2 -> layer_aeroway:z12 - SELECT geometry, aeroway + SELECT geometry, aeroway, ref FROM osm_aeroway_polygon_gen2 WHERE zoom_level = 12 UNION ALL -- etldoc: osm_aeroway_polygon_gen1 -> layer_aeroway:z13 - SELECT geometry, aeroway + SELECT geometry, aeroway, ref FROM osm_aeroway_polygon_gen1 WHERE zoom_level = 13 UNION ALL -- etldoc: osm_aeroway_polygon -> layer_aeroway:z14_ - SELECT geometry, aeroway + SELECT geometry, aeroway, ref FROM osm_aeroway_polygon WHERE zoom_level >= 14 ) AS zoom_levels WHERE geometry && bbox; diff --git a/layers/aeroway/mapping.yaml b/layers/aeroway/mapping.yaml index 72f0b72..724b1eb 100644 --- a/layers/aeroway/mapping.yaml +++ b/layers/aeroway/mapping.yaml @@ -16,11 +16,18 @@ generalized_tables: source: aeroway_polygon sql_filter: area>power(ZRES12,2) tolerance: ZRES13 + +ref_field: &ref + key: ref + name: ref + type: string + tables: # etldoc: imposm3 -> osm_aeroway_polygon aeroway_polygon: type: polygon fields: + - *ref - name: osm_id type: id - name: geometry @@ -45,6 +52,7 @@ tables: aeroway_linestring: type: linestring fields: + - *ref - name: osm_id type: id - name: geometry