Uncomitted changes
This commit is contained in:
parent
7a239b66cf
commit
d5e05f07d4
14
europe.sh
14
europe.sh
@ -1,4 +1,8 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
#area=europe
|
||||||
|
area=planet
|
||||||
|
|
||||||
make refresh-docker-images
|
make refresh-docker-images
|
||||||
|
|
||||||
# Show mem info
|
# Show mem info
|
||||||
@ -14,7 +18,7 @@ make init-dirs
|
|||||||
|
|
||||||
# rm -f "./data/${area}.mbtiles"
|
# rm -f "./data/${area}.mbtiles"
|
||||||
#echo "====> : Downloading ${area} from ${osm_server:-any source}..."
|
#echo "====> : Downloading ${area} from ${osm_server:-any source}..."
|
||||||
#make "download${osm_server:+-${osm_server}}"
|
#area=$area make "download${osm_server:+-${osm_server}}"
|
||||||
|
|
||||||
make clean
|
make clean
|
||||||
make all
|
make all
|
||||||
@ -30,9 +34,9 @@ make import-data
|
|||||||
# [May 21 09:45:15] [INFO] Importing OSM data took: 52m21.813870474s
|
# [May 21 09:45:15] [INFO] Importing OSM data took: 52m21.813870474s
|
||||||
# [May 21 09:45:15] [INFO] [PostGIS] Rotating tables took: 38.69062ms
|
# [May 21 09:45:15] [INFO] [PostGIS] Rotating tables took: 38.69062ms
|
||||||
# [May 21 09:45:15] [INFO] Imposm took: 1h14m30.893125729s
|
# [May 21 09:45:15] [INFO] Imposm took: 1h14m30.893125729s
|
||||||
make import-osm area=europe
|
make import-osm area=$area
|
||||||
|
|
||||||
make import-borders area=europe
|
make import-borders area=$area
|
||||||
|
|
||||||
|
|
||||||
make import-wikidata
|
make import-wikidata
|
||||||
@ -82,8 +86,8 @@ make test-perf-null
|
|||||||
##echo " : "
|
##echo " : "
|
||||||
##echo " : You will see a lot of deprecated warning in the log! This is normal! "
|
##echo " : You will see a lot of deprecated warning in the log! This is normal! "
|
||||||
##echo " : like : Mapnik LOG> ... is deprecated and will be removed in Mapnik 4.x ... "
|
##echo " : like : Mapnik LOG> ... is deprecated and will be removed in Mapnik 4.x ... "
|
||||||
#make generate-tiles area=europe
|
make generate-tiles area=europe
|
||||||
#
|
#OVERLAY
|
||||||
##
|
##
|
||||||
##echo " "
|
##echo " "
|
||||||
##echo "-------------------------------------------------------------------------------------"
|
##echo "-------------------------------------------------------------------------------------"
|
||||||
|
|||||||
@ -139,6 +139,18 @@ tables:
|
|||||||
- key: name
|
- key: name
|
||||||
name: name
|
name: name
|
||||||
type: string
|
type: string
|
||||||
|
- name: name_en
|
||||||
|
key: name:en
|
||||||
|
type: string
|
||||||
|
- name: name_nl
|
||||||
|
key: name:nl
|
||||||
|
type: string
|
||||||
|
- name: name_de
|
||||||
|
key: name:de
|
||||||
|
type: string
|
||||||
|
- name: name_fr
|
||||||
|
key: name:fr
|
||||||
|
type: string
|
||||||
- key: boundary
|
- key: boundary
|
||||||
name: boundary
|
name: boundary
|
||||||
type: string
|
type: string
|
||||||
@ -189,6 +201,9 @@ tables:
|
|||||||
- key: admin_level
|
- key: admin_level
|
||||||
name: admin_level
|
name: admin_level
|
||||||
type: integer
|
type: integer
|
||||||
|
- key: maritime
|
||||||
|
name: maritime
|
||||||
|
type: bool
|
||||||
mapping:
|
mapping:
|
||||||
boundary: [ 'administrative' ]
|
boundary: [ 'administrative' ]
|
||||||
filters:
|
filters:
|
||||||
|
|||||||
@ -15,33 +15,24 @@ $$ LANGUAGE plpgsql;
|
|||||||
DROP MATERIALIZED VIEW IF EXISTS osm_boundary_polygon CASCADE;
|
DROP MATERIALIZED VIEW IF EXISTS osm_boundary_polygon CASCADE;
|
||||||
CREATE MATERIALIZED VIEW osm_boundary_polygon AS
|
CREATE MATERIALIZED VIEW osm_boundary_polygon AS
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT r.osm_id as relation_id,
|
||||||
r.relation_id,
|
|
||||||
r.name,
|
r.name,
|
||||||
CASE
|
r.name_en,
|
||||||
WHEN r.admin_level = 10 THEN 6
|
r.name_nl,
|
||||||
WHEN r.admin_level = 9 THEN 5
|
r.name_de,
|
||||||
WHEN r.admin_level = 8 THEN 4
|
r.name_fr,
|
||||||
WHEN r.admin_level = 7 THEN 3
|
r.admin_level,
|
||||||
WHEN r.admin_level = 6 THEN 2
|
|
||||||
WHEN r.admin_level = 4 THEN 1
|
|
||||||
-- No admin_level =3?
|
|
||||||
WHEN r.admin_level = 2 THEN 0
|
|
||||||
ELSE null
|
|
||||||
END as nuts_level,
|
|
||||||
p.geometry
|
p.geometry
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT relation_id,
|
||||||
relation_id,
|
ST_BuildArea(ST_Node(ST_Collect(geometry))) as geometry
|
||||||
ST_BuildArea(ST_Node(ST_Collect(geometry))) as geometry,
|
|
||||||
min(id) as minid -- Used just to join to one relation, could've also used subquery with LIMIT 1
|
|
||||||
FROM osm_border_disp_relation
|
FROM osm_border_disp_relation
|
||||||
WHERE (role = 'outer' or role = 'inner')
|
WHERE (role = 'outer' or role = 'inner')
|
||||||
AND ST_GeometryType(geometry)='ST_LineString'
|
AND ST_GeometryType(geometry) = 'ST_LineString'
|
||||||
GROUP BY relation_id
|
GROUP BY relation_id
|
||||||
) as p
|
) as p
|
||||||
LEFT JOIN osm_border_disp_relation as r on p.minid = r.id
|
LEFT JOIN osm_administrative_relation as r on r.osm_id = p.relation_id
|
||||||
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
|
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
|
||||||
CREATE INDEX IF NOT EXISTS osm_boundary_polygon_idx ON osm_boundary_polygon USING gist (geometry);
|
CREATE INDEX IF NOT EXISTS osm_boundary_polygon_idx ON osm_boundary_polygon USING gist (geometry);
|
||||||
|
|
||||||
|
|
||||||
@ -49,22 +40,21 @@ CREATE INDEX IF NOT EXISTS osm_boundary_polygon_idx ON osm_boundary_polygon USIN
|
|||||||
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen_z13
|
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen_z13
|
||||||
DROP MATERIALIZED VIEW IF EXISTS osm_boundary_linestring CASCADE;
|
DROP MATERIALIZED VIEW IF EXISTS osm_boundary_linestring CASCADE;
|
||||||
CREATE MATERIALIZED VIEW osm_boundary_linestring AS
|
CREATE MATERIALIZED VIEW osm_boundary_linestring AS
|
||||||
SELECT
|
SELECT osm_id,
|
||||||
osm_id,
|
|
||||||
geometry,
|
geometry,
|
||||||
nuts_level,
|
nuts_level,
|
||||||
nuts->>'l_nuts_0_name' as l_nuts_0_name,
|
nuts ->> 'l_nuts_0_name' as l_nuts_0_name,
|
||||||
nuts->>'l_nuts_1_name' as l_nuts_1_name,
|
nuts ->> 'l_nuts_1_name' as l_nuts_1_name,
|
||||||
nuts->>'l_nuts_2_name' as l_nuts_2_name,
|
nuts ->> 'l_nuts_2_name' as l_nuts_2_name,
|
||||||
nuts->>'l_nuts_3_name' as l_nuts_3_name,
|
nuts ->> 'l_nuts_3_name' as l_nuts_3_name,
|
||||||
nuts->>'l_nuts_4_name' as l_nuts_4_name,
|
nuts ->> 'l_nuts_4_name' as l_nuts_4_name,
|
||||||
nuts->>'l_nuts_5_name' as l_nuts_5_name,
|
nuts ->> 'l_nuts_5_name' as l_nuts_5_name,
|
||||||
nuts->>'r_nuts_0_name' as r_nuts_0_name,
|
nuts ->> 'r_nuts_0_name' as r_nuts_0_name,
|
||||||
nuts->>'r_nuts_1_name' as r_nuts_1_name,
|
nuts ->> 'r_nuts_1_name' as r_nuts_1_name,
|
||||||
nuts->>'r_nuts_2_name' as r_nuts_2_name,
|
nuts ->> 'r_nuts_2_name' as r_nuts_2_name,
|
||||||
nuts->>'r_nuts_3_name' as r_nuts_3_name,
|
nuts ->> 'r_nuts_3_name' as r_nuts_3_name,
|
||||||
nuts->>'r_nuts_4_name' as r_nuts_4_name,
|
nuts ->> 'r_nuts_4_name' as r_nuts_4_name,
|
||||||
nuts->>'r_nuts_5_name' as r_nuts_5_name
|
nuts ->> 'r_nuts_5_name' as r_nuts_5_name
|
||||||
-- Shouldnt be needed for the map
|
-- Shouldnt be needed for the map
|
||||||
-- nuts->'l_nuts_1_id' as l_nuts_1_id,
|
-- nuts->'l_nuts_1_id' as l_nuts_1_id,
|
||||||
-- nuts->'l_nuts_2_id' as l_nuts_2_id,
|
-- nuts->'l_nuts_2_id' as l_nuts_2_id,
|
||||||
@ -77,8 +67,7 @@ SELECT
|
|||||||
-- nuts->'r_nuts_4_id' as r_nuts_4_id,
|
-- nuts->'r_nuts_4_id' as r_nuts_4_id,
|
||||||
-- nuts->'r_nuts_5_id' as r_nuts_5_id
|
-- nuts->'r_nuts_5_id' as r_nuts_5_id
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT osm_id,
|
||||||
osm_id,
|
|
||||||
geometry,
|
geometry,
|
||||||
MIN(nuts_level) as nuts_level,
|
MIN(nuts_level) as nuts_level,
|
||||||
jsonb_object_agg(
|
jsonb_object_agg(
|
||||||
@ -88,20 +77,28 @@ FROM (
|
|||||||
CONCAT(side, '_nuts_', nuts_level, '_id'), -relation_id
|
CONCAT(side, '_nuts_', nuts_level, '_id'), -relation_id
|
||||||
) as nuts
|
) as nuts
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT b.osm_id,
|
||||||
b.*,
|
b.geometry,
|
||||||
m.maritime,
|
CASE
|
||||||
m.index,
|
WHEN r.admin_level = 10 THEN 6
|
||||||
m.role,
|
WHEN r.admin_level = 9 THEN 5
|
||||||
m.admin_level,
|
WHEN r.admin_level = 8 THEN 4
|
||||||
r.nuts_level,
|
WHEN r.admin_level = 7 THEN 3
|
||||||
r.name,
|
WHEN r.admin_level = 6 THEN 2
|
||||||
|
WHEN r.admin_level = 4 THEN 1
|
||||||
|
-- No admin_level =3?
|
||||||
|
WHEN r.admin_level = 2 THEN 0
|
||||||
|
-- All other are stored as low priority NUTS, for future reference
|
||||||
|
ELSE 1000 + r.admin_level
|
||||||
|
END as nuts_level,
|
||||||
|
COALESCE(NULLIF(r.name_en,''), NULLIF(r.name,''), NULL) as name,
|
||||||
r.relation_id,
|
r.relation_id,
|
||||||
CASE
|
CASE
|
||||||
WHEN
|
WHEN
|
||||||
ST_Within(
|
ST_Within(
|
||||||
ST_OffsetCurve(
|
ST_OffsetCurve(
|
||||||
(ST_LineSubString(b.geometry, 0.499,0.501)), 10, 'quad_segs=4 join=mitre'
|
(ST_LineSubString(b.geometry, 0.499, 0.501)), 10,
|
||||||
|
'quad_segs=4 join=mitre'
|
||||||
),
|
),
|
||||||
r.geometry
|
r.geometry
|
||||||
)
|
)
|
||||||
@ -109,16 +106,15 @@ FROM (
|
|||||||
WHEN
|
WHEN
|
||||||
ST_Within(
|
ST_Within(
|
||||||
ST_OffsetCurve(
|
ST_OffsetCurve(
|
||||||
(ST_LineSubString(b.geometry, 0.499,0.501)), -10, 'quad_segs=4 join=mitre'
|
(ST_LineSubString(b.geometry, 0.499, 0.501)), -10,
|
||||||
|
'quad_segs=4 join=mitre'
|
||||||
),
|
),
|
||||||
r.geometry
|
r.geometry
|
||||||
)
|
)
|
||||||
THEN 'l'
|
THEN 'l'
|
||||||
ELSE 'unknown' -- TODO: Debug if this ever happens, if so our method isn't fool proof
|
ELSE 'unknown' -- TODO: Debug if this ever happens, if so our method isn't fool proof
|
||||||
END as side,
|
END as side
|
||||||
r.geometry as relation
|
FROM osm_administrative_boundary as b
|
||||||
FROM
|
|
||||||
osm_administrative_boundary as b
|
|
||||||
INNER JOIN osm_administrative_member as m
|
INNER JOIN osm_administrative_member as m
|
||||||
ON b.osm_id = m.boundary_id
|
ON b.osm_id = m.boundary_id
|
||||||
INNER JOIN osm_boundary_polygon as r
|
INNER JOIN osm_boundary_polygon as r
|
||||||
@ -151,8 +147,7 @@ CREATE OR REPLACE FUNCTION layer_nuts(bbox geometry, zoom_level int)
|
|||||||
)
|
)
|
||||||
AS
|
AS
|
||||||
$$
|
$$
|
||||||
SELECT
|
SELECT geometry,
|
||||||
geometry,
|
|
||||||
nuts_level,
|
nuts_level,
|
||||||
l_nuts_0_name,
|
l_nuts_0_name,
|
||||||
l_nuts_1_name,
|
l_nuts_1_name,
|
||||||
@ -169,14 +164,30 @@ SELECT
|
|||||||
FROM osm_boundary_linestring
|
FROM osm_boundary_linestring
|
||||||
WHERE geometry && bbox
|
WHERE geometry && bbox
|
||||||
AND zoom_level >
|
AND zoom_level >
|
||||||
( CASE
|
(CASE
|
||||||
WHEN nuts_level=0 THEN 2
|
WHEN nuts_level = 0 THEN 2
|
||||||
WHEN nuts_level=1 THEN 4
|
WHEN nuts_level = 1 THEN 4
|
||||||
WHEN nuts_level=2 THEN 6
|
WHEN nuts_level = 2 THEN 6
|
||||||
WHEN nuts_level=3 THEN 6
|
WHEN nuts_level = 3 THEN 6
|
||||||
WHEN nuts_level=4 THEN 8
|
WHEN nuts_level = 4 THEN 8
|
||||||
WHEN nuts_level=5 THEN 10
|
WHEN nuts_level = 5 THEN 10
|
||||||
END )
|
END)
|
||||||
$$ LANGUAGE SQL STABLE
|
$$ LANGUAGE SQL STABLE
|
||||||
-- STRICT
|
-- STRICT
|
||||||
PARALLEL SAFE;
|
PARALLEL SAFE;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
r.name,
|
||||||
|
CASE
|
||||||
|
WHEN r.admin_level = 10 THEN 6
|
||||||
|
WHEN r.admin_level = 9 THEN 5
|
||||||
|
WHEN r.admin_level = 8 THEN 4
|
||||||
|
WHEN r.admin_level = 7 THEN 3
|
||||||
|
WHEN r.admin_level = 6 THEN 2
|
||||||
|
WHEN r.admin_level = 4 THEN 1
|
||||||
|
-- No admin_level =3?
|
||||||
|
WHEN r.admin_level = 2 THEN 0
|
||||||
|
ELSE null
|
||||||
|
END as nuts_level,
|
||||||
|
*/
|
||||||
|
|||||||
@ -1,23 +1,23 @@
|
|||||||
tileset:
|
tileset:
|
||||||
layers:
|
layers:
|
||||||
# - layers/water/water.yaml
|
- layers/water/water.yaml
|
||||||
# - layers/waterway/waterway.yaml
|
- layers/waterway/waterway.yaml
|
||||||
# - layers/landcover/landcover.yaml
|
- layers/landcover/landcover.yaml
|
||||||
# - layers/landuse/landuse.yaml
|
- layers/landuse/landuse.yaml
|
||||||
# - layers/mountain_peak/mountain_peak.yaml
|
- layers/mountain_peak/mountain_peak.yaml
|
||||||
# - layers/park/park.yaml
|
- layers/park/park.yaml
|
||||||
- layers/boundary/boundary.yaml
|
- layers/boundary/boundary.yaml
|
||||||
- layers/boundary/nuts.yaml
|
- layers/boundary/nuts.yaml
|
||||||
# - layers/aeroway/aeroway.yaml
|
- layers/aeroway/aeroway.yaml
|
||||||
# - layers/transportation/transportation.yaml
|
- layers/transportation/transportation.yaml
|
||||||
# - layers/building/building.yaml
|
- layers/building/building.yaml
|
||||||
# - layers/water_name/water_name.yaml
|
- layers/water_name/water_name.yaml
|
||||||
# - layers/transportation_name/transportation_name.yaml
|
- layers/transportation_name/transportation_name.yaml
|
||||||
# - layers/place/place.yaml
|
- layers/place/place.yaml
|
||||||
# - layers/housenumber/housenumber.yaml
|
- layers/housenumber/housenumber.yaml
|
||||||
# - layers/poi/poi.yaml
|
- layers/poi/poi.yaml
|
||||||
# - layers/landmarks/landmark.yaml
|
- layers/landmarks/landmark.yaml
|
||||||
# - layers/aerodrome_label/aerodrome_label.yaml
|
- layers/aerodrome_label/aerodrome_label.yaml
|
||||||
name: OpenMapTiles
|
name: OpenMapTiles
|
||||||
version: 3.12.1
|
version: 3.12.1
|
||||||
id: openmaptiles
|
id: openmaptiles
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user