diff --git a/layers/transportation/layer.sql b/layers/transportation/layer.sql index d7014eb..87d1b38 100644 --- a/layers/transportation/layer.sql +++ b/layers/transportation/layer.sql @@ -53,14 +53,14 @@ RETURNS TABLE(osm_id bigint, geometry geometry, class text, ramp int, oneway int WHERE zoom_level = 6 UNION ALL - -- etldoc: osm_highway_linestring_gen4 -> layer_transportation:z7 + -- etldoc: osm_transportation_merge_linestring_gen4 -> layer_transportation:z7 SELECT osm_id, geometry, highway, NULL AS railway, NULL AS service, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_ford, NULL::boolean AS is_ramp, NULL::boolean AS is_oneway, z_order - FROM osm_highway_linestring_gen4 + FROM osm_transportation_merge_linestring_gen4 WHERE zoom_level = 7 UNION ALL diff --git a/layers/transportation/merge_highways.sql b/layers/transportation/merge_highways.sql index f7ad11c..223e263 100644 --- a/layers/transportation/merge_highways.sql +++ b/layers/transportation/merge_highways.sql @@ -1,4 +1,5 @@ DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring CASCADE; +DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen4 CASCADE; DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen5 CASCADE; DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen6 CASCADE; DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen7 CASCADE; @@ -46,10 +47,22 @@ CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_highway_partial_i ON osm_transportation_merge_linestring(highway) WHERE highway IN ('motorway','trunk'); --- etldoc: osm_transportation_merge_linestring -> osm_transportation_merge_linestring_gen5 +-- etldoc: osm_transportation_merge_linestring -> osm_transportation_merge_linestring_gen4 +CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen4 AS ( + SELECT ST_Simplify(geometry, 200) AS geometry, osm_id, highway, z_order + FROM osm_transportation_merge_linestring + WHERE highway IN ('motorway','trunk') AND ST_Length(geometry) > 50 +); +CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen4_geometry_idx + ON osm_transportation_merge_linestring_gen4 USING gist(geometry); +CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen4_highway_partial_idx + ON osm_transportation_merge_linestring_gen4(highway) + WHERE highway IN ('motorway', 'trunk'); + +-- etldoc: osm_transportation_merge_linestring_gen4 -> osm_transportation_merge_linestring_gen5 CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen5 AS ( SELECT ST_Simplify(geometry, 500) AS geometry, osm_id, highway, z_order - FROM osm_transportation_merge_linestring + FROM osm_transportation_merge_linestring_gen4 WHERE highway IN ('motorway','trunk') AND ST_Length(geometry) > 100 ); CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen5_geometry_idx