Add polygon piers

pull/525/head
jirik 2018-11-07 14:57:01 +01:00 zatwierdzone przez Jiri Kozel
rodzic bae5f21bb4
commit 4304c756ad
3 zmienionych plików z 32 dodań i 27 usunięć

Wyświetl plik

@ -12,10 +12,11 @@ indoor INT) AS $$
SELECT
osm_id, geometry,
CASE
WHEN highway IS NOT NULL OR public_transport IS NOT NULL THEN highway_class(highway, public_transport)
WHEN railway IS NOT NULL THEN railway_class(railway)
WHEN aerialway IS NOT NULL THEN aerialway
WHEN shipway IS NOT NULL THEN shipway
WHEN NULLIF(highway, '') IS NOT NULL OR NULLIF(public_transport, '') IS NOT NULL THEN highway_class(highway, public_transport)
WHEN NULLIF(railway, '') IS NOT NULL THEN railway_class(railway)
WHEN NULLIF(aerialway, '') IS NOT NULL THEN aerialway
WHEN NULLIF(shipway, '') IS NOT NULL THEN shipway
WHEN NULLIF(man_made, '') IS NOT NULL THEN man_made
END AS class,
CASE
WHEN railway IS NOT NULL THEN railway
@ -41,7 +42,7 @@ indoor INT) AS $$
NULL AS public_transport, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::int AS is_oneway,
NULL::boolean AS is_ramp, NULL::int AS is_oneway, NULL as man_made,
NULL::int AS layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_transportation_merge_linestring_gen7
@ -55,7 +56,7 @@ indoor INT) AS $$
NULL AS public_transport, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::int AS is_oneway,
NULL::boolean AS is_ramp, NULL::int AS is_oneway, NULL as man_made,
NULL::int AS layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_transportation_merge_linestring_gen6
@ -69,7 +70,7 @@ indoor INT) AS $$
NULL AS public_transport, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::int AS is_oneway,
NULL::boolean AS is_ramp, NULL::int AS is_oneway, NULL as man_made,
NULL::int AS layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_transportation_merge_linestring_gen5
@ -83,7 +84,7 @@ indoor INT) AS $$
NULL AS public_transport, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::int AS is_oneway,
NULL::boolean AS is_ramp, NULL::int AS is_oneway, NULL as man_made,
NULL::int AS layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_transportation_merge_linestring_gen4
@ -97,7 +98,7 @@ indoor INT) AS $$
NULL AS public_transport, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::int AS is_oneway,
NULL::boolean AS is_ramp, NULL::int AS is_oneway, NULL as man_made,
NULL::int AS layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_transportation_merge_linestring_gen3
@ -112,7 +113,7 @@ indoor INT) AS $$
NULL AS public_transport, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::int AS is_oneway,
NULL::boolean AS is_ramp, NULL::int AS is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_highway_linestring_gen2
@ -127,7 +128,7 @@ indoor INT) AS $$
NULL AS public_transport, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::int AS is_oneway,
NULL::boolean AS is_ramp, NULL::int AS is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_highway_linestring_gen1
@ -142,7 +143,7 @@ indoor INT) AS $$
osm_id, geometry,
highway, NULL AS railway, NULL AS aerialway, NULL AS shipway,
public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer,
CASE WHEN highway IN ('footway', 'steps') THEN "level"
ELSE NULL::int
@ -170,7 +171,7 @@ indoor INT) AS $$
NULL AS public_transport, service_value(service) AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::int AS is_oneway,
NULL::boolean AS is_ramp, NULL::int AS is_oneway, NULL as man_made,
NULL::int AS layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_railway_linestring_gen5
@ -185,7 +186,7 @@ indoor INT) AS $$
NULL AS public_transport, service_value(service) AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::int AS is_oneway,
NULL::boolean AS is_ramp, NULL::int AS is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_railway_linestring_gen4
@ -198,7 +199,7 @@ indoor INT) AS $$
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
NULL AS public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_railway_linestring_gen3
@ -211,7 +212,7 @@ indoor INT) AS $$
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
NULL AS public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_railway_linestring_gen2
@ -224,7 +225,7 @@ indoor INT) AS $$
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
NULL AS public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_railway_linestring_gen1
@ -238,7 +239,7 @@ indoor INT) AS $$
osm_id, geometry,
NULL AS highway, railway, NULL AS aerialway, NULL AS shipway,
NULL AS public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_railway_linestring
@ -252,7 +253,7 @@ indoor INT) AS $$
osm_id, geometry,
NULL AS highway, NULL as railway, aerialway, NULL AS shipway,
NULL AS public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_aerialway_linestring_gen1
@ -265,7 +266,7 @@ indoor INT) AS $$
osm_id, geometry,
NULL AS highway, NULL as railway, aerialway, NULL AS shipway,
NULL AS public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_aerialway_linestring
@ -277,7 +278,7 @@ indoor INT) AS $$
osm_id, geometry,
NULL AS highway, NULL AS railway, NULL AS aerialway, shipway,
NULL AS public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_shipway_linestring_gen2
@ -289,7 +290,7 @@ indoor INT) AS $$
osm_id, geometry,
NULL AS highway, NULL AS railway, NULL AS aerialway, shipway,
NULL AS public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_shipway_linestring_gen1
@ -302,7 +303,7 @@ indoor INT) AS $$
osm_id, geometry,
NULL AS highway, NULL AS railway, NULL AS aerialway, shipway,
NULL AS public_transport, service_value(service) AS service,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway,
is_bridge, is_tunnel, is_ford, is_ramp, is_oneway, NULL as man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_shipway_linestring
@ -322,14 +323,14 @@ indoor INT) AS $$
CASE WHEN man_made IN ('bridge') THEN TRUE
ELSE FALSE
END AS is_bridge, FALSE AS is_tunnel, FALSE AS is_ford,
FALSE AS is_ramp, FALSE::int AS is_oneway,
FALSE AS is_ramp, FALSE::int AS is_oneway, man_made,
layer, NULL::int AS level, NULL::boolean AS indoor,
z_order
FROM osm_highway_polygon
-- We do not want underground pedestrian areas for now
WHERE zoom_level >= 13
AND (
man_made IN ('bridge')
man_made IN ('bridge', 'pier')
OR (is_area AND COALESCE(layer, 0) >= 0)
)
) AS zoom_levels

Wyświetl plik

@ -332,6 +332,7 @@ tables:
- platform
man_made:
- bridge
- pier
# TODO: Future table for joining networks
# etldoc: imposm3 -> osm_route_member

Wyświetl plik

@ -18,9 +18,10 @@ layer:
Class is derived from the value of the
[`highway`](http://wiki.openstreetmap.org/wiki/Key:highway),
[`railway`](http://wiki.openstreetmap.org/wiki/Key:railway),
[`aerialway`](http://wiki.openstreetmap.org/wiki/Key:aerialway), or
[`aerialway`](http://wiki.openstreetmap.org/wiki/Key:aerialway),
[`route`](http://wiki.openstreetmap.org/wiki/Key:route) tag (for
shipping ways).
shipping ways), or
[`man_made`](http://wiki.openstreetmap.org/wiki/Key:route).
values:
- motorway
- trunk
@ -36,6 +37,8 @@ layer:
- transit
- cable_car
- ferry
- bridge
- pier
subclass:
description: |
Distinguish more specific classes of railway and path: