kopia lustrzana https://github.com/openmaptiles/openmaptiles
add etldoc to layer_place
rodzic
5580f42458
commit
7d7ca7f47a
|
@ -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
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"
|
||||
|
|
Ładowanie…
Reference in New Issue