Add primary/secondary routes

pull/1465/head
Brian Sperlongano 2022-12-23 16:12:09 -05:00
rodzic c4d86d44a6
commit 118424f84e
3 zmienionych plików z 12 dodań i 7 usunięć

Wyświetl plik

@ -16,7 +16,7 @@ $$
CREATE TYPE route_network_type AS enum (
'us-interstate', 'us-highway', 'us-state',
'ca-transcanada',
'gb-motorway', 'gb-trunk'
'gb-motorway', 'gb-trunk', 'gb-primary'
);
END
$$;

Wyświetl plik

@ -6,17 +6,20 @@ WHERE iso_a2 = 'GB';
CREATE OR REPLACE VIEW gbr_route_members_view AS
SELECT 0,
osm_id,
substring(ref FROM E'^[AM][0-9AM()]+'),
CASE WHEN highway = 'motorway' THEN 'omt-gb-motorway' ELSE 'omt-gb-trunk' END
substring(ref FROM E'^[ABM][0-9AM()]+'),
-- See https://wiki.openstreetmap.org/wiki/Roads_in_the_United_Kingdom
CASE WHEN highway = 'motorway' THEN 'omt-gb-motorway'
WHEN highway = 'trunk' THEN 'omt-gb-trunk'
WHEN highway IN ('primary','secondary') THEN 'omt-gb-primary' END AS network
FROM osm_highway_linestring
WHERE length(ref) > 0
WHERE length(ref) > 1
AND ST_Intersects(geometry, (SELECT * FROM ne_10m_admin_0_bg_buffer))
AND highway IN ('motorway', 'trunk')
AND highway IN ('motorway', 'trunk', 'primary', 'secondary')
;
-- Create GBR relations (so we can use it in the same way as other relations)
DELETE
FROM osm_route_member
WHERE network IN ('omt-gb-motorway', 'omt-gb-trunk');
WHERE network IN ('omt-gb-motorway', 'omt-gb-trunk', 'omt-gb-primary');
-- etldoc: osm_highway_linestring -> osm_route_member
INSERT INTO osm_route_member (osm_id, member, ref, network)
SELECT *
@ -32,6 +35,7 @@ SELECT CASE
WHEN network LIKE 'CA:transcanada%' THEN 'ca-transcanada'::route_network_type
WHEN network = 'omt-gb-motorway' THEN 'gb-motorway'::route_network_type
WHEN network = 'omt-gb-trunk' THEN 'gb-trunk'::route_network_type
WHEN network = 'omt-gb-primary' THEN 'gb-primary'::route_network_type
END;
$$ LANGUAGE sql IMMUTABLE
PARALLEL SAFE;
@ -51,7 +55,7 @@ BEGIN
FROM osm_route_member AS r
USING
transportation_name.network_changes AS c
WHERE network IN ('omt-gb-motorway', 'omt-gb-trunk')
WHERE network IN ('omt-gb-motorway', 'omt-gb-trunk', 'omt-gb-primary')
AND r.osm_id = c.osm_id;
INSERT INTO osm_route_member (osm_id, member, ref, network)

Wyświetl plik

@ -30,6 +30,7 @@ layer:
- ca-transcanada
- gb-motorway
- gb-trunk
- gb-primary
- road (default)
class:
description: |