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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 KiB

After

Width:  |  Height:  |  Size: 436 KiB

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 highway IS NOT NULL THEN highway_class(highway)
WHEN railway IS NOT NULL THEN railway_class(railway) WHEN railway IS NOT NULL THEN railway_class(railway)
WHEN aerialway IS NOT NULL THEN aerialway WHEN aerialway IS NOT NULL THEN aerialway
WHEN shipway IS NOT NULL THEN shipway
END AS class, END AS class,
CASE CASE
WHEN railway IS NOT NULL THEN railway WHEN railway IS NOT NULL THEN railway
@ -28,7 +29,8 @@ ramp int, oneway int, brunnel TEXT, service TEXT) AS $$
FROM ( FROM (
-- etldoc: osm_transportation_merge_linestring_gen7 -> layer_transportation:z4 -- etldoc: osm_transportation_merge_linestring_gen7 -> layer_transportation:z4
SELECT 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 AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, 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 -- etldoc: osm_transportation_merge_linestring_gen6 -> layer_transportation:z5
SELECT 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 AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, 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 -- etldoc: osm_transportation_merge_linestring_gen5 -> layer_transportation:z6
SELECT 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 AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, 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 -- etldoc: osm_transportation_merge_linestring_gen4 -> layer_transportation:z7
SELECT 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 AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, 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 -- etldoc: osm_transportation_merge_linestring_gen3 -> layer_transportation:z8
SELECT 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 AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, 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:z9
-- etldoc: osm_highway_linestring_gen2 -> layer_transportation:z10 -- etldoc: osm_highway_linestring_gen2 -> layer_transportation:z10
SELECT 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 AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, 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 -- etldoc: osm_highway_linestring_gen1 -> layer_transportation:z11
SELECT 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 AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, 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:z13
-- etldoc: osm_highway_linestring -> layer_transportation:z14_ -- etldoc: osm_highway_linestring -> layer_transportation:z14_
SELECT 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, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_highway_linestring 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 -- etldoc: osm_railway_linestring_gen5 -> layer_transportation:z8
SELECT 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, service_value(service) AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, 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 -- etldoc: osm_railway_linestring_gen4 -> layer_transportation:z9
SELECT 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, service_value(service) AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel, NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, 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 -- etldoc: osm_railway_linestring_gen3 -> layer_transportation:z10
SELECT 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, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_railway_linestring_gen3 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 -- etldoc: osm_railway_linestring_gen2 -> layer_transportation:z11
SELECT 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, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_railway_linestring_gen2 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 -- etldoc: osm_railway_linestring_gen1 -> layer_transportation:z12
SELECT 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, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_railway_linestring_gen1 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:z13
-- etldoc: osm_railway_linestring -> layer_transportation:z14_ -- etldoc: osm_railway_linestring -> layer_transportation:z14_
SELECT 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, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_railway_linestring 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 -- etldoc: osm_aerialway_linestring_gen1 -> layer_transportation:z12
SELECT SELECT
osm_id, geometry, NULL AS highway, NULL as railway, osm_id, geometry,
aerialway, NULL AS highway, NULL as railway, aerialway, NULL AS shipway,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_aerialway_linestring_gen1 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:z13
-- etldoc: osm_aerialway_linestring -> layer_transportation:z14_ -- etldoc: osm_aerialway_linestring -> layer_transportation:z14_
SELECT SELECT
osm_id, geometry, NULL AS highway, NULL as railway, osm_id, geometry,
aerialway, NULL AS highway, NULL as railway, aerialway, NULL AS shipway,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, z_order
FROM osm_aerialway_linestring FROM osm_aerialway_linestring
WHERE zoom_level >= 13 WHERE zoom_level >= 13
UNION ALL 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 -- NOTE: We limit the selection of polys because we need to be
-- careful to net get false positives here because -- careful to net get false positives here because
-- it is possible that closed linestrings appear both as -- 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_ -- etldoc: osm_highway_polygon -> layer_transportation:z14_
SELECT SELECT
osm_id, geometry, osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
NULL AS service, NULL AS service,
FALSE AS is_bridge, FALSE AS is_tunnel, FALSE AS is_ford, FALSE AS is_bridge, FALSE AS is_tunnel, FALSE AS is_ford,
FALSE AS is_ramp, FALSE AS is_oneway, z_order FALSE AS is_ramp, FALSE AS is_oneway, z_order

View File

@ -30,6 +30,16 @@ generalized_tables:
source: aerialway_linestring source: aerialway_linestring
tolerance: ZRES13 tolerance: ZRES13
# etldoc: imposm3 -> osm_shipway_linestring_gen2
shipway_linestring_gen2:
source: shipway_linestring_gen1
tolerance: ZRES12
# etldoc: imposm3 -> osm_shipway_linestring_gen1
shipway_linestring_gen1:
source: shipway_linestring
tolerance: ZRES13
# etldoc: imposm3 -> osm_highway_linestring_gen2 # etldoc: imposm3 -> osm_highway_linestring_gen2
highway_linestring_gen2: highway_linestring_gen2:
source: highway_linestring_gen1 source: highway_linestring_gen1
@ -228,6 +238,35 @@ tables:
aerialway: aerialway:
- cable_car - cable_car
# etldoc: imposm3 -> osm_shipway_linestring
shipway_linestring:
type: linestring
fields:
- name: osm_id
type: id
- name: geometry
type: geometry
- key: route
name: shipway
type: string
- *z_order
- *layer
- *name
- *name_en
- *name_de
- *short_name
- *tunnel
- *bridge
- *ramp
- *ford
- *oneway
- *area
- *service
- *usage
mapping:
route:
- ferry
# etldoc: imposm3 -> osm_highway_polygon # etldoc: imposm3 -> osm_highway_polygon
highway_polygon: highway_polygon:
type: polygon type: polygon

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -1,7 +1,8 @@
layer: layer:
id: "transportation" id: "transportation"
description: | description: |
**transportation** contains roads, railways, and aerialways. **transportation** contains roads, railways, aerial ways, and shipping
lines.
This layer is directly derived from the OSM road hierarchy. This layer is directly derived from the OSM road hierarchy.
At lower zoom levels major highways from Natural Earth are used. At lower zoom levels major highways from Natural Earth are used.
It contains all roads from motorways to primary, secondary and It contains all roads from motorways to primary, secondary and
@ -16,8 +17,10 @@ layer:
Distinguish between more and less important roads or railways. Distinguish between more and less important roads or railways.
Class is derived from the value of the Class is derived from the value of the
[`highway`](http://wiki.openstreetmap.org/wiki/Key:highway), [`highway`](http://wiki.openstreetmap.org/wiki/Key:highway),
[`railway`](http://wiki.openstreetmap.org/wiki/Key:railway), or [`railway`](http://wiki.openstreetmap.org/wiki/Key:railway),
[`aerialway`](http://wiki.openstreetmap.org/wiki/Key:aerialway) tag. [`aerialway`](http://wiki.openstreetmap.org/wiki/Key:aerialway), or
[`route`](http://wiki.openstreetmap.org/wiki/Key:route) tag (for
shipping ways).
values: values:
- motorway - motorway
- trunk - trunk
@ -32,6 +35,7 @@ layer:
- rail - rail
- transit - transit
- cable_car - cable_car
- ferry
subclass: subclass:
description: | description: |
Distinguish more specific railway classes: Distinguish more specific railway classes: