From d827233f2448ae1d7fc5589628244ddf9b042f97 Mon Sep 17 00:00:00 2001 From: Harry Bond Date: Mon, 25 Sep 2023 17:18:05 +0100 Subject: [PATCH] [generator] [styles] [strings] add Docklands Light Railway, Porto metro Signed-off-by: Harry Bond --- data/mapcss-mapping.csv | 2 ++ data/strings/types_strings.txt | 12 ++++++++++-- data/styles/clear/include/Subways.mapcss | 14 ++++++++++++-- .../clear/include/priorities_4_overlays.prio.txt | 4 ++++ .../symbols/light_rail-dlr-london-m.svg | 7 +++++++ .../symbols/light_rail-dlr-london-s.svg | 7 +++++++ .../{subway-porto-m.svg => light_rail-porto-m.svg} | 0 .../{subway-porto-s.svg => light_rail-porto-s.svg} | 0 .../symbols/subway_entrance-london-m.svg | 7 +++++++ .../symbols/subway_entrance-london-s.svg | 7 +++++++ .../symbols/light_rail-dlr-london-m.svg | 7 +++++++ .../symbols/light_rail-dlr-london-s.svg | 7 +++++++ .../{subway-porto-m.svg => light_rail-porto-m.svg} | 0 .../{subway-porto-s.svg => light_rail-porto-s.svg} | 0 .../symbols/subway_entrance-london-m.svg | 7 +++++++ .../symbols/subway_entrance-london-s.svg | 7 +++++++ data/styles/vehicle/include/Subways.mapcss | 14 ++++++++++++-- .../vehicle/include/priorities_4_overlays.prio.txt | 4 ++++ generator/osm2type.cpp | 8 ++++++-- 19 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 data/styles/clear/style-clear/symbols/light_rail-dlr-london-m.svg create mode 100644 data/styles/clear/style-clear/symbols/light_rail-dlr-london-s.svg rename data/styles/clear/style-clear/symbols/{subway-porto-m.svg => light_rail-porto-m.svg} (100%) rename data/styles/clear/style-clear/symbols/{subway-porto-s.svg => light_rail-porto-s.svg} (100%) create mode 100644 data/styles/clear/style-clear/symbols/subway_entrance-london-m.svg create mode 100644 data/styles/clear/style-clear/symbols/subway_entrance-london-s.svg create mode 100644 data/styles/clear/style-night/symbols/light_rail-dlr-london-m.svg create mode 100644 data/styles/clear/style-night/symbols/light_rail-dlr-london-s.svg rename data/styles/clear/style-night/symbols/{subway-porto-m.svg => light_rail-porto-m.svg} (100%) rename data/styles/clear/style-night/symbols/{subway-porto-s.svg => light_rail-porto-s.svg} (100%) create mode 100644 data/styles/clear/style-night/symbols/subway_entrance-london-m.svg create mode 100644 data/styles/clear/style-night/symbols/subway_entrance-london-s.svg diff --git a/data/mapcss-mapping.csv b/data/mapcss-mapping.csv index 7fe0c33871..d4659257d7 100644 --- a/data/mapcss-mapping.csv +++ b/data/mapcss-mapping.csv @@ -1658,3 +1658,5 @@ historic|locomotive;1582; craft|caterer;1583; craft|grinding_mill;1584; leisure|outdoor_seating;1585; +railway|station|light_rail|london;[railway=station][station=light_rail][city=london];;name;int_name;1586; +railway|station|light_rail|porto;[railway=station][station=light_rail][city=porto];;name;int_name;1587; diff --git a/data/strings/types_strings.txt b/data/strings/types_strings.txt index 0c3875e76c..f7b5735cf8 100644 --- a/data/strings/types_strings.txt +++ b/data/strings/types_strings.txt @@ -21090,6 +21090,14 @@ zh-Hans = 轻轨车站 zh-Hant = 輕軌車站 + [type.railway.station.light_rail.london] + ref = type.railway.station.light_rail + en = DLR Station + + [type.railway.station.light_rail.porto] + ref = type.railway.station.light_rail + en = Porto Metro + [type.railway.station.monorail] ref = type.railway.station en = Monorail Station @@ -21713,8 +21721,8 @@ [type.railway.subway_entrance.london] ref = type.railway.subway_entrance - en = Underground Station Entrance - en-GB = Underground Station Entrance + en = Metro Station Entrance + en-GB = Metro Station Entrance [type.railway.subway_entrance.lyon] ref = type.railway.subway_entrance diff --git a/data/styles/clear/include/Subways.mapcss b/data/styles/clear/include/Subways.mapcss index 987cd0ae66..97d80f57d2 100644 --- a/data/styles/clear/include/Subways.mapcss +++ b/data/styles/clear/include/Subways.mapcss @@ -432,8 +432,8 @@ node|z12-13[railway=station][transport=subway][city=london] {icon-image: subway- node|z14[railway=station][transport=subway][city=london] {icon-image: subway-london-s.svg;} node|z15-16[railway=station][transport=subway][city=london] {icon-image: subway-london-m.svg;} node|z17-[railway=station][transport=subway][city=london] {icon-image: subway-london-m.svg;} -node|z16-17[railway=subway_entrance][city=london] {icon-image: subway-london-s.svg;} -node|z18-[railway=subway_entrance][city=london] {icon-image: subway-london-m.svg;} +node|z16-17[railway=subway_entrance][city=london] {icon-image: subway_entrance-london-s.svg;} +node|z18-[railway=subway_entrance][city=london] {icon-image: subway_entrance-london-m.svg;} /* Los Angeles Subway Station */ node|z12-13[railway=station][transport=subway][city=la] {icon-image: subway-losangeles-s.svg;icon-min-distance: 1;} @@ -920,3 +920,13 @@ node|z15-16[railway=station][transport=subway][city=yokohama] {icon-image: subwa node|z17-[railway=station][transport=subway][city=yokohama] {icon-image: subway-yokohama-m.svg;} node|z16-[railway=subway_entrance][city=yokohama] {icon-image: subway-yokohama-s.svg;} + + +/* LIGHT RAIL */ +/* London Light Rail Station (DLR) */ +node|z12-14[railway=station][station=light_rail][city=london] {icon-image: light_rail-dlr-london-s.svg;icon-min-distance: 1;} +node|z15-[railway=station][station=light_rail][city=london] {icon-image: light_rail-dlr-london-m.svg;} + +/* Porto Light Rail Station */ +node|z12-14[railway=station][station=light_rail][city=porto] {icon-image: light_rail-porto-s.svg;icon-min-distance: 1;} +node|z15-[railway=station][station=light_rail][city=porto] {icon-image: light_rail-porto-m.svg;} diff --git a/data/styles/clear/include/priorities_4_overlays.prio.txt b/data/styles/clear/include/priorities_4_overlays.prio.txt index 5f07b6e648..df5765fd2e 100644 --- a/data/styles/clear/include/priorities_4_overlays.prio.txt +++ b/data/styles/clear/include/priorities_4_overlays.prio.txt @@ -113,6 +113,8 @@ natural-water-lake # caption z10- (also has are natural-water-reservoir # caption z10- (also has area z1-) railway-station-funicular # icon z12- (also has caption(optional) z12-) railway-station-light_rail # icon z12- (also has caption(optional) z12-) +railway-station-light_rail-london # icon z12- (also has caption(optional) z12-) +railway-station-light_rail-porto # icon z12- (also has caption(optional) z12-) railway-station-monorail # icon z12- (also has caption(optional) z12-) railway-station-subway-adana # icon z12- (also has caption(optional) z14-) railway-station-subway-algiers # icon z12- (also has caption(optional) z14-) @@ -1316,6 +1318,8 @@ amenity-parking-private # icon z18- (also has captio # railway-station-funicular # caption(optional) z12- (also has icon z12-) # railway-station-light_rail # caption(optional) z12- (also has icon z12-) +# railway-station-light_rail-london # caption(optional) z12- (also has icon z12-) +# railway-station-light_rail-porto # caption(optional) z12- (also has icon z12-) # railway-station-monorail # caption(optional) z12- (also has icon z12-) # railway-station-subway-adana # caption(optional) z14- (also has icon z12-) # railway-station-subway-algiers # caption(optional) z14- (also has icon z12-) diff --git a/data/styles/clear/style-clear/symbols/light_rail-dlr-london-m.svg b/data/styles/clear/style-clear/symbols/light_rail-dlr-london-m.svg new file mode 100644 index 0000000000..9071144c5d --- /dev/null +++ b/data/styles/clear/style-clear/symbols/light_rail-dlr-london-m.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/styles/clear/style-clear/symbols/light_rail-dlr-london-s.svg b/data/styles/clear/style-clear/symbols/light_rail-dlr-london-s.svg new file mode 100644 index 0000000000..882be243e5 --- /dev/null +++ b/data/styles/clear/style-clear/symbols/light_rail-dlr-london-s.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/styles/clear/style-clear/symbols/subway-porto-m.svg b/data/styles/clear/style-clear/symbols/light_rail-porto-m.svg similarity index 100% rename from data/styles/clear/style-clear/symbols/subway-porto-m.svg rename to data/styles/clear/style-clear/symbols/light_rail-porto-m.svg diff --git a/data/styles/clear/style-clear/symbols/subway-porto-s.svg b/data/styles/clear/style-clear/symbols/light_rail-porto-s.svg similarity index 100% rename from data/styles/clear/style-clear/symbols/subway-porto-s.svg rename to data/styles/clear/style-clear/symbols/light_rail-porto-s.svg diff --git a/data/styles/clear/style-clear/symbols/subway_entrance-london-m.svg b/data/styles/clear/style-clear/symbols/subway_entrance-london-m.svg new file mode 100644 index 0000000000..7c363e22f0 --- /dev/null +++ b/data/styles/clear/style-clear/symbols/subway_entrance-london-m.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/styles/clear/style-clear/symbols/subway_entrance-london-s.svg b/data/styles/clear/style-clear/symbols/subway_entrance-london-s.svg new file mode 100644 index 0000000000..488f9c70c3 --- /dev/null +++ b/data/styles/clear/style-clear/symbols/subway_entrance-london-s.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/styles/clear/style-night/symbols/light_rail-dlr-london-m.svg b/data/styles/clear/style-night/symbols/light_rail-dlr-london-m.svg new file mode 100644 index 0000000000..ce56751bca --- /dev/null +++ b/data/styles/clear/style-night/symbols/light_rail-dlr-london-m.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/styles/clear/style-night/symbols/light_rail-dlr-london-s.svg b/data/styles/clear/style-night/symbols/light_rail-dlr-london-s.svg new file mode 100644 index 0000000000..65367cd8fa --- /dev/null +++ b/data/styles/clear/style-night/symbols/light_rail-dlr-london-s.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/styles/clear/style-night/symbols/subway-porto-m.svg b/data/styles/clear/style-night/symbols/light_rail-porto-m.svg similarity index 100% rename from data/styles/clear/style-night/symbols/subway-porto-m.svg rename to data/styles/clear/style-night/symbols/light_rail-porto-m.svg diff --git a/data/styles/clear/style-night/symbols/subway-porto-s.svg b/data/styles/clear/style-night/symbols/light_rail-porto-s.svg similarity index 100% rename from data/styles/clear/style-night/symbols/subway-porto-s.svg rename to data/styles/clear/style-night/symbols/light_rail-porto-s.svg diff --git a/data/styles/clear/style-night/symbols/subway_entrance-london-m.svg b/data/styles/clear/style-night/symbols/subway_entrance-london-m.svg new file mode 100644 index 0000000000..d1e62a59fe --- /dev/null +++ b/data/styles/clear/style-night/symbols/subway_entrance-london-m.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/styles/clear/style-night/symbols/subway_entrance-london-s.svg b/data/styles/clear/style-night/symbols/subway_entrance-london-s.svg new file mode 100644 index 0000000000..c1fd234550 --- /dev/null +++ b/data/styles/clear/style-night/symbols/subway_entrance-london-s.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/styles/vehicle/include/Subways.mapcss b/data/styles/vehicle/include/Subways.mapcss index 3ef1e61907..53b3f0abdf 100644 --- a/data/styles/vehicle/include/Subways.mapcss +++ b/data/styles/vehicle/include/Subways.mapcss @@ -430,8 +430,8 @@ node|z13[railway=station][transport=subway][city=london] {icon-image: subway-lon node|z14[railway=station][transport=subway][city=london] {icon-image: subway-london-s.svg;} node|z15-16[railway=station][transport=subway][city=london] {icon-image: subway-london-m.svg;} node|z17-[railway=station][transport=subway][city=london] {icon-image: subway-london-m.svg;} -node|z16-17[railway=subway_entrance][city=london] {icon-image: subway-london-s.svg;} -node|z18-[railway=subway_entrance][city=london] {icon-image: subway-london-m.svg;} +node|z16-17[railway=subway_entrance][city=london] {icon-image: subway_entrance-london-s.svg;} +node|z18-[railway=subway_entrance][city=london] {icon-image: subway_entrance-london-m.svg;} /* Los Angeles Subway Station */ node|z13[railway=station][transport=subway][city=la] {icon-image: subway-losangeles-s.svg;icon-min-distance: 1;} @@ -904,3 +904,13 @@ node|z15-16[railway=station][transport=subway][city=yokohama] {icon-image: subwa node|z17-[railway=station][transport=subway][city=yokohama] {icon-image: subway-yokohama-m.svg;} node|z16-[railway=subway_entrance][city=yokohama] {icon-image: subway-yokohama-s.svg;} + + +/* LIGHT RAIL */ +/* London Light Rail Station (DLR) */ +node|z12-14[railway=station][station=light_rail][city=london] {icon-image: light_rail-dlr-london-s.svg;icon-min-distance: 1;} +node|z15-[railway=station][station=light_rail][city=london] {icon-image: light_rail-dlr-london-m.svg;} + +/* Porto Light Rail Station */ +node|z12-14[railway=station][station=light_rail][city=porto] {icon-image: light_rail-porto-s.svg;icon-min-distance: 1;} +node|z15-[railway=station][station=light_rail][city=porto] {icon-image: light_rail-porto-m.svg;} diff --git a/data/styles/vehicle/include/priorities_4_overlays.prio.txt b/data/styles/vehicle/include/priorities_4_overlays.prio.txt index fc2e2ae1dd..3bdbd96e08 100644 --- a/data/styles/vehicle/include/priorities_4_overlays.prio.txt +++ b/data/styles/vehicle/include/priorities_4_overlays.prio.txt @@ -196,6 +196,8 @@ natural-water-reservoir # caption z10- (also has are railway-station-funicular # icon z12- (also has caption(optional) z13-) railway-station-light_rail # icon z12- (also has caption(optional) z13-) +railway-station-light_rail-london # icon z12- (also has caption(optional) z13-) +railway-station-light_rail-porto # icon z12- (also has caption(optional) z13-) railway-station-monorail # icon z12- (also has caption(optional) z13-) === 2900 @@ -743,6 +745,8 @@ entrance-main # icon z18- (also has captio # railway-station-funicular # caption(optional) z13- (also has icon z12-) # railway-station-light_rail # caption(optional) z13- (also has icon z12-) +# railway-station-light_rail-london # caption(optional) z13- (also has icon z12-) +# railway-station-light_rail-porto # caption(optional) z13- (also has icon z12-) # railway-station-monorail # caption(optional) z13- (also has icon z12-) # === -7100 diff --git a/generator/osm2type.cpp b/generator/osm2type.cpp index 40b06002d2..efcc804739 100644 --- a/generator/osm2type.cpp +++ b/generator/osm2type.cpp @@ -441,6 +441,7 @@ string MatchCity(OsmElement const * p) {"panama", {-79.633827, 8.880788, -79.367367, 9.149179}}, {"paris", {2.09014892578, 48.6637569323, 2.70538330078, 49.0414689141}}, {"philadelphia", {-75.276761, 39.865446, -74.964493, 40.137768}}, + {"porto", {-8.707352, 41.134452, -8.541012, 41.193252}}, {"pyongyang", {125.48888, 38.780932, 126.12748, 39.298738}}, {"rennes", {-2.28897,47.934093,-1.283944,48.379636}}, {"rio", {-43.4873199463, -23.0348745407, -43.1405639648, -22.7134898498}}, @@ -572,6 +573,7 @@ void PreprocessElement(OsmElement * p) char const * layer = nullptr; bool isSubway = false; + bool isLightRail = false; bool isBus = false; bool isTram = false; @@ -585,16 +587,18 @@ void PreprocessElement(OsmElement * p) {"trolleybus", "yes", [&isBus] { isBus = true; }}, {"tram", "yes", [&isTram] { isTram = true; }}, - /// @todo Unfortunatelly, it's not working in many cases (route=subway, transport=subway). + /// @todo Unfortunately, it's not working in many cases (route=subway, transport=subway). /// Actually, it's better to process subways after feature types assignment. {"station", "subway", [&isSubway] { isSubway = true; }}, + + {"station", "light_rail", [&isLightRail] { isLightRail = true; }}, }); if (!hasLayer && layer) p->AddTag("layer", layer); // Tag 'city' is needed for correct selection of metro icons. - if (isSubway && p->m_type == OsmElement::EntityType::Node) + if ((isSubway || isLightRail) && p->m_type == OsmElement::EntityType::Node) { string const city = MatchCity(p); if (!city.empty())