Add shipping ways (ferries) to transportation

pull/351/head
jirik 2017-09-25 13:12:19 +02:00 zatwierdzone przez Jiri Kozel
rodzic 634de5e474
commit 68785c1a21
5 zmienionych plików z 111 dodań i 22 usunięć

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 316 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 436 KiB

Wyświetl plik

@ -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

Wyświetl plik

@ -30,6 +30,16 @@ generalized_tables:
source: aerialway_linestring
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
highway_linestring_gen2:
source: highway_linestring_gen1
@ -228,6 +238,35 @@ tables:
aerialway:
- 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
highway_polygon:
type: polygon

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 68 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 62 KiB

Wyświetl plik

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