From 6bff55ae039bd8b889b32f72862ae6aff2c85c79 Mon Sep 17 00:00:00 2001 From: MartinMikita Date: Wed, 29 Mar 2017 22:45:37 +0200 Subject: [PATCH] Added merged simplified transportation for zoom 8 --- layers/transportation/layer.sql | 2 +- layers/transportation/merge_highways.sql | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/layers/transportation/layer.sql b/layers/transportation/layer.sql index 87d1b38..481603a 100644 --- a/layers/transportation/layer.sql +++ b/layers/transportation/layer.sql @@ -71,7 +71,7 @@ RETURNS TABLE(osm_id bigint, geometry geometry, class text, ramp int, oneway int NULL::boolean AS is_ford, NULL::boolean AS is_ramp, NULL::boolean AS is_oneway, z_order - FROM osm_highway_linestring_gen3 + FROM osm_transportation_merge_linestring_gen3 WHERE zoom_level = 8 UNION ALL diff --git a/layers/transportation/merge_highways.sql b/layers/transportation/merge_highways.sql index 223e263..55647de 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_gen3 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; @@ -37,7 +38,7 @@ CREATE MATERIALIZED VIEW osm_transportation_merge_linestring AS ( highway, min(z_order) AS z_order FROM osm_highway_linestring - WHERE highway IN ('motorway','trunk') + WHERE highway IN ('motorway','trunk', 'primary') group by highway ) AS highway_union ); @@ -45,12 +46,24 @@ CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_geometry_idx ON osm_transportation_merge_linestring USING gist(geometry); CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_highway_partial_idx ON osm_transportation_merge_linestring(highway) - WHERE highway IN ('motorway','trunk'); + WHERE highway IN ('motorway','trunk', 'primary'); --- etldoc: osm_transportation_merge_linestring -> osm_transportation_merge_linestring_gen4 +-- etldoc: osm_transportation_merge_linestring -> osm_transportation_merge_linestring_gen3 +CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen3 AS ( + SELECT ST_Simplify(geometry, 120) AS geometry, osm_id, highway, z_order + FROM osm_transportation_merge_linestring + WHERE highway IN ('motorway','trunk', 'primary') +); +CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen3_geometry_idx + ON osm_transportation_merge_linestring_gen3 USING gist(geometry); +CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen3_highway_partial_idx + ON osm_transportation_merge_linestring_gen3(highway) + WHERE highway IN ('motorway', 'trunk'); + +-- etldoc: osm_transportation_merge_linestring_gen3 -> 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 + FROM osm_transportation_merge_linestring_gen3 WHERE highway IN ('motorway','trunk') AND ST_Length(geometry) > 50 ); CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen4_geometry_idx @@ -110,6 +123,8 @@ CREATE OR REPLACE FUNCTION transportation.refresh() RETURNS trigger AS BEGIN RAISE LOG 'Refresh transportation'; REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring; + REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen3; + REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen4; REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen5; REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen6; REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen7;