kopia lustrzana https://github.com/openmaptiles/openmaptiles
Waterway zoomlevel 6 - 8 corresponding with water (#1291)
This PR is solving https://github.com/openmaptiles/openmaptiles/issues/406, partially also https://github.com/openmaptiles/openmaptiles/issues/320. It is changing source of data for zoomlevel 6 - 8 in `waterway` layer to OSM (relation `waterway = river`), this way it corresponds with `water` layer. Testing on Europe, z0 - z9 tiles increase size from 20.7 MB to 21.4 MB. We can discuss the level of generalization, but I think this size change is not critical.pull/1294/head^2
rodzic
1be440404b
commit
26cfe69a9c
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 249 KiB Po Szerokość: | Wysokość: | Rozmiar: 225 KiB |
|
@ -42,3 +42,26 @@ tables:
|
|||
- canal
|
||||
- drain
|
||||
- ditch
|
||||
|
||||
# etldoc: imposm3 -> osm_waterway_relation
|
||||
waterway_relation:
|
||||
type: relation_member
|
||||
columns:
|
||||
- name: osm_id
|
||||
type: id
|
||||
- name: member
|
||||
type: member_id
|
||||
- name: role
|
||||
type: member_role
|
||||
- name: geometry
|
||||
type: geometry
|
||||
- key: waterway
|
||||
name: waterway
|
||||
type: string
|
||||
- key: name
|
||||
name: name
|
||||
type: string
|
||||
- name: tags
|
||||
type: hstore_tags
|
||||
mapping:
|
||||
waterway: [river]
|
||||
|
|
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 8.0 KiB Po Szerokość: | Wysokość: | Rozmiar: 12 KiB |
|
@ -62,30 +62,43 @@ FROM ne_50m_rivers_lake_centerlines_gen_z5
|
|||
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
|
||||
CREATE INDEX IF NOT EXISTS ne_50m_rivers_lake_centerlines_gen_z4_idx ON ne_50m_rivers_lake_centerlines_gen_z4 USING gist (geometry);
|
||||
|
||||
-- ne_10m_rivers_lake_centerlines
|
||||
-- etldoc: ne_10m_rivers_lake_centerlines -> ne_10m_rivers_lake_centerlines_gen_z8
|
||||
DROP MATERIALIZED VIEW IF EXISTS ne_10m_rivers_lake_centerlines_gen_z8 CASCADE;
|
||||
CREATE MATERIALIZED VIEW ne_10m_rivers_lake_centerlines_gen_z8 AS
|
||||
(
|
||||
SELECT ST_Simplify(geometry, ZRes(10)) as geometry,
|
||||
-- osm_waterway_relation
|
||||
-- etldoc: osm_waterway_relation -> waterway_relation
|
||||
DROP TABLE IF EXISTS waterway_relation CASCADE;
|
||||
CREATE TABLE waterway_relation AS (
|
||||
SELECT ST_Union(geometry) AS geometry,
|
||||
name,
|
||||
slice_language_tags(tags) AS tags
|
||||
FROM osm_waterway_relation
|
||||
WHERE name <> ''
|
||||
AND (role = 'main_stream' OR role = '')
|
||||
AND ST_GeometryType(geometry) = 'ST_LineString'
|
||||
AND ST_IsClosed(geometry) = FALSE
|
||||
GROUP BY name, slice_language_tags(tags)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS waterway_relation_geometry_idx ON waterway_relation USING gist (geometry);
|
||||
|
||||
-- etldoc: waterway_relation -> waterway_relation_gen_z8
|
||||
DROP MATERIALIZED VIEW IF EXISTS waterway_relation_gen_z8 CASCADE;
|
||||
CREATE MATERIALIZED VIEW waterway_relation_gen_z8 AS (
|
||||
SELECT ST_Simplify(geometry, ZRes(10)) AS geometry,
|
||||
'river'::text AS class,
|
||||
NULL::text AS name,
|
||||
name,
|
||||
NULL::text AS name_en,
|
||||
NULL::text AS name_de,
|
||||
NULL::hstore AS tags,
|
||||
tags,
|
||||
NULL::boolean AS is_bridge,
|
||||
NULL::boolean AS is_tunnel,
|
||||
NULL::boolean AS is_intermittent
|
||||
FROM ne_10m_rivers_lake_centerlines
|
||||
WHERE featurecla = 'River'
|
||||
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
|
||||
CREATE INDEX IF NOT EXISTS ne_10m_rivers_lake_centerlines_gen_z8_idx ON ne_10m_rivers_lake_centerlines_gen_z8 USING gist (geometry);
|
||||
FROM waterway_relation
|
||||
WHERE ST_Length(geometry) > 300000
|
||||
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
|
||||
CREATE INDEX IF NOT EXISTS waterway_relation_gen_z8_geometry_idx ON waterway_relation_gen_z8 USING gist (geometry);
|
||||
|
||||
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z8 -> ne_10m_rivers_lake_centerlines_gen_z7
|
||||
DROP MATERIALIZED VIEW IF EXISTS ne_10m_rivers_lake_centerlines_gen_z7 CASCADE;
|
||||
CREATE MATERIALIZED VIEW ne_10m_rivers_lake_centerlines_gen_z7 AS
|
||||
(
|
||||
SELECT ST_Simplify(geometry, ZRes(9)) as geometry,
|
||||
-- etldoc: waterway_relation_gen_z8 -> waterway_relation_gen_z7
|
||||
DROP MATERIALIZED VIEW IF EXISTS waterway_relation_gen_z7 CASCADE;
|
||||
CREATE MATERIALIZED VIEW waterway_relation_gen_z7 AS (
|
||||
SELECT ST_Simplify(geometry, ZRes(9)) AS geometry,
|
||||
class,
|
||||
name,
|
||||
name_en,
|
||||
|
@ -94,15 +107,15 @@ SELECT ST_Simplify(geometry, ZRes(9)) as geometry,
|
|||
is_bridge,
|
||||
is_tunnel,
|
||||
is_intermittent
|
||||
FROM ne_10m_rivers_lake_centerlines_gen_z8
|
||||
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
|
||||
CREATE INDEX IF NOT EXISTS ne_10m_rivers_lake_centerlines_gen_z7_idx ON ne_10m_rivers_lake_centerlines_gen_z7 USING gist (geometry);
|
||||
FROM waterway_relation_gen_z8
|
||||
WHERE ST_Length(geometry) > 400000
|
||||
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
|
||||
CREATE INDEX IF NOT EXISTS waterway_relation_gen_z7_geometry_idx ON waterway_relation_gen_z7 USING gist (geometry);
|
||||
|
||||
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z7 -> ne_10m_rivers_lake_centerlines_gen_z6
|
||||
DROP MATERIALIZED VIEW IF EXISTS ne_10m_rivers_lake_centerlines_gen_z6 CASCADE;
|
||||
CREATE MATERIALIZED VIEW ne_10m_rivers_lake_centerlines_gen_z6 AS
|
||||
(
|
||||
SELECT ST_Simplify(geometry, ZRes(8)) as geometry,
|
||||
-- etldoc: waterway_relation_gen_z7 -> waterway_relation_gen_z6
|
||||
DROP MATERIALIZED VIEW IF EXISTS waterway_relation_gen_z6 CASCADE;
|
||||
CREATE MATERIALIZED VIEW waterway_relation_gen_z6 AS (
|
||||
SELECT ST_Simplify(geometry, ZRes(8)) AS geometry,
|
||||
class,
|
||||
name,
|
||||
name_en,
|
||||
|
@ -111,9 +124,10 @@ SELECT ST_Simplify(geometry, ZRes(8)) as geometry,
|
|||
is_bridge,
|
||||
is_tunnel,
|
||||
is_intermittent
|
||||
FROM ne_10m_rivers_lake_centerlines_gen_z7
|
||||
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
|
||||
CREATE INDEX IF NOT EXISTS ne_10m_rivers_lake_centerlines_gen_z6_idx ON ne_10m_rivers_lake_centerlines_gen_z6 USING gist (geometry);
|
||||
FROM waterway_relation_gen_z7
|
||||
WHERE ST_Length(geometry) > 500000
|
||||
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
|
||||
CREATE INDEX IF NOT EXISTS waterway_relation_gen_z6_geometry_idx ON waterway_relation_gen_z6 USING gist (geometry);
|
||||
|
||||
|
||||
-- etldoc: ne_110m_rivers_lake_centerlines_gen_z3 -> waterway_z3
|
||||
|
@ -161,7 +175,7 @@ SELECT geometry,
|
|||
FROM ne_50m_rivers_lake_centerlines_gen_z5
|
||||
);
|
||||
|
||||
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z6 -> waterway_z6
|
||||
-- etldoc: waterway_relation_gen_z6 -> waterway_z6
|
||||
CREATE OR REPLACE VIEW waterway_z6 AS
|
||||
(
|
||||
SELECT geometry,
|
||||
|
@ -173,10 +187,10 @@ SELECT geometry,
|
|||
is_bridge,
|
||||
is_tunnel,
|
||||
is_intermittent
|
||||
FROM ne_10m_rivers_lake_centerlines_gen_z6
|
||||
FROM waterway_relation_gen_z6
|
||||
);
|
||||
|
||||
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z7 -> waterway_z7
|
||||
-- etldoc: waterway_relation_gen_z7 -> waterway_z7
|
||||
CREATE OR REPLACE VIEW waterway_z7 AS
|
||||
(
|
||||
SELECT geometry,
|
||||
|
@ -188,10 +202,10 @@ SELECT geometry,
|
|||
is_bridge,
|
||||
is_tunnel,
|
||||
is_intermittent
|
||||
FROM ne_10m_rivers_lake_centerlines_gen_z7
|
||||
FROM waterway_relation_gen_z7
|
||||
);
|
||||
|
||||
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z8 -> waterway_z8
|
||||
-- etldoc: waterway_relation_gen_z8 -> waterway_z8
|
||||
CREATE OR REPLACE VIEW waterway_z8 AS
|
||||
(
|
||||
SELECT geometry,
|
||||
|
@ -203,7 +217,7 @@ SELECT geometry,
|
|||
is_bridge,
|
||||
is_tunnel,
|
||||
is_intermittent
|
||||
FROM ne_10m_rivers_lake_centerlines_gen_z8
|
||||
FROM waterway_relation_gen_z8
|
||||
);
|
||||
|
||||
-- etldoc: osm_important_waterway_linestring_gen_z9 -> waterway_z9
|
||||
|
|
Ładowanie…
Reference in New Issue