kopia lustrzana https://github.com/openmaptiles/openmaptiles
Merge branch 'master' into housenumber_filtering
commit
2de8b452b0
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 640 KiB Po Szerokość: | Wysokość: | Rozmiar: 686 KiB |
|
@ -16,7 +16,8 @@ $$
|
|||
CREATE TYPE route_network_type AS enum (
|
||||
'us-interstate', 'us-highway', 'us-state',
|
||||
'ca-transcanada', 'ca-provincial-arterial', 'ca-provincial',
|
||||
'gb-motorway', 'gb-trunk', 'gb-primary'
|
||||
'gb-motorway', 'gb-trunk', 'gb-primary',
|
||||
'ie-motorway', 'ie-national', 'ie-regional'
|
||||
);
|
||||
END
|
||||
$$;
|
||||
|
|
|
@ -127,7 +127,8 @@ layer:
|
|||
The network type derived mainly from [`network`](http://wiki.openstreetmap.org/wiki/Key:network) tag of the road.
|
||||
See more info about [`us-*`](http://wiki.openstreetmap.org/wiki/Road_signs_in_the_United_States),
|
||||
[`ca-transcanada`](https://en.wikipedia.org/wiki/Trans-Canada_Highway),
|
||||
or [`gb-*`](http://wiki.openstreetmap.org/wiki/United_Kingdom_Tagging_Guidelines#UK_roads).
|
||||
[`gb-*`](http://wiki.openstreetmap.org/wiki/United_Kingdom_Tagging_Guidelines#UK_roads),
|
||||
or [`ie-*`](http://wiki.openstreetmap.org/wiki/Ireland/Roads).
|
||||
brunnel:
|
||||
description: |
|
||||
Mark whether way is a tunnel or bridge.
|
||||
|
|
|
@ -1,9 +1,20 @@
|
|||
-- Create bounding windows for country-specific processing
|
||||
|
||||
-- etldoc: ne_10m_admin_0_countries -> ne_10m_admin_0_gb_buffer
|
||||
CREATE TABLE IF NOT EXISTS ne_10m_admin_0_gb_buffer AS
|
||||
SELECT ST_Buffer(geometry, 10000)
|
||||
FROM ne_10m_admin_0_countries
|
||||
WHERE iso_a2 = 'GB';
|
||||
|
||||
-- etldoc: osm_route_member -> gbr_route_members_view
|
||||
-- etldoc: ne_10m_admin_0_countries -> ne_10m_admin_0_ie_buffer
|
||||
CREATE TABLE IF NOT EXISTS ne_10m_admin_0_ie_buffer AS
|
||||
SELECT ST_Buffer(geometry, 10000)
|
||||
FROM ne_10m_admin_0_countries
|
||||
WHERE iso_a2 = 'IE';
|
||||
|
||||
-- Assign pseudo-networks based highway classification
|
||||
-- etldoc: osm_highway_linestring -> gbr_route_members_view
|
||||
-- etldoc: ne_10m_admin_0_gb_buffer -> gbr_route_members_view
|
||||
CREATE OR REPLACE VIEW gbr_route_members_view AS
|
||||
SELECT 0,
|
||||
osm_id,
|
||||
|
@ -17,15 +28,40 @@ WHERE length(ref) > 1
|
|||
AND ST_Intersects(geometry, (SELECT * FROM ne_10m_admin_0_gb_buffer))
|
||||
AND highway IN ('motorway', 'trunk', 'primary', 'secondary')
|
||||
;
|
||||
-- Create GBR relations (so we can use it in the same way as other relations)
|
||||
|
||||
-- etldoc: osm_highway_linestring -> ire_route_members_view
|
||||
-- etldoc: ne_10m_admin_0_ie_buffer -> ire_route_members_view
|
||||
CREATE OR REPLACE VIEW ire_route_members_view AS
|
||||
SELECT 0,
|
||||
osm_id,
|
||||
substring(ref FROM E'^[MNRL][0-9]+'),
|
||||
-- See https://wiki.openstreetmap.org/wiki/Ireland/Roads
|
||||
CASE WHEN highway = 'motorway' THEN 'omt-ie-motorway'
|
||||
WHEN highway IN ('trunk','primary') THEN 'omt-ie-national'
|
||||
ELSE 'omt-ie-regional' END AS network
|
||||
FROM osm_highway_linestring
|
||||
WHERE length(ref) > 1
|
||||
AND ST_Intersects(geometry, (SELECT * FROM ne_10m_admin_0_ie_buffer))
|
||||
AND highway IN ('motorway', 'trunk', 'primary', 'secondary', 'unclassified')
|
||||
;
|
||||
|
||||
-- Create GBR/IRE relations (so we can use it in the same way as other relations)
|
||||
-- etldoc: osm_route_member -> osm_route_member
|
||||
DELETE
|
||||
FROM osm_route_member
|
||||
WHERE network IN ('omt-gb-motorway', 'omt-gb-trunk', 'omt-gb-primary');
|
||||
WHERE network IN ('omt-gb-motorway', 'omt-gb-trunk', 'omt-gb-primary',
|
||||
'omt-ie-motorway', 'omt-ie-national', 'omt-ie-national');
|
||||
|
||||
-- etldoc: gbr_route_members_view -> osm_route_member
|
||||
INSERT INTO osm_route_member (osm_id, member, ref, network)
|
||||
SELECT *
|
||||
FROM gbr_route_members_view;
|
||||
|
||||
-- etldoc: ire_route_members_view -> osm_route_member
|
||||
INSERT INTO osm_route_member (osm_id, member, ref, network)
|
||||
SELECT *
|
||||
FROM ire_route_members_view;
|
||||
|
||||
CREATE OR REPLACE FUNCTION osm_route_member_network_type(network text, ref text) RETURNS route_network_type AS
|
||||
$$
|
||||
SELECT CASE
|
||||
|
@ -48,7 +84,10 @@ SELECT CASE
|
|||
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;
|
||||
WHEN network = 'omt-ie-motorway' THEN 'ie-motorway'::route_network_type
|
||||
WHEN network = 'omt-ie-national' THEN 'ie-national'::route_network_type
|
||||
WHEN network = 'omt-ie-regional' THEN 'ie-regional'::route_network_type
|
||||
END;
|
||||
$$ LANGUAGE sql IMMUTABLE
|
||||
PARALLEL SAFE;
|
||||
|
||||
|
@ -67,7 +106,8 @@ BEGIN
|
|||
FROM osm_route_member AS r
|
||||
USING
|
||||
transportation_name.network_changes AS c
|
||||
WHERE network IN ('omt-gb-motorway', 'omt-gb-trunk', 'omt-gb-primary')
|
||||
WHERE network IN ('omt-gb-motorway', 'omt-gb-trunk', 'omt-gb-primary',
|
||||
'omt-ie-motorway', 'omt-ie-national', 'omt-ie-regional')
|
||||
AND r.osm_id = c.osm_id;
|
||||
|
||||
INSERT INTO osm_route_member (osm_id, member, ref, network)
|
||||
|
@ -76,6 +116,12 @@ BEGIN
|
|||
JOIN transportation_name.network_changes AS c ON
|
||||
r.osm_id = c.osm_id;
|
||||
|
||||
INSERT INTO osm_route_member (osm_id, member, ref, network)
|
||||
SELECT r.*
|
||||
FROM ire_route_members_view AS r
|
||||
JOIN transportation_name.network_changes AS c ON
|
||||
r.osm_id = c.osm_id;
|
||||
|
||||
INSERT INTO osm_route_member (id, osm_id, network_type, concurrency_index, rank)
|
||||
SELECT
|
||||
id,
|
||||
|
@ -110,6 +156,7 @@ ALTER TABLE osm_route_member ADD COLUMN IF NOT EXISTS concurrency_index int,
|
|||
ADD COLUMN IF NOT EXISTS rank int;
|
||||
|
||||
-- One-time load of concurrency indexes; updates occur via trigger
|
||||
-- etldoc: osm_route_member -> osm_route_member
|
||||
INSERT INTO osm_route_member (id, osm_id, concurrency_index, rank)
|
||||
SELECT
|
||||
id,
|
||||
|
@ -123,11 +170,13 @@ INSERT INTO osm_route_member (id, osm_id, concurrency_index, rank)
|
|||
FROM osm_route_member
|
||||
ON CONFLICT (id, osm_id) DO UPDATE SET concurrency_index = EXCLUDED.concurrency_index, rank = EXCLUDED.rank;
|
||||
|
||||
-- etldoc: osm_route_member -> osm_highway_linestring
|
||||
UPDATE osm_highway_linestring hl
|
||||
SET network = rm.network_type
|
||||
FROM osm_route_member rm
|
||||
WHERE hl.osm_id=rm.member AND rm.concurrency_index=1;
|
||||
|
||||
-- etldoc: osm_route_member -> osm_highway_linestring_gen_z11
|
||||
UPDATE osm_highway_linestring_gen_z11 hl
|
||||
SET network = rm.network_type
|
||||
FROM osm_route_member rm
|
||||
|
|
|
@ -33,6 +33,9 @@ layer:
|
|||
- gb-motorway
|
||||
- gb-trunk
|
||||
- gb-primary
|
||||
- ie-motorway
|
||||
- ie-national
|
||||
- ie-regional
|
||||
- road (default)
|
||||
class:
|
||||
description: |
|
||||
|
|
|
@ -107,6 +107,10 @@ tables:
|
|||
- dock
|
||||
water:
|
||||
- river
|
||||
- stream
|
||||
- canal
|
||||
- ditch
|
||||
- drain
|
||||
- pond
|
||||
- basin
|
||||
- wastewater
|
||||
|
|
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 41 KiB Po Szerokość: | Wysokość: | Rozmiar: 46 KiB |
|
@ -1,6 +1,7 @@
|
|||
CREATE OR REPLACE FUNCTION water_class(waterway text, water text, leisure text) RETURNS text AS
|
||||
$$
|
||||
SELECT CASE
|
||||
WHEN water IN ('river', 'canal', 'stream', 'ditch', 'drain') THEN 'river'
|
||||
%%FIELD_MAPPING: class %%
|
||||
ELSE 'lake'
|
||||
END;
|
||||
|
|
|
@ -25,7 +25,11 @@ layer:
|
|||
class:
|
||||
description: |
|
||||
All water polygons from [OpenStreetMapData](http://osmdata.openstreetmap.de/) have the class `ocean`.
|
||||
Water bodies with the [`water=river`](http://wiki.openstreetmap.org/wiki/Tag:water=river) tag are classified as river. Wet and dry docks
|
||||
The water-covered areas of flowing water bodies with the [`water=river`](http://wiki.openstreetmap.org/wiki/Tag:water=river),
|
||||
[`water=canal`](http://wiki.openstreetmap.org/wiki/Tag:water=canal),
|
||||
[`water=stream`](http://wiki.openstreetmap.org/wiki/Tag:water=stream),
|
||||
[`water=ditch`](http://wiki.openstreetmap.org/wiki/Tag:water=ditch), or
|
||||
[`water=drain`](http://wiki.openstreetmap.org/wiki/Tag:water=drain) tags are classified as river. Wet and dry docks
|
||||
tagged [`waterway=dock`](http://wiki.openstreetmap.org/wiki/Tag:waterway=dock) are classified as a `dock`.
|
||||
Various minor waterbodies are classified as a `pond`.
|
||||
Swimming pools tagged [`leisure=swimming_pool`](https://wiki.openstreetmap.org/wiki/Tag:leisure=swimming_pool) are classified as a `swimming_pool`
|
||||
|
@ -34,7 +38,7 @@ layer:
|
|||
dock:
|
||||
waterway: 'dock'
|
||||
river:
|
||||
water: 'river'
|
||||
water: ['river', 'stream', 'canal', 'ditch', 'drain']
|
||||
pond:
|
||||
water: ['pond', 'basin', 'wastewater']
|
||||
lake:
|
||||
|
|
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 52 KiB Po Szerokość: | Wysokość: | Rozmiar: 57 KiB |
|
@ -31,7 +31,7 @@ SELECT
|
|||
is_intermittent::int AS intermittent
|
||||
FROM osm_water_lakeline
|
||||
WHERE geometry && bbox
|
||||
AND ((zoom_level BETWEEN 9 AND 13 AND LineLabel(zoom_level, NULLIF(name, ''), geometry))
|
||||
AND ((zoom_level BETWEEN 3 AND 13 AND LineLabel(zoom_level, NULLIF(name, ''), geometry))
|
||||
OR (zoom_level >= 14))
|
||||
UNION ALL
|
||||
SELECT
|
||||
|
|
Ładowanie…
Reference in New Issue