diff --git a/gen_etl_graph_poi.sh b/gen_etl_graph_poi.sh new file mode 100755 index 0000000..f565ba8 --- /dev/null +++ b/gen_etl_graph_poi.sh @@ -0,0 +1,22 @@ + + +ID=poi +DOT=${ID}.dot + +echo "digraph G +{ +rankdir=LR; +" > $DOT + +cat ./layers/${ID}/mapping.yaml | grep "# etldoc:" | sed 's/# etldoc://g' >>$DOT + +cat ./layers/${ID}/class.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT +cat ./layers/${ID}/layer.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT + +echo " +} +" >> $DOT + +cat $DOT + +dot -Tpng $DOT > layer_${ID}_etl.png diff --git a/layers/poi/layer.sql b/layers/poi/layer.sql index 0a0a603..b82dc41 100644 --- a/layers/poi/layer.sql +++ b/layers/poi/layer.sql @@ -1,3 +1,7 @@ + +-- etldoc: layer_poi[shape=record fillcolor=lightpink, style="rounded,filled", +-- etldoc: label="layer_poi | z14_" ] ; + CREATE OR REPLACE FUNCTION layer_poi(bbox geometry, zoom_level integer, pixel_width numeric) RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class text, subclass text, "rank" int) AS $$ SELECT osm_id, geometry, name, NULLIF(name_en, ''), poi_class(subclass) AS class, subclass, @@ -5,6 +9,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class t PARTITION BY LabelGrid(geometry, 100 * pixel_width) ORDER BY poi_class_rank(poi_class(subclass)) ASC, length(name) DESC )::int AS "rank" + -- etldoc: osm_poi_point -> layer_poi:z14_ FROM osm_poi_point WHERE geometry && bbox AND zoom_level >= 14 diff --git a/layers/poi/mapping.yaml b/layers/poi/mapping.yaml index 71cb792..37c7193 100644 --- a/layers/poi/mapping.yaml +++ b/layers/poi/mapping.yaml @@ -1,4 +1,5 @@ tables: + # etldoc: imposm3 -> osm_poi_point poi_point: type: point fields: