Add shipping ways (ferries) to transportation

This commit is contained in:
jirik
2017-09-25 13:12:19 +02:00
committed by Jiri Kozel
parent 634de5e474
commit 68785c1a21
5 changed files with 111 additions and 22 deletions

View File

@@ -14,6 +14,7 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
WHEN highway IS NOT NULL THEN highway_class(highway)
WHEN railway IS NOT NULL THEN railway_class(railway)
WHEN aerialway IS NOT NULL THEN aerialway
WHEN shipway IS NOT NULL THEN shipway
END AS class,
CASE
WHEN railway IS NOT NULL THEN railway
@@ -28,7 +29,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
FROM (
-- etldoc: osm_transportation_merge_linestring_gen7 -> layer_transportation:z4
SELECT
osm_id, geometry, highway, NULL AS railway, NULL AS aerialway,
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
@@ -40,7 +42,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_transportation_merge_linestring_gen6 -> layer_transportation:z5
SELECT
osm_id, geometry, highway, NULL AS railway, NULL AS aerialway,
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
@@ -52,7 +55,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_transportation_merge_linestring_gen5 -> layer_transportation:z6
SELECT
osm_id, geometry, highway, NULL AS railway, NULL AS aerialway,
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
@@ -64,7 +68,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_transportation_merge_linestring_gen4 -> layer_transportation:z7
SELECT
osm_id, geometry, highway, NULL AS railway, NULL AS aerialway,
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
@@ -76,7 +81,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_transportation_merge_linestring_gen3 -> layer_transportation:z8
SELECT
osm_id, geometry, highway, NULL AS railway, NULL AS aerialway,
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
@@ -89,7 +95,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_highway_linestring_gen2 -> layer_transportation:z9
-- etldoc: osm_highway_linestring_gen2 -> layer_transportation:z10
SELECT
osm_id, geometry, highway, NULL AS railway, NULL AS aerialway,
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
@@ -102,7 +109,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_highway_linestring_gen1 -> layer_transportation:z11
SELECT
osm_id, geometry, highway, NULL AS railway, NULL AS aerialway,
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
@@ -117,7 +125,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_highway_linestring -> layer_transportation:z13
-- etldoc: osm_highway_linestring -> layer_transportation:z14_
SELECT
osm_id, geometry, highway, NULL AS railway, NULL AS aerialway,
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_highway_linestring
@@ -133,7 +142,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_railway_linestring_gen5 -> layer_transportation:z8
SELECT
osm_id, geometry, NULL AS highway, railway, NULL AS aerialway,
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
service_value(service) AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
@@ -146,7 +156,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_railway_linestring_gen4 -> layer_transportation:z9
SELECT
osm_id, geometry, NULL AS highway, railway, NULL AS aerialway,
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
service_value(service) AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
@@ -159,7 +170,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_railway_linestring_gen3 -> layer_transportation:z10
SELECT
osm_id, geometry, NULL AS highway, railway, NULL AS aerialway,
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_railway_linestring_gen3
@@ -169,7 +181,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_railway_linestring_gen2 -> layer_transportation:z11
SELECT
osm_id, geometry, NULL AS highway, railway, NULL AS aerialway,
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_railway_linestring_gen2
@@ -179,7 +192,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_railway_linestring_gen1 -> layer_transportation:z12
SELECT
osm_id, geometry, NULL AS highway, railway, NULL AS aerialway,
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_railway_linestring_gen1
@@ -190,7 +204,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_railway_linestring -> layer_transportation:z13
-- etldoc: osm_railway_linestring -> layer_transportation:z14_
SELECT
osm_id, geometry, NULL AS highway, railway, NULL AS aerialway,
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_railway_linestring
@@ -201,8 +216,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_aerialway_linestring_gen1 -> layer_transportation:z12
SELECT
osm_id, geometry, NULL AS highway, NULL as railway,
aerialway,
osm_id, geometry,
NULL AS highway, NULL as railway, aerialway, NULL AS shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_aerialway_linestring_gen1
@@ -212,14 +227,45 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_aerialway_linestring -> layer_transportation:z13
-- etldoc: osm_aerialway_linestring -> layer_transportation:z14_
SELECT
osm_id, geometry, NULL AS highway, NULL as railway,
aerialway,
osm_id, geometry,
NULL AS highway, NULL as railway, aerialway, NULL AS shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_aerialway_linestring
WHERE zoom_level >= 13
UNION ALL
-- etldoc: osm_shipway_linestring_gen2 -> layer_transportation:z11
SELECT
osm_id, geometry,
NULL AS highway, NULL AS railway, NULL AS aerialway, shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_shipway_linestring_gen2
WHERE zoom_level = 11
UNION ALL
-- etldoc: osm_shipway_linestring_gen1 -> layer_transportation:z12
SELECT
osm_id, geometry,
NULL AS highway, NULL AS railway, NULL AS aerialway, shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_shipway_linestring_gen1
WHERE zoom_level = 12
UNION ALL
-- etldoc: osm_shipway_linestring -> layer_transportation:z13
-- etldoc: osm_shipway_linestring -> layer_transportation:z14_
SELECT
osm_id, geometry,
NULL AS highway, NULL AS railway, NULL AS aerialway, shipway,
service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_shipway_linestring
WHERE zoom_level >= 13
UNION ALL
-- NOTE: We limit the selection of polys because we need to be
-- careful to net get false positives here because
-- it is possible that closed linestrings appear both as
@@ -228,7 +274,7 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
-- etldoc: osm_highway_polygon -> layer_transportation:z14_
SELECT
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
NULL AS service,
FALSE AS is_bridge, FALSE AS is_tunnel, FALSE AS is_ford,
FALSE AS is_ramp, FALSE AS is_oneway, z_order