add etldoc to layer_place

pull/17/head
ImreSamu 2016-11-10 03:09:43 +01:00
rodzic 5580f42458
commit 7d7ca7f47a
9 zmienionych plików z 70 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,27 @@
DOT=place.dot
echo "digraph G
{
rankdir=LR;
" > $DOT
cat ./layers/place/mapping.yaml | grep "# etldoc:" | sed 's/# etldoc://g' >>$DOT
cat ./layers/place/types.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT
cat ./layers/place/city.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT
cat ./layers/place/country.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT
cat ./layers/place/state.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT
cat ./layers/place/merge_country_rank.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT
cat ./layers/place/merge_city_rank.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT
cat ./layers/place/merge_state_rank.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT
cat ./layers/place/place.sql | grep "\-\- etldoc:" | sed 's/-- etldoc://g' >>$DOT
echo "
}
" >> $DOT
cat $DOT
dot -Tpng $DOT > layer_place_etl.png

Wyświetl plik

@ -1,5 +1,15 @@
-- etldoc: layer_city[shape=record fillcolor=lightpink, style="rounded,filled",
-- etldoc: label="layer_city | <z2> z2 |<z3> z3 |<z4> z4 |<z5> z5| <z6> z6 |<z7> z7 | <z8> z8 |<z9> z9 |<z10> z10 |<z11> z11 |<z12> z12|<z13> z13|<z14_> z14_" ] ;
CREATE OR REPLACE FUNCTION layer_city(bbox geometry, zoom_level int, pixel_width numeric)
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class city_class, "rank" int) AS $$
-- etldoc: osm_city_point -> layer_city:z2
-- etldoc: osm_city_point -> layer_city:z3
-- etldoc: osm_city_point -> layer_city:z4
-- etldoc: osm_city_point -> layer_city:z5
-- etldoc: osm_city_point -> layer_city:z6
-- etldoc: osm_city_point -> layer_city:z7
SELECT osm_id, geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, place AS class, "rank"
FROM osm_city_point
WHERE geometry && bbox
@ -20,6 +30,13 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class c
population DESC NULLS LAST,
length(name) ASC
)::int AS gridrank
-- etldoc: osm_city_point -> layer_city:z8
-- etldoc: osm_city_point -> layer_city:z9
-- etldoc: osm_city_point -> layer_city:z10
-- etldoc: osm_city_point -> layer_city:z11
-- etldoc: osm_city_point -> layer_city:z12
-- etldoc: osm_city_point -> layer_city:z13
-- etldoc: osm_city_point -> layer_city:z14_
FROM osm_city_point
WHERE geometry && bbox
AND ((zoom_level = 8 AND place <= 'town'::city_class)

Wyświetl plik

@ -1,3 +1,5 @@
-- etldoc: osm_country_point -> layer_country
CREATE OR REPLACE FUNCTION layer_country(bbox geometry, zoom_level int)
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, "rank" int) AS $$
SELECT osm_id, geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, "rank" FROM osm_country_point

Wyświetl plik

@ -11,6 +11,8 @@ rank_field: &rank
key: rank
type: integer
tables:
# etldoc: imposm3 -> osm_country_point
country_point:
type: point
fields:
@ -27,6 +29,8 @@ tables:
mapping:
place:
- country
# etldoc: imposm3 -> osm_state_point
state_point:
type: point
fields:
@ -52,6 +56,8 @@ tables:
mapping:
place:
- state
# etldoc: imposm3 -> osm_city_point
city_point:
type: point
fields:

Wyświetl plik

@ -1,3 +1,7 @@
-- etldoc: ne_10m_populated_places -> osm_city_point
-- etldoc: osm_city_point -> osm_city_point
WITH important_city_point AS (
SELECT osm.geometry, osm.osm_id, osm.name, osm.name_en, ne.scalerank, ne.labelrank
FROM ne_10m_populated_places AS ne, osm_city_point AS osm

Wyświetl plik

@ -1,5 +1,8 @@
ALTER TABLE osm_country_point DROP CONSTRAINT IF EXISTS osm_country_point_rank_constraint;
-- etldoc: ne_10m_admin_0_countries -> osm_country_point
-- etldoc: osm_country_point -> osm_country_point
WITH important_country_point AS (
SELECT osm.geometry, osm.osm_id, osm.name, COALESCE(NULLIF(osm.name_en, ''), ne.name) AS name_en, ne.scalerank, ne.labelrank
FROM ne_10m_admin_0_countries AS ne, osm_country_point AS osm

Wyświetl plik

@ -1,5 +1,8 @@
ALTER TABLE osm_state_point DROP CONSTRAINT IF EXISTS osm_state_point_rank_constraint;
-- etldoc: ne_10m_admin_1_states_provinces_shp -> osm_state_point
-- etldoc: osm_state_point -> osm_state_point
WITH important_state_point AS (
SELECT osm.geometry, osm.osm_id, osm.name, COALESCE(NULLIF(osm.name_en, ''), ne.name) AS name_en, ne.scalerank, ne.labelrank, ne.datarank
FROM ne_10m_admin_1_states_provinces_shp AS ne, osm_state_point AS osm

Wyświetl plik

@ -1,3 +1,8 @@
-- etldoc: layer_country -> layer_place
-- etldoc: layer_state -> layer_place
-- etldoc: layer_city -> layer_place
CREATE OR REPLACE FUNCTION layer_place(bbox geometry, zoom_level int, pixel_width numeric)
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, class text, "rank" int) AS $$
SELECT osm_id, geometry, name, name_en, 'country' AS class, "rank" FROM layer_country(bbox, zoom_level)

Wyświetl plik

@ -1,3 +1,6 @@
-- etldoc: osm_state_point -> layer_state
CREATE OR REPLACE FUNCTION layer_state(bbox geometry, zoom_level int)
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, "rank" int) AS $$
SELECT osm_id, geometry, name, COALESCE(NULLIF(name_en, ''), name) AS name_en, "rank"