From 8a50c19d1fc29d1d0b8eb03653f69ba7785848be Mon Sep 17 00:00:00 2001 From: Matthijs Melissen Date: Fri, 11 Jul 2014 00:38:32 +0100 Subject: [PATCH] Move control over road rendering order to SQL Currently, rendering order of road rendering within one layer is handled by the z_order column, which comes from osm2pgsql. As such, we have little control over road rendering without reloading the database. This PR moves control over the rendering order to the SQL query. This adds complexity to the SQL queries, but increases customizability, and simplifies the roads.mms code. This solves the following issues: * #462 (Move rendering order road types from osm2pgsql to our SQL queries) * #163 (Railways are now drawn above roads) * #167 (Tramway layering issues) * #168 (Paths are now drawn below link roads) * Trac 2024 (Service roads are now rendered below link roads) * Trac 3649 (Service roads are now rendered below race tracks) * Pedestrian and living streets are now consistently ordered * Footways are now always displayed under service ways --- project.mml | 529 +++++++++++++++++++++++++--------------------------- roads.mss | 378 +++++++++---------------------------- 2 files changed, 337 insertions(+), 570 deletions(-) diff --git a/project.mml b/project.mml index fd9b47963f..6f9a24256b 100755 --- a/project.mml +++ b/project.mml @@ -39,9 +39,9 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -85.051, 179.99999692067183, - 85.05112877980659 + 83.66933299999998 ], "id": "world", "class": "", @@ -58,9 +58,9 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -85.051, 179.99999692067183, - 85.05112877980659 + 83.66933299999998 ], "id": "coast-poly", "class": "", @@ -115,13 +115,13 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", - "table": "(select way, name, religion,\ncoalesce (aeroway, amenity, landuse, leisure, military, \"natural\", power, tourism, highway) as feature from (\nselect way, COALESCE(name,'') AS name, \n('aeroway_' || (case when aeroway in ('apron', 'aerodrome') then aeroway else null end)) as aeroway,\n('amenity_' || (case when amenity in ('parking', 'university', 'college', 'school', 'hospital', 'kindergarten', 'grave_yard') then amenity else null end)) as amenity,\n('landuse_' || (case when landuse in ('quarry', 'vineyard', 'orchard', 'cemetery', 'grave_yard', 'residential', 'garages', 'field', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'recreation_ground', 'conservation', 'village_green', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction') then landuse else null end)) as landuse,\n('leisure_' || (case when leisure in ('swimming_pool', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'golf_course', 'picnic_table','sports_centre','stadium','pitch','track') then leisure else null end)) as leisure,\n('military_' || (case when military in ('barracks', 'danger_area') then military else null end)) as military,\n('natural_' || (case when \"natural\" in ('beach','desert','heath','mud','grassland','wood','sand','scrub') then \"natural\" else null end)) as \"natural\",\n('power_' || (case when power in ('station','sub_station','substation','generator') then power else null end)) as power,\n('tourism_' || (case when tourism in ('attraction', 'camp_site', 'caravan_site', 'picnic_site', 'zoo') then tourism else null end)) as tourism,\n('highway_' || (case when highway in ('services', 'rest_area') then highway else null end)) as highway,\ncase when religion in ('christian','jewish') then religion else 'INT-generic'::text end as religion\n from planet_osm_polygon\n where landuse is not null\n or leisure is not null\n or aeroway in ('apron','aerodrome')\n or amenity in ('parking','university','college','school','hospital','kindergarten','grave_yard')\n or military in ('barracks','danger_area')\n or \"natural\" in ('beach','desert','heath','mud','grassland','wood','sand','scrub')\n or power in ('station','sub_station','substation','generator')\n or tourism in ('attraction','camp_site','caravan_site','picnic_site','zoo')\n or highway in ('services','rest_area')\n order by z_order,way_area desc\n ) as landcover\n) as features", + "table": "(select way, name, religion,\ncoalesce (aeroway, amenity, landuse, leisure, military, \"natural\", power, tourism, highway) as feature from (\nselect way, COALESCE(name,'') AS name, \n('aeroway_' || (case when aeroway in ('apron', 'aerodrome') then aeroway else null end)) as aeroway,\n('amenity_' || (case when amenity in ('parking', 'university', 'college', 'school', 'hospital', 'kindergarten', 'grave_yard') then amenity else null end)) as amenity,\n('landuse_' || (case when landuse in ('quarry', 'vineyard', 'orchard', 'cemetery', 'grave_yard', 'residential', 'garages', 'field', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'recreation_ground', 'conservation', 'village_green', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'greenfield', 'construction') then landuse else null end)) as landuse,\n('leisure_' || (case when leisure in ('swimming_pool', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'golf_course', 'picnic_table','sports_centre','stadium','pitch','track') then leisure else null end)) as leisure,\n('military_' || (case when military in ('barracks', 'danger_area') then military else null end)) as military,\n('natural_' || (case when \"natural\" in ('field','beach','desert','heath','mud','grassland','wood','sand','scrub') then \"natural\" else null end)) as \"natural\",\n('power_' || (case when power in ('station','sub_station','substation','generator') then power else null end)) as power,\n('tourism_' || (case when tourism in ('attraction', 'camp_site', 'caravan_site', 'picnic_site', 'zoo') then tourism else null end)) as tourism,\n('highway_' || (case when highway in ('services', 'rest_area') then highway else null end)) as highway,\ncase when religion in ('christian','jewish') then religion else 'INT-generic'::text end as religion\n from planet_osm_polygon\n where landuse is not null\n or leisure is not null\n or aeroway in ('apron','aerodrome')\n or amenity in ('parking','university','college','school','hospital','kindergarten','grave_yard')\n or military in ('barracks','danger_area')\n or \"natural\" in ('field','beach','desert','heath','mud','grassland','wood','sand','scrub')\n or power in ('station','sub_station','substation','generator')\n or tourism in ('attraction','camp_site','caravan_site','picnic_site','zoo')\n or highway in ('services','rest_area')\n order by z_order,way_area desc\n ) as landcover\n) as features", "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "", @@ -138,14 +138,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way\nfrom planet_osm_line\nwhere man_made='cutline'\n) as landcover_line", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -161,14 +161,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,waterway\n from planet_osm_line\n where waterway in ('stream','drain','ditch')\n and (tunnel is null or tunnel != 'yes')\n ) as water_lines_casing", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -184,14 +184,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,waterway\n from planet_osm_line\n where waterway='river'\n ) as water_lines_low_zoom", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -207,14 +207,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,\"natural\",waterway,landuse,name\n from planet_osm_polygon\n where (waterway in ('dock','mill_pond','riverbank','canal')\n or landuse in ('reservoir','water','basin')\n or \"natural\" in ('lake','water','land','glacier','mud'))\n and building is null\n order by z_order,way_area desc\n ) as water_areas", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -230,14 +230,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,\"natural\"\n from planet_osm_polygon\n where \"natural\" in ('marsh','wetland') and building is null\n order by z_order,way_area desc\n ) as water_areas_overlay", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -253,14 +253,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,waterway,lock,name,tunnel\n from planet_osm_line\n where waterway in ('weir','river','canal','derelict_canal','stream','drain','ditch','wadi')\n and (bridge is null or bridge not in ('yes','true','1','aqueduct'))\n order by z_order\n ) as water_lines", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -276,14 +276,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,name from planet_osm_line where waterway='dam') as dam", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -299,14 +299,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_polygon where leisure ='marina') as marinas_area", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -322,14 +322,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,man_made from planet_osm_polygon where man_made in ('pier','breakwater','groyne')) as piers_area", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -345,14 +345,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,man_made from planet_osm_line where man_made in ('pier','breakwater','groyne')) as piers", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -368,14 +368,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,waterway from planet_osm_point where waterway='lock_gate') as locks", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -387,64 +387,18 @@ "advanced": {}, "name": "locks" }, - { - "geometry": "polygon", - "extent": [ - -179.99999692067183, - -85.05112877980659, - 179.99999692067183, - 85.05112877980659 - ], - "Datasource": { - "type": "postgis", - "table": " (select way,building,railway,amenity from planet_osm_polygon\n where railway='station'\n or building in ('station','supermarket')\n or amenity='place_of_worship'\n order by z_order,way_area desc) as buildings_lz", - "extent": "-20037508,-20037508,20037508,20037508", - "key_field": "", - "geometry_field": "way", - "dbname": "gis" - }, - "id": "buildings-lz", - "class": "", - "srs-name": "900913", - "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over", - "advanced": {}, - "name": "buildings-lz" - }, - { - "geometry": "polygon", - "extent": [ - -179.99999692067183, - -85.05112877980659, - 179.99999692067183, - 85.05112877980659 - ], - "Datasource": { - "type": "postgis", - "table": " (select way,aeroway,\n case\n when building in ('garage','roof','garages','service','shed','shelter','cabin','storage_tank','tank','support','glasshouse','greenhouse','mobile_home','kiosk','silo','canopy','tent') then 'INT-light'::text\n else building\n end as building\n from planet_osm_polygon\n where (building is not null\n and building not in ('no','station','supermarket','planned')\n and (railway is null or railway != 'station')\n and (amenity is null or amenity != 'place_of_worship'))\n or aeroway = 'terminal'\n order by z_order,way_area desc) as buildings", - "extent": "-20037508,-20037508,20037508,20037508", - "key_field": "", - "geometry_field": "way", - "dbname": "gis" - }, - "id": "buildings", - "class": "", - "srs-name": "900913", - "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over", - "advanced": {}, - "name": "buildings" - }, { "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", - "table": "(select way,coalesce(('highway_' || highway), ('railway_' ||(case when railway='preserved' and service in ('spur','siding','yard') then 'INT-preserved-ssy'::text when (railway='rail' and service in ('spur','siding','yard')) then 'INT-spur-siding-yard' when railway in ('light_rail', 'narrow_gauge', 'funicular', 'rail', 'subway', 'tram', 'spur', 'siding', 'monorail', 'platform', 'preserved', 'disused', 'construction', 'miniature', 'turntable') then railway else null end)), ('aeroway_' || aeroway)) as feature, horse, foot, bicycle, tracktype, case when access in ('permissive') then 'permissive'::text when access in ('destination') then 'destination'::text when access in ('no', 'private') then 'no'::text else null end as access, construction, case when service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as service, case when oneway in ('yes', '-1') and highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street','construction') then oneway else null end as oneway, case when layer is null then '0' else layer end as layernotnull from planet_osm_line where (highway in ('motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'residential', 'road', 'unclassified', 'service', 'pedestrian', 'living_street', 'raceway', 'bridleway', 'footway', 'cycleway', 'path', 'track', 'steps', 'platform', 'proposed', 'construction') or aeroway in ('runway','taxiway') or railway in ('light_rail', 'subway', 'narrow_gauge', 'rail', 'spur', 'siding', 'preserved', 'funicular', 'tram', 'monorail', 'platform', 'miniature', 'turntable', 'disused', 'construction')) and (tunnel='yes' or tunnel='building_passage' or covered='yes') order by layernotnull, z_order) as tunnels", - "extent": "-20037508,-20037508,20037508,20037508", + "table": "(select way,coalesce(('highway_' || (case when substr(highway, length(highway)-3, 4) = 'link' then substr(highway,0,length(highway)-4) else highway end)), ('railway_' ||(case when railway='preserved' and service in ('spur','siding','yard') then 'INT-preserved-ssy'::text when (railway='rail' and service in ('spur','siding','yard')) then 'INT-spur-siding-yard' else railway end)), ('aeroway_' || aeroway)) as feature, horse, foot, bicycle, tracktype, case when access in ('permissive') then 'permissive'::text when access in ('destination') then 'destination'::text when access in ('no', 'private') then 'no'::text else null end as access, construction, case when service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as service, case when oneway in ('yes', '-1') and highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street','construction') then oneway else null end as oneway, case when substr(highway, length(highway)-3, 4) = 'link' then 'yes' else 'no' end as link, case when layer is null then '0' else layer end as layernotnull from planet_osm_line join (values ('railway_rail',430), ('railway_spur',430), ('railway_siding',430), ('railway_subway',420), ('railway_narrow_gauge',420), ('railway_light_rail',420), ('railway_preserved',420), ('railway_funicular',420), ('railway_monorail',420), ('railway_miniature',420), ('railway_turntable',420), ('railway_tram',410), ('railway_disused',400), ('railway_construction',400), ('highway_motorway',370), ('highway_trunk',360), ('highway_primary',350), ('highway_secondary',340), ('highway_tertiary',340), ('highway_residential',330), ('highway_unclassified',330), ('highway_road',330), ('highway_living_street',320), ('highway_pedestrian',310), ('highway_raceway',300), ('highway_motorway_link',240), ('highway_trunk_link',230), ('highway_primary_link',220), ('highway_secondary_link',210), ('highway_tertiary_link',200), ('highway_service',150), ('highway_track',110), ('highway_path',100), ('highway_footway',100), ('highway_bridleway',100), ('highway_cycleway',100), ('highway_steps',100), ('railway_platform',100), ('aeroway_runway',60), ('aeroway_taxiway',50), ('highway_proposed',20), ('highway_construction',10)) as ordertable (feature, prio) on coalesce(('highway_' || planet_osm_line.highway), ('railway_' || planet_osm_line.railway), ('aeroway_' || planet_osm_line.aeroway)) = ordertable.feature where (tunnel='yes' or tunnel='building_passage' or covered='yes') order by layernotnull, ordertable.prio) as tunnels", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -463,14 +417,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_line where \"historic\"='citywalls') as citywalls", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -486,14 +440,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_line where \"historic\"='castle_walls') as castlewalls", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -509,14 +463,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_polygon where \"historic\"='castle_walls') as castlewalls_poly", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -532,14 +486,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,landuse,leisure\n from planet_osm_polygon\n where (landuse = 'military') and building is null\n ) as landuse_overlay", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -555,14 +509,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way, barrier from planet_osm_line where barrier is not null) as line_barriers", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -578,14 +532,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,\"natural\",man_made from planet_osm_line where \"natural\" = 'cliff' or man_made = 'embankment') as cliffs", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -601,14 +555,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,barrier from planet_osm_polygon where barrier is not null) as area_barriers", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -624,9 +578,9 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", @@ -654,7 +608,7 @@ "Datasource": { "type": "postgis", "table": "(select way from planet_osm_line where route='ferry' ) as ferry_routes", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -670,9 +624,9 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", @@ -693,14 +647,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,coalesce(('highway_' || (case when highway in ('residential','unclassified','pedestrian','service','footway','cycleway','track','path','platform') then 'cycleway' else null end)), ('railway_' || (case when railway in ('platform') then railway else null end))) as feature from planet_osm_polygon\n where highway in ('residential','unclassified','pedestrian','service','footway','track','path','platform')\n or railway in ('platform')\n order by z_order,way_area desc) as highway_area_casing", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -716,14 +670,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", - "table": " (select way,coalesce(('highway_' || highway), ('railway_' ||(case when railway='preserved' and service in ('spur','siding','yard') then 'INT-preserved-ssy'::text when (railway='rail' and service in ('spur','siding','yard')) then 'INT-spur-siding-yard' when railway in ('light_rail', 'narrow_gauge', 'funicular', 'rail', 'subway', 'tram', 'spur', 'siding', 'monorail', 'platform', 'preserved', 'disused', 'construction', 'miniature', 'turntable') then railway else null end)), ('aeroway_' || aeroway)) as feature, horse, foot, bicycle, tracktype, case when access in ('permissive') then 'permissive'::text when access in ('destination') then 'destination'::text when access in ('no', 'private') then 'no'::text else null end as access, construction, case when service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as service, case when oneway in ('yes', '-1') and highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street','construction') then oneway else null end as oneway, case when layer is null then '0' else layer end as layernotnull from planet_osm_line where (highway in ('motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'residential', 'road', 'unclassified', 'service', 'pedestrian', 'living_street', 'raceway', 'bridleway', 'footway', 'cycleway', 'path', 'track', 'steps', 'platform', 'proposed', 'construction') or aeroway in ('runway','taxiway') or railway in ('light_rail', 'subway', 'narrow_gauge', 'rail', 'spur', 'siding', 'preserved', 'funicular', 'tram', 'monorail', 'platform', 'miniature', 'turntable', 'disused', 'construction')) and (tunnel is null or not tunnel in ('yes','building_passage')) and (covered is null or not covered='yes') and (bridge is null or not bridge in ('yes','true','1','viaduct')) order by z_order) as roads", - "extent": "-20037508,-20037508,20037508,20037508", + "table": "(select way,coalesce(('highway_' || (case when substr(highway, length(highway)-3, 4) = 'link' then substr(highway,0,length(highway)-4) else highway end)), ('railway_' ||(case when railway='preserved' and service in ('spur','siding','yard') then 'INT-preserved-ssy'::text when (railway='rail' and service in ('spur','siding','yard')) then 'INT-spur-siding-yard' else railway end)), ('aeroway_' || aeroway)) as feature, horse, foot, bicycle, tracktype, case when access in ('permissive') then 'permissive'::text when access in ('destination') then 'destination'::text when access in ('no', 'private') then 'no'::text else null end as access, construction, case when service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as service, case when oneway in ('yes', '-1') and highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street','construction') then oneway else null end as oneway, case when substr(highway, length(highway)-3, 4) = 'link' then 'yes' else 'no' end as link, case when layer is null then '0' else layer end as layernotnull from planet_osm_line join ( values ('railway_rail',430), ('railway_spur',430), ('railway_siding',430), ('railway_subway',420), ('railway_narrow_gauge',420), ('railway_light_rail',420), ('railway_preserved',420), ('railway_funicular',420), ('railway_monorail',420), ('railway_miniature',420), ('railway_turntable',420), ('railway_tram',410), ('railway_disused',400), ('railway_construction',400), ('highway_motorway',370), ('highway_trunk',360), ('highway_primary',350), ('highway_secondary',340), ('highway_tertiary',340), ('highway_residential',330), ('highway_unclassified',330), ('highway_road',330), ('highway_living_street',320), ('highway_pedestrian',310), ('highway_raceway',300), ('highway_motorway_link',240), ('highway_trunk_link',230), ('highway_primary_link',220), ('highway_secondary_link',210), ('highway_tertiary_link',200), ('highway_service',150), ('highway_track',110), ('highway_path',100), ('highway_footway',100), ('highway_bridleway',100), ('highway_cycleway',100), ('highway_steps',100), ('railway_platform',100), ('aeroway_runway',60), ('aeroway_taxiway',50), ('highway_proposed',20), ('highway_construction',10)) as ordertable (feature, prio) on coalesce(('highway_' || planet_osm_line.highway), ('railway_' || planet_osm_line.railway), ('aeroway_' || planet_osm_line.aeroway)) = ordertable.feature where (tunnel is null or not tunnel in ('yes','building_passage')) and (covered is null or not covered='yes') and (bridge is null or not bridge in ('yes','true','1','viaduct')) order by ordertable.prio) as roads", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -738,14 +692,14 @@ { "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,coalesce(('highway_' || (case when highway in ('residential','unclassified','pedestrian','service','footway','cycleway','living_street','track','path','platform','services') then 'cycleway' else null end)), ('railway_' || (case when railway in ('platform') then railway else null end)), (('aeroway_' || case when aeroway in ('runway','taxiway','helipad') then aeroway else null end))) as feature from planet_osm_polygon\n where highway in ('residential','unclassified','pedestrian','service','footway','living_street','track','path','platform','services')\n or railway in ('platform')\n or aeroway in ('runway','taxiway','helipad')\n order by z_order,way_area desc) as highway_area_fill", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -757,18 +711,64 @@ "advanced": {}, "name": "highway-area-fill" }, + { + "geometry": "polygon", + "extent": [ + -179.99999692067183, + -84.96651228427099, + 179.99999692067183, + 84.96651228427098 + ], + "Datasource": { + "type": "postgis", + "table": " (select way,building,railway,amenity from planet_osm_polygon\n where railway='station'\n or building in ('station','supermarket')\n or amenity='place_of_worship'\n order by z_order,way_area desc) as buildings_lz", + "extent": "-20037508,-19929239,20037508,19929239", + "key_field": "", + "geometry_field": "way", + "dbname": "gis" + }, + "id": "buildings-lz", + "class": "", + "srs-name": "900913", + "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over", + "advanced": {}, + "name": "buildings-lz" + }, + { + "geometry": "polygon", + "extent": [ + -179.99999692067183, + -84.96651228427099, + 179.99999692067183, + 84.96651228427098 + ], + "Datasource": { + "type": "postgis", + "table": " (select way,aeroway,\n case\n when building in ('garage','roof','garages','service','shed','shelter','cabin','storage_tank','tank','support','glasshouse','greenhouse','mobile_home','kiosk','silo','canopy','tent') then 'INT-light'::text\n else building\n end as building\n from planet_osm_polygon\n where (building is not null\n and building not in ('no','station','supermarket','planned')\n and (railway is null or railway != 'station')\n and (amenity is null or amenity != 'place_of_worship'))\n or aeroway = 'terminal'\n order by z_order,way_area desc) as buildings", + "extent": "-20037508,-19929239,20037508,19929239", + "key_field": "", + "geometry_field": "way", + "dbname": "gis" + }, + "id": "buildings", + "class": "", + "srs-name": "900913", + "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over", + "advanced": {}, + "name": "buildings" + }, { "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", - "table": " (select way,coalesce(('highway_' || highway), ('railway_' ||(case when railway='preserved' and service in ('spur','siding','yard') then 'INT-preserved-ssy'::text when (railway='rail' and service in ('spur','siding','yard')) then 'INT-spur-siding-yard' when railway in ('light_rail', 'narrow_gauge', 'funicular', 'rail', 'subway', 'tram', 'spur', 'siding', 'monorail', 'platform', 'preserved', 'disused', 'construction', 'miniature', 'turntable') then railway else null end)), ('aeroway_' || aeroway)) as feature, horse, foot, bicycle, tracktype, case when access in ('permissive') then 'permissive'::text when access in ('destination') then 'destination'::text when access in ('no', 'private') then 'no'::text else null end as access, construction, case when service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as service, case when oneway in ('yes', '-1') and highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street','construction') then oneway else null end as oneway, case when layer is null then '0' else layer end as layernotnull from planet_osm_line where (highway in ('motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'residential', 'road', 'unclassified', 'service', 'pedestrian', 'living_street', 'raceway', 'bridleway', 'footway', 'cycleway', 'path', 'track', 'steps', 'platform', 'proposed', 'construction') or aeroway in ('runway','taxiway') or railway in ('light_rail', 'subway', 'narrow_gauge', 'rail', 'spur', 'siding', 'preserved', 'funicular', 'tram', 'monorail', 'platform', 'miniature', 'turntable', 'disused', 'construction')) and (tunnel is null or not tunnel in ('yes','building_passage')) and (covered is null or not covered='yes') and (bridge is null or not bridge in ('yes','true','1','viaduct')) order by z_order) as roads_fill", - "extent": "-20037508,-20037508,20037508,20037508", + "table": "(select way,coalesce(('highway_' || (case when substr(highway, length(highway)-3, 4) = 'link' then substr(highway,0,length(highway)-4) else highway end)), ('railway_' ||(case when railway='preserved' and service in ('spur','siding','yard') then 'INT-preserved-ssy'::text when (railway='rail' and service in ('spur','siding','yard')) then 'INT-spur-siding-yard' else railway end)), ('aeroway_' || aeroway)) as feature, horse, foot, bicycle, tracktype, case when access in ('permissive') then 'permissive'::text when access in ('destination') then 'destination'::text when access in ('no', 'private') then 'no'::text else null end as access, construction, case when service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as service, case when oneway in ('yes', '-1') and highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street','construction') then oneway else null end as oneway, case when substr(highway, length(highway)-3, 4) = 'link' then 'yes' else 'no' end as link, case when layer is null then '0' else layer end as layernotnull from planet_osm_line join ( values ('railway_rail',430), ('railway_spur',430), ('railway_siding',430), ('railway_subway',420), ('railway_narrow_gauge',420), ('railway_light_rail',420), ('railway_preserved',420), ('railway_funicular',420), ('railway_monorail',420), ('railway_miniature',420), ('railway_turntable',420), ('railway_tram',410), ('railway_disused',400), ('railway_construction',400), ('highway_motorway',370), ('highway_trunk',360), ('highway_primary',350), ('highway_secondary',340), ('highway_tertiary',340), ('highway_residential',330), ('highway_unclassified',330), ('highway_road',330), ('highway_living_street',320), ('highway_pedestrian',310), ('highway_raceway',300), ('highway_motorway_link',240), ('highway_trunk_link',230), ('highway_primary_link',220), ('highway_secondary_link',210), ('highway_tertiary_link',200), ('highway_service',150), ('highway_track',110), ('highway_path',100), ('highway_footway',100), ('highway_bridleway',100), ('highway_cycleway',100), ('highway_steps',100), ('railway_platform',100), ('aeroway_runway',60), ('aeroway_taxiway',50), ('highway_proposed',20), ('highway_construction',10)) as ordertable (feature, prio) on coalesce(('highway_' || planet_osm_line.highway), ('railway_' || planet_osm_line.railway), ('aeroway_' || planet_osm_line.aeroway)) = ordertable.feature where (tunnel is null or not tunnel in ('yes','building_passage')) and (covered is null or not covered='yes') and (bridge is null or not bridge in ('yes','true','1','viaduct')) order by ordertable.prio) as roads_fill", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -784,14 +784,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select distinct on (p.way) p.way as way,l.highway as int_tc_type,case when l.service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as int_tc_service\n from planet_osm_point p\n join planet_osm_line l\n on ST_DWithin(p.way,l.way,0.1)\n join (values\n ('tertiary',1),\n ('unclassified',2),\n ('residential',3),\n ('living_street',4),\n ('service',5)\n ) as v (highway,prio)\n on v.highway=l.highway\n where p.highway='turning_circle' or p.highway='turning_loop' \n order by p.way,v.prio\n ) as turning_circle_fill", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -807,14 +807,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,aerialway from planet_osm_line where aerialway is not null) as aerialways", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -830,14 +830,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,coalesce(('highway_' || (case when highway is not null then highway else null end)), ('railway_' || (case when (railway='rail' and service in ('spur','siding','yard')) then 'INT-spur-siding-yard' when railway in ('rail','tram','light_rail','funicular','narrow_gauge') then railway else null end))) as feature,tunnel\n from planet_osm_roads\n where highway is not null\n or (railway is not null and railway!='preserved' and (service is null or service not in ('spur','siding','yard')))\n order by z_order\n ) as roads_low_zoom", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -853,14 +853,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,name from planet_osm_line where waterway='canal' and bridge in ('yes','true','1','aqueduct') order by z_order) as waterway_bridges", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -876,14 +876,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", - "table": "(select way,coalesce(('highway_' || highway), ('railway_' ||(case when railway='preserved' and service in ('spur','siding','yard') then 'INT-preserved-ssy'::text when (railway='rail' and service in ('spur','siding','yard')) then 'INT-spur-siding-yard' when railway in ('light_rail', 'narrow_gauge', 'funicular', 'rail', 'subway', 'tram', 'spur', 'siding', 'monorail', 'platform', 'preserved', 'disused', 'construction', 'miniature', 'turntable') then railway else null end)), ('aeroway_' || aeroway)) as feature, horse, foot, bicycle, tracktype, case when access in ('permissive') then 'permissive'::text when access in ('destination') then 'destination'::text when access in ('no', 'private') then 'no'::text else null end as access, construction, case when service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as service, case when oneway in ('yes', '-1') and highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street','construction') then oneway else null end as oneway, case when layer is null then '0' else layer end as layernotnull from planet_osm_line where (highway in ('motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'residential', 'road', 'unclassified', 'service', 'pedestrian', 'living_street', 'raceway', 'bridleway', 'footway', 'cycleway', 'path', 'track', 'steps', 'platform', 'proposed', 'construction') or aeroway in ('runway','taxiway') or railway in ('light_rail', 'subway', 'narrow_gauge', 'rail', 'spur', 'siding', 'preserved', 'funicular', 'tram', 'monorail', 'platform', 'miniature', 'turntable', 'disused', 'construction')) and bridge in ('yes','true','1','viaduct') and (layer is null or (layer in ('0','1','2','3','4','5'))) order by layernotnull, z_order) as bridges", - "extent": "-20037508,-20037508,20037508,20037508", + "table": "(select way,coalesce(('highway_' || (case when substr(highway, length(highway)-3, 4) = 'link' then substr(highway,0,length(highway)-4) else highway end)), ('railway_' ||(case when railway='preserved' and service in ('spur','siding','yard') then 'INT-preserved-ssy'::text when (railway='rail' and service in ('spur','siding','yard')) then 'INT-spur-siding-yard' else railway end)), ('aeroway_' || aeroway)) as feature, horse, foot, bicycle, tracktype, case when access in ('permissive') then 'permissive'::text when access in ('destination') then 'destination'::text when access in ('no', 'private') then 'no'::text else null end as access, construction, case when service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as service, case when oneway in ('yes', '-1') and highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street','construction') then oneway else null end as oneway, case when substr(highway, length(highway)-3, 4) = 'link' then 'yes' else 'no' end as link, case when layer is null then '0' else layer end as layernotnull from planet_osm_line join ( values ('railway_rail',430), ('railway_spur',430), ('railway_siding',430), ('railway_subway',420), ('railway_narrow_gauge',420), ('railway_light_rail',420), ('railway_preserved',420), ('railway_funicular',420), ('railway_monorail',420), ('railway_miniature',420), ('railway_turntable',420), ('railway_tram',410), ('railway_disused',400), ('railway_construction',400), ('highway_motorway',370), ('highway_trunk',360), ('highway_primary',350), ('highway_secondary',340), ('highway_tertiary',340), ('highway_residential',330), ('highway_unclassified',330), ('highway_road',330), ('highway_living_street',320), ('highway_pedestrian',310), ('highway_raceway',300), ('highway_motorway_link',240), ('highway_trunk_link',230), ('highway_primary_link',220), ('highway_secondary_link',210), ('highway_tertiary_link',200), ('highway_service',150), ('highway_track',110), ('highway_path',100), ('highway_footway',100), ('highway_bridleway',100), ('highway_cycleway',100), ('highway_steps',100), ('railway_platform',100), ('aeroway_runway',60), ('aeroway_taxiway',50), ('highway_proposed',20), ('highway_construction',10)) as ordertable (feature, prio) on coalesce(('highway_' || planet_osm_line.highway), ('railway_' || planet_osm_line.railway), ('aeroway_' || planet_osm_line.aeroway)) = ordertable.feature where bridge in ('yes','true','1','viaduct') and (layer is null or (layer in ('0','1','2','3','4','5'))) order by layernotnull, ordertable.prio) as bridges", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -902,37 +902,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, - 179.99999692067183, - 85.05112877980659 - ], - "Datasource": { - "type": "postgis", - "table": "(select way,railway,bridge from planet_osm_line where railway='tram' and (tunnel is null or tunnel != 'yes')) as trams", - "extent": "-20037508,-20037508,20037508,20037508", - "key_field": "", - "geometry_field": "way", - "dbname": "gis" - }, - "id": "trams", - "class": "", - "srs-name": "900913", - "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over", - "advanced": {}, - "name": "trams" - }, - { - "geometry": "linestring", - "extent": [ - -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_line where highway='bus_guideway' and (tunnel is null or tunnel != 'yes')) as guideways", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -948,14 +925,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,admin_level\n from planet_osm_roads\n where \"boundary\"='administrative'\n and admin_level in ('0','1','2','3','4')\n ) as admin_01234", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -971,14 +948,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,admin_level\n from planet_osm_roads\n where \"boundary\"='administrative'\n and admin_level in ('5','6','7','8')\n ) as admin_5678", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -994,14 +971,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,admin_level\n from planet_osm_roads\n where \"boundary\"='administrative'\n and admin_level in ('9', '10')\n ) as admin_other", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1017,14 +994,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_line where \"power\"='minor_line') as power_minorline", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1040,14 +1017,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_line where \"power\"='line') as power_line", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1085,14 +1062,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,place,name,ref\n from planet_osm_point\n where place in ('country','state')\n ) as placenames_large", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1108,14 +1085,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,place,name,ref\n from planet_osm_point\n where place in ('city','town') and capital='yes'\n ) as placenames_capital", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1131,14 +1108,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,place,name\n from planet_osm_point\n where place in ('city','town')\n and (capital is null or capital != 'yes')\n ) as placenames_medium", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1154,14 +1131,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,place,name\n from planet_osm_point\n where place in ('suburb','village','hamlet','neighbourhood','locality','isolated_dwelling','farm')\n ) as placenames_small", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1177,14 +1154,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,name,railway,aerialway,disused\n from planet_osm_point\n where railway in ('station','halt','tram_stop','subway_entrance')\n or aerialway='station'\n ) as stations", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1200,14 +1177,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,name,railway,aerialway,disused\n from planet_osm_polygon\n where railway in ('station','halt','tram_stop')\n or aerialway='station'\n ) as stations_poly", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1223,14 +1200,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,name,way_area\n from planet_osm_polygon\n where \"natural\"='glacier' and building is null\n order by way_area desc\n ) as glaciers_text", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1246,14 +1223,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select *\n from planet_osm_point\n where aeroway in ('aerodrome','helipad')\n or barrier in ('bollard','gate','lift_gate','block')\n or highway in ('mini_roundabout','gate')\n or man_made in ('lighthouse','power_wind','windmill','mast')\n or (power='generator' and (\"generator:source\"='wind' or power_source='wind'))\n or \"natural\" in ('peak','volcano','spring','tree','cave_entrance')\n or railway='level_crossing'\n ) as amenity_symbols", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1269,14 +1246,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select *\n from planet_osm_polygon\n where aeroway in ('aerodrome','helipad')\n or barrier in ('bollard','gate','lift_gate','block')\n or highway in ('mini_roundabout','gate')\n or man_made in ('lighthouse','power_wind','windmill','mast')\n or (power='generator' and (\"generator:source\"='wind' or power_source='wind'))\n or \"natural\" in ('peak','volcano','spring','tree')\n or railway='level_crossing'\n ) as amenity_symbols_poly", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1292,14 +1269,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,amenity,shop,tourism,highway,man_made,access,religion,waterway,lock,historic,leisure\n from planet_osm_point\n where amenity is not null\n or shop is not null\n or tourism in ('alpine_hut','camp_site','picnic_site','caravan_site','guest_house','hostel','hotel','motel','museum','viewpoint','bed_and_breakfast','information','chalet')\n or highway in ('bus_stop','traffic_signals','ford')\n or man_made in ('mast','water_tower')\n or historic in ('memorial','archaeological_site')\n or waterway='lock'\n or lock='yes'\n or leisure in ('playground','slipway','picnic_table')\n ) as amenity_points", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1315,14 +1292,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,amenity,shop,tourism,highway,man_made,access,religion,waterway,lock,historic,leisure\n from planet_osm_polygon\n where amenity is not null\n or shop is not null\n or tourism in ('alpine_hut','camp_site','picnic_site','caravan_site','guest_house','hostel','hotel','motel','museum','viewpoint','bed_and_breakfast','information','chalet')\n or highway in ('bus_stop','traffic_signals')\n or man_made in ('mast','water_tower')\n or historic in ('memorial','archaeological_site')\n or leisure in ('playground', 'picnic_table')\n ) as amenity_points_poly", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1338,14 +1315,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_point where power='tower') as power_towers", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1361,14 +1338,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_point where power='pole') as power_poles", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1384,14 +1361,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", - "table": " (select way,highway,ref,char_length(ref) as length\n from planet_osm_roads\n where highway in ('motorway','trunk','primary','secondary')\n and ref is not null\n and char_length(ref) between 1 and 11\n ) as roads_text_ref_low_zoom", - "extent": "-20037508,-20037508,20037508,20037508", + "table": " (select way,highway,ref,char_length(ref) as length\n from planet_osm_roads\n where highway in ('motorway','trunk','primary','secondary')\n and ref is not null\n and char_length(ref) between 1 and 8\n ) as roads_text_ref_low_zoom", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1407,14 +1384,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,ref,name\n from planet_osm_point\n where highway='motorway_junction'\n ) as highway_junctions", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1430,14 +1407,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", - "table": " (select way,coalesce(highway,aeroway) as highway,ref,char_length(ref) as length,\n case when bridge in ('yes','true','1') then 'yes'::text else 'no'::text end as bridge\n from planet_osm_line\n where (highway is not null or aeroway is not null)\n and ref is not null\n and char_length(ref) between 1 and 11\n ) as roads_text_ref", - "extent": "-20037508,-20037508,20037508,20037508", + "table": " (select way,coalesce(highway,aeroway) as highway,ref,char_length(ref) as length,\n case when bridge in ('yes','true','1') then 'yes'::text else 'no'::text end as bridge\n from planet_osm_line\n where (highway is not null or aeroway is not null)\n and ref is not null\n and char_length(ref) between 1 and 8\n ) as roads_text_ref", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1453,14 +1430,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way, highway, name\n from planet_osm_polygon\n where highway='pedestrian'\n and name is not null\n ) as roads_area_text_name", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1476,14 +1453,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way, highway, name\n from planet_osm_line\n where highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street', 'construction','proposed') \n and name is not null\n ) as roads_text_name", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1499,14 +1476,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way, highway, name\n from planet_osm_line\n where highway in ('bridleway', 'footway', 'cycleway', 'path', 'track', 'steps') \n and name is not null\n ) as paths_text_name", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1522,14 +1499,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,amenity,shop,access,leisure,landuse,man_made,\"natural\",place,tourism,ele,name,ref,military,aeroway,waterway,historic,NULL as way_area\n from planet_osm_point\n where amenity is not null\n or shop in ('supermarket','bakery','clothes','fashion','convenience','doityourself','hairdresser','department_store','butcher','car','car_repair','bicycle','florist')\n or leisure is not null\n or landuse is not null\n or tourism is not null\n or \"natural\" is not null\n or man_made in ('lighthouse','windmill')\n or place='island'\n or military='danger_area'\n or aeroway='gate'\n or waterway='lock'\n or historic in ('memorial','archaeological_site')\n ) as text", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1545,14 +1522,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,aeroway,shop,access,amenity,leisure,landuse,man_made,\"natural\",place,tourism,NULL as ele,name,ref,military,waterway,historic,way_area\n from planet_osm_polygon\n where amenity is not null\n or shop in ('supermarket','bakery','clothes','fashion','convenience','doityourself','hairdresser','department_store', 'butcher','car','car_repair','bicycle')\n or leisure is not null\n or landuse is not null\n or tourism is not null\n or \"natural\" is not null\n or man_made in ('lighthouse','windmill')\n or place='island'\n or military='danger_area'\n or historic in ('memorial','archaeological_site')\n ) as text_poly", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1568,14 +1545,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select name, way, way_area from planet_osm_polygon where building is not null and building not in ('no','station','supermarket')) as building_text", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1591,14 +1568,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way from planet_osm_line where \"addr:interpolation\" is not null) as interpolation", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1614,14 +1591,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,\"addr:housenumber\" from planet_osm_polygon where \"addr:housenumber\" is not null and building is not null\n union\n select way,\"addr:housenumber\" from planet_osm_point where \"addr:housenumber\" is not null\n ) as housenumbers", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1637,14 +1614,14 @@ "geometry": "point", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,\"addr:housename\" from planet_osm_polygon where \"addr:housename\" is not null and building is not null\n union\n select way,\"addr:housename\" from planet_osm_point where \"addr:housename\" is not null\n ) as housenames", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1660,14 +1637,14 @@ "geometry": "linestring", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": " (select way,waterway,lock,name,tunnel\n from planet_osm_line\n where waterway in ('weir','river','canal','derelict_canal','stream','drain','ditch','wadi')\n order by z_order\n ) as water_lines_text", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1682,9 +1659,9 @@ { "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427098, 179.99999692067183, - 85.05112877980659 + 84.96651228427099 ], "Datasource": { "type": "postgis", @@ -1692,7 +1669,7 @@ "key_field": "", "geometry_field": "way", "extent_cache": "custom", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "dbname": "gis" }, "id": "admin-text", @@ -1707,14 +1684,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,way_area,name,boundary from planet_osm_polygon where (boundary='national_park' or leisure='nature_reserve') and building is null) as national_park_boundaries", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" @@ -1730,14 +1707,14 @@ "geometry": "polygon", "extent": [ -179.99999692067183, - -85.05112877980659, + -84.96651228427099, 179.99999692067183, - 85.05112877980659 + 84.96651228427098 ], "Datasource": { "type": "postgis", "table": "(select way,name,tourism from planet_osm_polygon where tourism='theme_park') as theme_park", - "extent": "-20037508,-20037508,20037508,20037508", + "extent": "-20037508,-19929239,20037508,19929239", "key_field": "", "geometry_field": "way", "dbname": "gis" diff --git a/roads.mss b/roads.mss index 8045c4149e..b98c0447f4 100644 --- a/roads.mss +++ b/roads.mss @@ -113,134 +113,20 @@ @bridge-casing-width-z17: 0.75; .roads-casing, .bridges-casing, .tunnels-casing { - ::casing_links { - [feature = 'highway_raceway'] { - [zoom >= 12] { - line-color: pink; - line-width: 1.2; - line-join: round; - line-cap: round; - } - [zoom >= 13] { line-width: 4; } - [zoom >= 15] { line-width: 7; } - } - - [feature = 'highway_motorway_link'] { - [zoom >= 12] { - line-color: @motorway-casing; - line-width: @motorway-link-width-z12; - [zoom >= 13] { line-width: @motorway-link-width-z13; } - [zoom >= 15] { line-width: @motorway-link-width-z15; } - [zoom >= 17] { line-width: @motorway-link-width-z17; } - .roads-casing { - line-join: round; - } - .tunnels-casing { - line-dasharray: 4,2; - } - .bridges-casing { - line-join: round; - [zoom >= 13] { line-color: @bridge-casing; } - } - } - } - - [feature = 'highway_trunk_link'] { - [zoom >= 12] { - line-width: @trunk-width-z12; - [zoom >= 13] { line-width: @trunk-width-z13; } - [zoom >= 15] { line-width: @trunk-width-z15; } - [zoom >= 17] { line-width: @trunk-width-z17; } - line-color: @trunk-casing; - .roads-casing { - line-join: round; - line-cap: round; - } - .tunnels-casing { - line-dasharray: 4,2; - } - .bridges-casing { - line-join: round; - [zoom >= 13] { line-color: @bridge-casing; } - } - } - } - - [feature = 'highway_primary_link'] { - [zoom >= 12] { - line-color: @primary-casing; - line-width: @primary-width-z12; - [zoom >= 13] { line-width: @primary-width-z13; } - [zoom >= 15] { line-width: @primary-width-z15; } - [zoom >= 17] { line-width: @primary-width-z17; } - .roads-casing { - line-join: round; - line-cap: round; - } - .tunnels-casing { - line-dasharray: 4,2; - } - .bridges-casing { - line-join: round; - [zoom >= 13] { line-color: @bridge-casing; } - } - } - } - - [feature = 'highway_secondary_link'] { - [zoom >= 12] { - line-color: @secondary-casing; - line-width: @secondary-width-z12; - [zoom >= 13] { line-width: @secondary-width-z13; } - [zoom >= 15] { line-width: @secondary-width-z15; } - [zoom >= 17] { line-width: @secondary-width-z17; } - .roads-casing { - line-cap: round; - line-join: round; - } - .tunnels-casing { - line-dasharray: 4,2; - } - .bridges-casing { - [zoom >= 13] { - line-color: @bridge-casing; - line-join: round; - } - } - } - } - - [feature = 'highway_tertiary_link'] { - [zoom >= 13] { - line-color: @tertiary-casing; - line-width: @tertiary-width-z13; - [zoom >= 14] { line-width: @tertiary-width-z14; } - [zoom >= 15] { line-width: @tertiary-width-z15; } - [zoom >= 17] { line-width: @tertiary-width-z17; } - .roads-casing { - line-cap: round; - line-join: round; - } - .tunnels-casing { - line-dasharray: 4,2; - } - .bridges-casing { - [zoom >= 14] { - line-color: @bridge-casing; - line-join: round; - } - } - } - } - } - ::casing { [zoom >= 12] { + [feature = 'highway_motorway_link'], [feature = 'highway_motorway'] { line-width: @motorway-width-z12; [zoom >= 13] { line-width: @motorway-width-z13; } [zoom >= 15] { line-width: @motorway-width-z15; } [zoom >= 17] { line-width: @motorway-width-z17; } + [link = 'yes'] { + line-width: @motorway-link-width-z12; + [zoom >= 13] { line-width: @motorway-link-width-z13; } + [zoom >= 15] { line-width: @motorway-link-width-z15; } + [zoom >= 17] { line-width: @motorway-link-width-z17; } + } line-color: @motorway-casing; .roads-casing { line-join: round; @@ -256,6 +142,7 @@ } } + [feature = 'highway_trunk_link'], [feature = 'highway_trunk'] { [zoom >= 12] { line-color: @trunk-casing; @@ -277,6 +164,7 @@ } } + [feature = 'highway_primary_link'], [feature = 'highway_primary'] { [zoom >= 12] { line-color: @primary-casing; @@ -298,6 +186,7 @@ } } + [feature = 'highway_secondary_link'], [feature = 'highway_secondary'] { [zoom >= 12] { line-color: @secondary-casing; @@ -321,6 +210,7 @@ } } + [feature = 'highway_tertiary_link'], [feature = 'highway_tertiary'] { [zoom >= 13] { line-color: @tertiary-casing; @@ -524,10 +414,34 @@ } } + [feature = 'highway_raceway'] { + [zoom >= 12] { + line-color: pink; + line-width: 1.2; + line-join: round; + line-cap: round; + } + [zoom >= 13] { line-width: 4; } + [zoom >= 15] { line-width: 7; } + } + + [feature = 'railway_tram'] { + .bridges-casing { + [zoom >= 13] { + line-width: 4; + [zoom >= 15] { + line-width: 5; + } + line-color: black; + line-join: round; + } + } + } + [feature = 'railway_subway'] { .bridges-casing { [zoom >= 14] { - line-width: 5.5; + line-width: 5; line-color: black; line-join: round; } @@ -717,6 +631,18 @@ } } + [feature = 'railway_tram'] { + .bridges-casing { + [zoom >= 13] { + line-width: 3; + [zoom >= 15] { + line-width: 4; + } + line-color: white; + } + } + } + [feature = 'railway_subway'] { .bridges-casing { [zoom >= 14] { @@ -742,125 +668,7 @@ } .roads-fill,.bridges-fill,.tunnels-fill { - ::fill_links { - [feature = 'highway_motorway_link'] { - [zoom >= 12] { - line-width: @motorway-link-width-z12 - 2 * @casing-width-z12; - [zoom >= 13] { line-width: @motorway-link-width-z13 - 2 * @casing-width-z13; } - [zoom >= 15] { line-width: @motorway-link-width-z15 - 2 * @casing-width-z15; } - [zoom >= 17] { line-width: @motorway-link-width-z17 - 2 * @casing-width-z17; } - .roads-fill, .bridges-fill { - line-color: @motorway-fill; - } - .tunnels-fill { - line-color: @motorway-tunnel-fill; - } - .bridges-fill { - line-width: @motorway-link-width-z12 - 2 * @bridge-casing-width-z12; - [zoom >= 13] { line-width: @motorway-link-width-z13 - 2 * @bridge-casing-width-z13; } - [zoom >= 15] { line-width: @motorway-link-width-z15 - 2 * @bridge-casing-width-z15; } - [zoom >= 17] { line-width: @motorway-link-width-z17 - 2 * @bridge-casing-width-z17; } - } - line-cap: round; - line-join: round; - } - } - - [feature = 'highway_trunk_link'] { - [zoom >= 12] { - line-width: @trunk-width-z12 - 2 * @casing-width-z12; - [zoom >= 13] { line-width: @trunk-width-z13 - 2 * @casing-width-z13; } - [zoom >= 15] { line-width: @trunk-width-z15 - 2 * @casing-width-z15; } - [zoom >= 17] { line-width: @trunk-width-z17 - 2 * @casing-width-z17; } - .roads-fill, .bridges-fill { - line-color: @trunk-fill; - } - .tunnels-fill { - line-color: @trunk-tunnel-fill; - } - .bridges-fill { - line-width: @trunk-width-z12 - 2 * @bridge-casing-width-z12; - [zoom >= 13] { line-width: @trunk-width-z13 - 2 * @bridge-casing-width-z13; } - [zoom >= 15] { line-width: @trunk-width-z15 - 2 * @bridge-casing-width-z15; } - [zoom >= 17] { line-width: @trunk-width-z17 - 2 * @bridge-casing-width-z17; } - } - line-cap: round; - line-join: round; - } - } - - [feature = 'highway_primary_link'] { - [zoom >= 12] { - line-width: @primary-width-z12 - 2 * @casing-width-z12; - [zoom >= 13] { line-width: @primary-width-z13 - 2 * @casing-width-z13; } - [zoom >= 15] { line-width: @primary-width-z15 - 2 * @casing-width-z15; } - [zoom >= 17] { line-width: @primary-width-z17 - 2 * @casing-width-z17; } - .roads-fill, .bridges-fill { - line-color: @primary-fill; - } - .tunnels-fill { - line-color: @primary-tunnel-fill; - } - .bridges-fill { - line-width: @primary-width-z12 - 2 * @bridge-casing-width-z12; - [zoom >= 13] { line-width: @primary-width-z13 - 2 * @bridge-casing-width-z13; } - [zoom >= 15] { line-width: @primary-width-z15 - 2 * @bridge-casing-width-z15; } - [zoom >= 17] { line-width: @primary-width-z17 - 2 * @bridge-casing-width-z17; } - } - line-cap: round; - line-join: round; - } - } - - [feature = 'highway_secondary_link'] { - [zoom >= 12] { - line-width: @secondary-width-z12 - 2 * @casing-width-z12; - [zoom >= 13] { line-width: @secondary-width-z13 - 2 * @casing-width-z13; } - [zoom >= 15] { line-width: @secondary-width-z15 - 2 * @casing-width-z15; } - [zoom >= 17] { line-width: @secondary-width-z17 - 2 * @casing-width-z17; } - .roads-fill, .bridges-fill { - line-color: @secondary-fill; - } - .tunnels-fill { - line-color: @secondary-tunnel-fill; - } - .bridges-fill { - line-width: @secondary-width-z12 - 2 * @bridge-casing-width-z12; - [zoom >= 13] { line-width: @secondary-width-z13 - 2 * @bridge-casing-width-z13; } - [zoom >= 15] { line-width: @secondary-width-z15 - 2 * @bridge-casing-width-z15; } - [zoom >= 17] { line-width: @secondary-width-z17 - 2 * @bridge-casing-width-z17; } - } - line-cap: round; - line-join: round; - } - } - - [feature = 'highway_tertiary_link'] { - [zoom >= 13] { - line-width: @tertiary-width-z13 - 2 * @casing-width-z13; - [zoom >= 14] { line-width: @tertiary-width-z14 - 2 * @casing-width-z14; } - [zoom >= 15] { line-width: @tertiary-width-z15 - 2 * @tertiary-width-z15; } - [zoom >= 17] { line-width: @tertiary-width-z17 - 2 * @tertiary-width-z17; } - .roads-fill, .bridges-fill { - line-color: @tertiary-fill; - } - .tunnels-fill { - line-color: @tertiary-tunnel-fill; - } - .bridges-fill { - line-width: @tertiary-width-z13 - 2 * @bridge-casing-width-z13; - [zoom >= 14] { line-width: @tertiary-width-z14 - 2 * @bridge-casing-width-z14; } - [zoom >= 15] { line-width: @tertiary-width-z15 - 2 * @bridge-casing-width-z15; } - [zoom >= 17] { line-width: @tertiary-width-z17 - 2 * @bridge-casing-width-z17; } - } - line-cap: round; - line-join: round; - } - } - } - ::fill { - /* * The construction rules for small roads are strange, since if construction is null its assumed that * it's a more major road. The line-width = 0 could be removed by playing with the query to set a construction @@ -878,24 +686,19 @@ line-width: 2; line-color: #9cc; - [construction = 'motorway'], - [construction = 'motorway_link'] { + [construction = 'motorway'] { line-color: @motorway-fill; } - [construction = 'trunk'], - [construction = 'trunk_link'] { + [construction = 'trunk'] { line-color: @trunk-fill; } - [construction = 'primary'], - [construction = 'primary_link'] { + [construction = 'primary'] { line-color: @primary-fill; } - [construction = 'secondary'], - [construction = 'secondary_link'] { + [construction = 'secondary'] { line-color: @secondary-fill; } - [construction = 'tertiary'], - [construction = 'tertiary_link'] { + [construction = 'tertiary'] { line-color: @tertiary-fill; [zoom < 13] { line-width: 0; @@ -946,12 +749,19 @@ } } + [feature = 'highway_motorway_link'], [feature = 'highway_motorway'] { [zoom >= 12] { line-width: @motorway-width-z12 - 2 * @casing-width-z12; [zoom >= 13] { line-width: @motorway-width-z13 - 2 * @casing-width-z13; } [zoom >= 15] { line-width: @motorway-width-z15 - 2 * @casing-width-z15; } [zoom >= 17] { line-width: @motorway-width-z17 - 2 * @casing-width-z17; } + [link = 'yes'] { + line-width: @motorway-link-width-z12 - 2 * @casing-width-z12; + [zoom >= 13] { line-width: @motorway-link-width-z13 - 2 * @casing-width-z13; } + [zoom >= 15] { line-width: @motorway-link-width-z15 - 2 * @casing-width-z15; } + [zoom >= 17] { line-width: @motorway-link-width-z17 - 2 * @casing-width-z17; } + } .roads-fill, .bridges-fill { line-color: @motorway-fill; } @@ -963,12 +773,19 @@ [zoom >= 13] { line-width: @motorway-width-z13 - 2 * @bridge-casing-width-z13; } [zoom >= 15] { line-width: @motorway-width-z15 - 2 * @bridge-casing-width-z15; } [zoom >= 17] { line-width: @motorway-width-z17 - 2 * @bridge-casing-width-z17; } + [link = 'yes'] { + line-width: @motorway-link-width-z12 - 2 * @bridge-casing-width-z12; + [zoom >= 13] { line-width: @motorway-link-width-z13 - 2 * @bridge-casing-width-z13; } + [zoom >= 15] { line-width: @motorway-link-width-z15 - 2 * @bridge-casing-width-z15; } + [zoom >= 17] { line-width: @motorway-link-width-z17 - 2 * @bridge-casing-width-z17; } + } } line-cap: round; line-join: round; } } + [feature = 'highway_trunk_link'], [feature = 'highway_trunk'] { [zoom >= 12] { line-width: @trunk-width-z12 - 2 * @casing-width-z12; @@ -992,6 +809,7 @@ } } + [feature = 'highway_primary_link'], [feature = 'highway_primary'] { [zoom >= 12] { line-width: @primary-width-z12 - 2 * @casing-width-z12; @@ -1015,6 +833,7 @@ } } + [feature = 'highway_secondary_link'], [feature = 'highway_secondary'] { [zoom >= 12] { line-width: @secondary-width-z12 - 2 * @casing-width-z12; @@ -1038,6 +857,7 @@ } } + [feature = 'highway_tertiary_link'], [feature = 'highway_tertiary'] { [zoom >= 13] { line-width: @tertiary-width-z13 - 2 * @casing-width-z13; @@ -1535,12 +1355,14 @@ } [feature = 'railway_tram'] { - .tunnels-fill { - [zoom >= 13] { - line-width: 1; + [zoom >= 13] { + line-color: #444; + line-width: 1; + [zoom >= 15] { + line-width: 2; + } + .tunnels-fill { line-dasharray: 5,3; - line-color: #444; - [zoom >= 15] { line-width: 2; } } } } @@ -1971,15 +1793,10 @@ } [access = 'no'] { [feature = 'highway_motorway'], - [feature = 'highway_motorway_link'], [feature = 'highway_trunk'], - [feature = 'highway_trunk_link'], [feature = 'highway_primary'], - [feature = 'highway_primary_link'], [feature = 'highway_secondary'], - [feature = 'highway_secondary_link'], [feature = 'highway_tertiary'], - [feature = 'highway_tertiary_link'], [feature = 'highway_unclassified'], [feature = 'highway_residential'], [feature = 'highway_road'], @@ -2012,8 +1829,7 @@ } #roads-low-zoom { - [feature = 'highway_motorway'], - [feature = 'highway_motorway_link'] { + [feature = 'highway_motorway'] { [zoom >= 5][zoom < 12] { line-width: 0.5; line-color: @motorway-fill; @@ -2024,8 +1840,7 @@ } } - [feature = 'highway_trunk'], - [feature = 'highway_trunk_link'] { + [feature = 'highway_trunk'] { [zoom >= 5][zoom < 12] { line-width: 0.4; line-color: @trunk-fill; @@ -2038,8 +1853,7 @@ } } - [feature = 'highway_primary'], - [feature = 'highway_primary_link'] { + [feature = 'highway_primary'] { [zoom >= 7][zoom < 12] { line-width: 0.5; line-color: @primary-fill; @@ -2049,8 +1863,7 @@ } } - [feature = 'highway_secondary'], - [feature = 'highway_secondary_link'] { + [feature = 'highway_secondary'] { [zoom >= 9][zoom < 12] { line-width: 1; line-color: @secondary-fill; @@ -2090,24 +1903,6 @@ } } -#trams { - [railway = 'tram'][zoom >= 13] { - line-color: #444; - line-width: 1; - [zoom >= 15] { - line-width: 2; - [bridge = 'yes'] { - line-width: 5; - line-color: black; - b/line-width: 4; - b/line-color: white; - c/line-width: 2; - c/line-color: #444; - } - } - } -} - #guideways { [zoom >= 13] { line-width: 3; @@ -2270,11 +2065,8 @@ #roads-text-name { [highway = 'motorway'], - [highway = 'motorway_link'], [highway = 'trunk'], - [highway = 'trunk_link'], - [highway = 'primary'], - [highway = 'primary_link'] { + [highway = 'primary'] { [zoom >= 13] { text-name: "[name]"; text-size: 8; @@ -2292,8 +2084,7 @@ text-size: 10; } } - [highway = 'secondary'], - [highway = 'secondary_link'] { + [highway = 'secondary'] { [zoom >= 13] { text-name: "[name]"; text-size: 8; @@ -2311,8 +2102,7 @@ text-size: 10; } } - [highway = 'tertiary'], - [highway = 'tertiary_link'] { + [highway = 'tertiary'] { [zoom >= 15] { text-name: "[name]"; text-size: 9;