diff --git a/Makefile b/Makefile index 86587ef..f7ed98a 100644 --- a/Makefile +++ b/Makefile @@ -65,7 +65,8 @@ build/mapping.yaml: build docker-compose run $(DC_OPTS) openmaptiles-tools generate-imposm3 openmaptiles.yaml > $@ build/tileset.sql: build - docker-compose run $(DC_OPTS) openmaptiles-tools generate-sql openmaptiles.yaml > $@ + # FIXME: switch to openmaptiles-tools after v3.2+ is published + docker-compose run $(DC_OPTS) openmaptiles-tools-latest generate-sql openmaptiles.yaml > $@ .PHONY: clean clean: diff --git a/layers/poi/class.sql b/layers/poi/class.sql index c81573a..74c3190 100644 --- a/layers/poi/class.sql +++ b/layers/poi/class.sql @@ -31,9 +31,6 @@ CREATE OR REPLACE FUNCTION poi_class(subclass TEXT, mapping_key TEXT) RETURNS TEXT AS $$ SELECT CASE %%FIELD_MAPPING: class %% - WHEN (subclass = 'station' AND mapping_key = 'railway') - OR (subclass IN ('halt', 'tram_stop', 'subway')) THEN 'railway' - WHEN (subclass = 'station' AND mapping_key = 'aerialway') THEN 'aerialway' ELSE subclass END; $$ LANGUAGE SQL IMMUTABLE; diff --git a/layers/poi/poi.yaml b/layers/poi/poi.yaml index 8ed707d..d678bd6 100644 --- a/layers/poi/poi.yaml +++ b/layers/poi/poi.yaml @@ -36,7 +36,14 @@ layer: bus: subclass: ['bus_stop', 'bus_station'] railway: + - __AND__: + subclass: 'station' + mapping_key: 'railway' + - subclass: ['halt', 'tram_stop', 'subway'] aerialway: + __AND__: + subclass: 'station' + mapping_key: 'aerialway' entrance: subclass: ['subway_entrance', 'train_station_entrance'] campsite: diff --git a/layers/transportation/class.sql b/layers/transportation/class.sql index 8ed42ab..0bf33ae 100644 --- a/layers/transportation/class.sql +++ b/layers/transportation/class.sql @@ -11,19 +11,6 @@ $$ LANGUAGE SQL IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION highway_class(highway TEXT, public_transport TEXT, construction TEXT) RETURNS TEXT AS $$ SELECT CASE %%FIELD_MAPPING: class %% - WHEN highway = 'construction' THEN CASE - WHEN construction IN ('motorway', 'motorway_link') THEN 'motorway_construction' - WHEN construction IN ('trunk', 'trunk_link') THEN 'trunk_construction' - WHEN construction IN ('primary', 'primary_link') THEN 'primary_construction' - WHEN construction IN ('secondary', 'secondary_link') THEN 'secondary_construction' - WHEN construction IN ('tertiary', 'tertiary_link') THEN 'tertiary_construction' - WHEN construction IN ('', 'unclassified', 'residential', 'living_street', 'road') THEN 'minor_construction' - WHEN construction IN ('pedestrian', 'path', 'footway', 'cycleway', 'steps', 'bridleway', 'corridor') - OR public_transport = 'platform' THEN 'path_construction' - WHEN construction = 'service' THEN 'service_construction' - WHEN construction = 'track' THEN 'track_construction' - WHEN construction = 'raceway' THEN 'raceway_construction' - END END; $$ LANGUAGE SQL IMMUTABLE; diff --git a/layers/transportation/transportation.yaml b/layers/transportation/transportation.yaml index f4da3c3..700d8b2 100644 --- a/layers/transportation/transportation.yaml +++ b/layers/transportation/transportation.yaml @@ -46,15 +46,47 @@ layer: raceway: highway: raceway motorway_construction: + __AND__: + highway: construction + construction: ['motorway', 'motorway_link'] trunk_construction: + __AND__: + highway: construction + construction: ['trunk', 'trunk_link'] primary_construction: + __AND__: + highway: construction + construction: ['primary', 'primary_link'] secondary_construction: + __AND__: + highway: construction + construction: ['secondary', 'secondary_link'] tertiary_construction: + __AND__: + highway: construction + construction: ['tertiary', 'tertiary_link'] minor_construction: + __AND__: + highway: construction + construction: ['', 'unclassified', 'residential', 'living_street', 'road'] path_construction: + __AND__: + - highway: construction + - __OR__: + construction: ['pedestrian', 'path', 'footway', 'cycleway', 'steps', 'bridleway', 'corridor'] + public_transport: platform service_construction: + __AND__: + highway: construction + construction: service track_construction: + __AND__: + highway: construction + construction: track raceway_construction: + __AND__: + highway: construction + construction: raceway subclass: description: | Distinguish more specific classes of railway and path: