From 36d7fa62277bef4a8c7b2356284b647897a16f33 Mon Sep 17 00:00:00 2001 From: ImreSamu Date: Thu, 10 Nov 2016 13:24:18 +0100 Subject: [PATCH] add etldoc to layer_railway --- gen_etl_graph_railway.sh | 22 ++++++++++++++++++++++ layers/railway/mapping.yaml | 1 + layers/railway/railway.sql | 5 +++++ 3 files changed, 28 insertions(+) create mode 100755 gen_etl_graph_railway.sh diff --git a/gen_etl_graph_railway.sh b/gen_etl_graph_railway.sh new file mode 100755 index 0000000..9d82d8b --- /dev/null +++ b/gen_etl_graph_railway.sh @@ -0,0 +1,22 @@ + + +ID=railway +DOT=${ID}.dot + +echo "digraph G +{ +rankdir=LR; +" > $DOT + +cat ./layers/${ID}/mapping.yaml | grep "# etldoc:" | sed 's/# etldoc://g' >>$DOT + +cat ./layers/${ID}/types.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT +cat ./layers/${ID}/railway.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT + +echo " +} +" >> $DOT + +cat $DOT + +dot -Tpng $DOT > layer_${ID}_etl.png diff --git a/layers/railway/mapping.yaml b/layers/railway/mapping.yaml index 6abb3d2..2d21cf2 100644 --- a/layers/railway/mapping.yaml +++ b/layers/railway/mapping.yaml @@ -1,4 +1,5 @@ tables: + # etldoc: imposm3 -> osm_railway_linestring railway_linestring: type: linestring fields: diff --git a/layers/railway/railway.sql b/layers/railway/railway.sql index 3d1e77c..7902211 100644 --- a/layers/railway/railway.sql +++ b/layers/railway/railway.sql @@ -13,6 +13,9 @@ CREATE OR REPLACE FUNCTION railway_brunnel(is_bridge boolean, is_tunnel boolean) END; $$ LANGUAGE SQL IMMUTABLE; +-- etldoc: layer_railway[shape=record fillcolor=lightpink, style="rounded,filled", +-- etldoc: label="layer_railway | z13 | z14_" ] ; + CREATE OR REPLACE FUNCTION layer_railway(bbox geometry, zoom_level int) RETURNS TABLE(osm_id bigint, geometry geometry, class text, subclass text, properties railway_properties) AS $$ SELECT osm_id, geometry, @@ -20,9 +23,11 @@ RETURNS TABLE(osm_id bigint, geometry geometry, class text, subclass text, prope railway AS subclass, to_railway_properties(is_bridge, is_tunnel) AS properties FROM ( + -- etldoc: osm_railway_linestring -> layer_railway :z13 SELECT * FROM osm_railway_linestring WHERE zoom_level = 13 AND railway = 'rail' AND service='' UNION ALL + -- etldoc: osm_railway_linestring -> layer_railway :z14_ SELECT * FROM osm_railway_linestring WHERE zoom_level >= 14 ) AS zoom_levels WHERE geometry && bbox