2020-09-18 13:49:55 +00:00
|
|
|
DROP TRIGGER IF EXISTS trigger_store_transportation_route_member ON osm_route_member;
|
|
|
|
DROP TRIGGER IF EXISTS trigger_store_transportation_highway_linestring ON osm_highway_linestring;
|
|
|
|
DROP TRIGGER IF EXISTS trigger_flag_transportation_name ON transportation_name.network_changes;
|
|
|
|
DROP TRIGGER IF EXISTS trigger_refresh_network ON transportation_name.updates_network;
|
|
|
|
|
2020-09-28 12:56:10 +00:00
|
|
|
DROP TRIGGER IF EXISTS trigger_store_transportation_name_network ON osm_transportation_name_network;
|
|
|
|
DROP TRIGGER IF EXISTS trigger_flag_name ON transportation_name.name_changes;
|
|
|
|
DROP TRIGGER IF EXISTS trigger_refresh_name ON transportation_name.updates_name;
|
2017-03-01 13:54:33 +00:00
|
|
|
|
2020-06-08 16:19:55 +00:00
|
|
|
DO
|
2017-03-03 08:15:58 +00:00
|
|
|
$$
|
2020-06-08 16:19:55 +00:00
|
|
|
BEGIN
|
2022-07-26 10:26:46 +00:00
|
|
|
PERFORM 'route_network_type'::regtype;
|
|
|
|
EXCEPTION
|
|
|
|
WHEN undefined_object THEN
|
2020-06-08 16:19:55 +00:00
|
|
|
CREATE TYPE route_network_type AS enum (
|
|
|
|
'us-interstate', 'us-highway', 'us-state',
|
2023-01-05 16:36:36 +00:00
|
|
|
'ca-transcanada', 'ca-provincial-arterial', 'ca-provincial',
|
2023-01-15 12:52:43 +00:00
|
|
|
'gb-motorway', 'gb-trunk', 'gb-primary',
|
2024-01-30 06:31:12 +00:00
|
|
|
'ie-motorway', 'ie-national', 'ie-regional',
|
|
|
|
'e-road',
|
|
|
|
'a-road'
|
2020-06-08 16:19:55 +00:00
|
|
|
);
|
|
|
|
END
|
|
|
|
$$;
|
2017-03-03 08:15:58 +00:00
|
|
|
|
2023-01-05 16:36:36 +00:00
|
|
|
-- Top-level national route networks that should display at the lowest zooms
|
|
|
|
CREATE OR REPLACE FUNCTION osm_national_network(network text) RETURNS boolean AS
|
|
|
|
$$
|
|
|
|
SELECT network <> '' AND network IN (
|
|
|
|
-- Canada
|
|
|
|
'ca-transcanada', 'ca-provincial-arterial',
|
|
|
|
-- United States
|
2024-03-13 09:12:03 +00:00
|
|
|
'us-interstate', 'us-highway',
|
|
|
|
-- UK
|
|
|
|
'gb-motorway', 'gb-trunk',
|
|
|
|
-- Ireland
|
|
|
|
'ie-motorway', 'ie-national',
|
2024-01-30 06:31:12 +00:00
|
|
|
-- Europe
|
|
|
|
'e-road',
|
|
|
|
-- Asia
|
|
|
|
'a-road'
|
|
|
|
);
|
2023-01-05 16:36:36 +00:00
|
|
|
$$ LANGUAGE sql IMMUTABLE
|
|
|
|
PARALLEL SAFE;
|
2024-02-20 16:38:11 +00:00
|
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION create_route_hstore(network TEXT, ref TEXT, name TEXT, colour TEXT, ref_colour TEXT)
|
|
|
|
RETURNS hstore AS $$
|
|
|
|
SELECT CASE
|
|
|
|
WHEN network = '' THEN hstore('')
|
|
|
|
ELSE hstore(
|
|
|
|
ARRAY['network', 'ref', 'name', 'colour'],
|
|
|
|
ARRAY[network, NULLIF(ref, ''), NULLIF(name, ''), COALESCE(NULLIF(colour, ''), NULLIF(ref_colour, ''))]
|
|
|
|
)
|
|
|
|
END;
|
|
|
|
$$ LANGUAGE sql IMMUTABLE
|
|
|
|
PARALLEL SAFE;
|