From 598c931e1758e18d7e8d6d25af1921d2a0b7eaf7 Mon Sep 17 00:00:00 2001 From: ImreSamu Date: Wed, 9 Nov 2016 22:06:24 +0100 Subject: [PATCH] boundary ETL graph comments - only sql tables and views --- gen_etl_graph_boundary.sh | 21 +++++++++++++++++++ layers/boundary/boundary.sql | 40 ++++++++++++++++++++++++++++++++++++ layers/boundary/mapping.yaml | 12 +++++++++++ 3 files changed, 73 insertions(+) create mode 100755 gen_etl_graph_boundary.sh diff --git a/gen_etl_graph_boundary.sh b/gen_etl_graph_boundary.sh new file mode 100755 index 0000000..1430eee --- /dev/null +++ b/gen_etl_graph_boundary.sh @@ -0,0 +1,21 @@ + + + + +DOT=boundary.dot + +echo "digraph G +{ +rankdir=LR; +" > $DOT + +cat ./layers/boundary/mapping.yaml | grep "# etldoc:" | sed 's/# etldoc://g' >>$DOT +cat ./layers/boundary/boundary.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT + +echo " +} +" >> $DOT + +cat $DOT + +dot -Tpng $DOT > layer_boundary_etl.png diff --git a/layers/boundary/boundary.sql b/layers/boundary/boundary.sql index 1e77514..f7cd745 100644 --- a/layers/boundary/boundary.sql +++ b/layers/boundary/boundary.sql @@ -1,8 +1,15 @@ + + +-- etldoc: ne_110m_admin_0_boundary_lines_land -> boundary_z0 + CREATE OR REPLACE VIEW boundary_z0 AS ( SELECT geom, 2 AS admin_level FROM ne_110m_admin_0_boundary_lines_land ); +-- etldoc: ne_50m_admin_0_boundary_lines_land -> boundary_z1 +-- etldoc: ne_50m_admin_1_states_provinces_lines -> boundary_z1 + CREATE OR REPLACE VIEW boundary_z1 AS ( SELECT geom, 2 AS admin_level FROM ne_50m_admin_0_boundary_lines_land @@ -12,6 +19,10 @@ CREATE OR REPLACE VIEW boundary_z1 AS ( WHERE scalerank <= 2 ); + +-- etldoc: ne_50m_admin_0_boundary_lines_land -> boundary_z3 +-- etldoc: ne_50m_admin_1_states_provinces_lines -> boundary_z3 + CREATE OR REPLACE VIEW boundary_z3 AS ( SELECT geom, 2 AS admin_level FROM ne_50m_admin_0_boundary_lines_land @@ -20,6 +31,10 @@ CREATE OR REPLACE VIEW boundary_z3 AS ( FROM ne_50m_admin_1_states_provinces_lines ); + +-- etldoc: ne_10m_admin_0_boundary_lines_land -> boundary_z4 +-- etldoc: ne_10m_admin_1_states_provinces_lines_shp -> boundary_z4 + CREATE OR REPLACE VIEW boundary_z4 AS ( SELECT geom, 2 AS admin_level FROM ne_10m_admin_0_boundary_lines_land @@ -29,6 +44,9 @@ CREATE OR REPLACE VIEW boundary_z4 AS ( WHERE scalerank <= 3 AND featurecla = 'Adm-1 boundary' ); +-- etldoc: ne_10m_admin_0_boundary_lines_land -> boundary_z5 +-- etldoc: ne_10m_admin_1_states_provinces_lines_shp -> boundary_z5 + CREATE OR REPLACE VIEW boundary_z5 AS ( SELECT geom, 2 AS admin_level FROM ne_10m_admin_0_boundary_lines_land @@ -38,6 +56,8 @@ CREATE OR REPLACE VIEW boundary_z5 AS ( WHERE scalerank <= 7 AND featurecla = 'Adm-1 boundary' ); +-- etldoc: ne_10m_admin_0_boundary_lines_land -> boundary_z7 +-- etldoc: ne_10m_admin_1_states_provinces_lines_shp -> boundary_z7 CREATE OR REPLACE VIEW boundary_z7 AS ( SELECT geom, 2 AS admin_level FROM ne_10m_admin_0_boundary_lines_land @@ -48,60 +68,80 @@ CREATE OR REPLACE VIEW boundary_z7 AS ( ); +-- etldoc: osm_boundary_linestring_gen5 -> boundary_z8 CREATE OR REPLACE VIEW boundary_z8 AS ( SELECT geometry AS geom, admin_level FROM osm_boundary_linestring_gen5 WHERE admin_level <= 4 AND ST_Length(geometry) > 1000 ); +-- etldoc: osm_boundary_linestring_gen4 -> boundary_z9 CREATE OR REPLACE VIEW boundary_z9 AS ( SELECT geometry AS geom, admin_level FROM osm_boundary_linestring_gen4 WHERE admin_level <= 6 ); +-- etldoc: osm_boundary_linestring_gen3 -> boundary_z10 CREATE OR REPLACE VIEW boundary_z10 AS ( SELECT geometry AS geom, admin_level FROM osm_boundary_linestring_gen3 WHERE admin_level <= 6 ); +-- etldoc: osm_boundary_linestring_gen2 -> boundary_z11 CREATE OR REPLACE VIEW boundary_z11 AS ( SELECT geometry AS geom, admin_level FROM osm_boundary_linestring_gen2 WHERE admin_level <= 8 ); +-- etldoc: osm_boundary_linestring_gen1 -> boundary_z12 CREATE OR REPLACE VIEW boundary_z12 AS ( SELECT geometry AS geom, admin_level FROM osm_boundary_linestring_gen1 ); +-- etldoc: layer_boundary[shape=record fillcolor=lightpink, style="rounded,filled", +-- etldoc: label=" layer_boundary | z0 | z1_2 | z3 | z4 | z5_6 | z7 | z8 | z9 | z10 | z11 | z12| z13_ " ] + CREATE OR REPLACE FUNCTION layer_boundary (bbox geometry, zoom_level int) RETURNS TABLE(geometry geometry, admin_level int) AS $$ SELECT geom, admin_level FROM ( + -- etldoc: boundary_z0 -> layer_boundary:z0 SELECT * FROM boundary_z0 WHERE geom && bbox AND zoom_level = 0 UNION ALL + -- etldoc: boundary_z1 -> layer_boundary:z1_2 SELECT * FROM boundary_z1 WHERE geom && bbox AND zoom_level BETWEEN 1 AND 2 UNION ALL + -- etldoc: boundary_z3 -> layer_boundary:z3 SELECT * FROM boundary_z3 WHERE geom && bbox AND zoom_level = 3 UNION ALL + -- etldoc: boundary_z4 -> layer_boundary:z4 SELECT * FROM boundary_z4 WHERE geom && bbox AND zoom_level = 4 UNION ALL + -- etldoc: boundary_z5 -> layer_boundary:z5_6 SELECT * FROM boundary_z5 WHERE geom && bbox AND zoom_level BETWEEN 5 AND 6 UNION ALL + -- etldoc: boundary_z7 -> layer_boundary:z7 SELECT * FROM boundary_z7 WHERE geom && bbox AND zoom_level = 7 UNION ALL + -- etldoc: boundary_z8 -> layer_boundary:z8 SELECT * FROM boundary_z8 WHERE geom && bbox AND zoom_level = 8 UNION ALL + -- etldoc: boundary_z9 -> layer_boundary:z9 SELECT * FROM boundary_z9 WHERE geom && bbox AND zoom_level = 9 UNION ALL + -- etldoc: boundary_z10 -> layer_boundary:z10 SELECT * FROM boundary_z10 WHERE geom && bbox AND zoom_level = 10 UNION ALL + -- etldoc: boundary_z11 -> layer_boundary:z11 SELECT * FROM boundary_z11 WHERE geom && bbox AND zoom_level = 11 UNION ALL + -- etldoc: boundary_z12 -> layer_boundary:z12 SELECT * FROM boundary_z12 WHERE geom && bbox AND zoom_level = 12 UNION ALL + -- etldoc: boundary_z12 -> layer_boundary:z13_ SELECT * FROM boundary_z12 WHERE geom && bbox AND zoom_level >= 13 ) AS zoom_levels; $$ LANGUAGE SQL IMMUTABLE; diff --git a/layers/boundary/mapping.yaml b/layers/boundary/mapping.yaml index a6330c7..6223c54 100644 --- a/layers/boundary/mapping.yaml +++ b/layers/boundary/mapping.yaml @@ -1,20 +1,32 @@ generalized_tables: + + # etldoc: imposm3 -> osm_boundary_linestring_gen5 boundary_linestring_gen5: source: boundary_linestring tolerance: 420.0 + + # etldoc: imposm3 -> osm_boundary_linestring_gen4 boundary_linestring_gen4: source: boundary_linestring tolerance: 320.0 + + # etldoc: imposm3 -> osm_boundary_linestring_gen3 boundary_linestring_gen3: source: boundary_linestring tolerance: 150.0 + + # etldoc: imposm3 -> osm_boundary_linestring_gen2 boundary_linestring_gen2: source: boundary_linestring tolerance: 100.0 + + # etldoc: imposm3 -> osm_boundary_linestring_gen1 boundary_linestring_gen1: source: boundary_linestring tolerance: 50.0 + tables: + # etldoc: imposm3 -> osm_boundary_linestring boundary_linestring: fields: - name: osm_id