diff --git a/data/mapcss-mapping.csv b/data/mapcss-mapping.csv index 489f2dd6c7..2757bb3e9d 100644 --- a/data/mapcss-mapping.csv +++ b/data/mapcss-mapping.csv @@ -889,25 +889,25 @@ railway|subway|green;[railway=subway][colour=green];;name;int_name;889; railway|subway|brown;[railway=subway][colour=brown];;name;int_name;890; railway|subway|yellow;[railway=subway][colour=yellow];;name;int_name;891; railway|subway|purple;[railway=subway][colour=purple];;name;int_name;892; -railway|station|subway|red;[railway=station][transport=subway][colour=red],[railway=station][station=subway][colour=red];;name;int_name;893; -railway|station|subway|blue;[railway=station][transport=subway][colour=blue],[railway=station][station=subway][colour=blue];;name;int_name;894; -railway|station|subway|orange;[railway=station][transport=subway][colour=orange],[railway=station][station=subway][colour=orange];;name;int_name;895; -railway|station|subway|green;[railway=station][transport=subway][colour=green],[railway=station][station=subway][colour=green];;name;int_name;896; -railway|station|subway|brown;[railway=station][transport=subway][colour=brown],[railway=station][station=subway][colour=brown];;name;int_name;897; -railway|station|subway|yellow;[railway=station][transport=subway][colour=yellow],[railway=station][station=subway][colour=yellow];;name;int_name;898; -railway|station|subway|purple;[railway=station][transport=subway][colour=purple],[railway=station][station=subway][colour=purple];;name;int_name;899; +deprecated|deprecated;893;x +deprecated|deprecated;894;x +deprecated|deprecated;895;x +deprecated|deprecated;896;x +deprecated|deprecated;897;x +deprecated|deprecated;898;x +deprecated|deprecated;899;x railway|subway|darkgreen;[railway=subway][colour=darkgreen];;name;int_name;900; -railway|station|subway|darkgreen;[railway=station][transport=subway][colour=darkgreen],[railway=station][station=subway][colour=darkgreen];;name;int_name;901; +deprecated|deprecated;901;x railway|subway|gray;[railway=subway][colour=gray];;name;int_name;902; -railway|station|subway|gray;[railway=station][transport=subway][colour=gray],[railway=station][station=subway][colour=gray];;name;int_name;903; +deprecated|deprecated;903;x railway|subway|lightblue;[railway=subway][colour=lightblue];;name;int_name;904; -railway|station|subway|lightblue;[railway=station][transport=subway][colour=lightblue],[railway=station][station=subway][colour=lightblue];;name;int_name;905; +deprecated|deprecated;905;x railway|subway|lightgreen;[railway=subway][colour=lightgreen];;name;int_name;906; -railway|station|subway|lightgreen;[railway=station][transport=subway][colour=lightgreen],[railway=station][station=subway][colour=lightgreen];;name;int_name;907; +deprecated|deprecated;907;x railway|subway|violet;[railway=subway][colour=violet];;name;int_name;908; -railway|station|subway|violet;[railway=station][transport=subway][colour=violet],[railway=station][station=subway][colour=violet];;name;int_name;909; +deprecated|deprecated;909;x railway|subway|grey;[railway=subway][colour=grey];;name;int_name;910; -railway|station|subway|grey;[railway=station][transport=subway][colour=grey],[railway=station][station=subway][colour=grey];;name;int_name;911; +deprecated|deprecated;911;x historic|ship;912; deprecated|deprecated;913;x deprecated|deprecated;914;x diff --git a/data/styles/clear/include/Subways.mapcss b/data/styles/clear/include/Subways.mapcss index 652fcd2a29..5052214448 100644 --- a/data/styles/clear/include/Subways.mapcss +++ b/data/styles/clear/include/Subways.mapcss @@ -523,11 +523,10 @@ node|z18-[railway=subway_entrance][city=milan] {icon-image: subway-milan-m.svg;t node|z13[railway=station][transport=subway][city=minsk] {icon-image: subway-minsk-s.svg;text-offset: 1;font-size: 10;text: name;text-color: @label_dark;text-halo-radius: 1;text-halo-opacity: 0.7;text-halo-color: @label_halo_light;icon-min-distance: 1;} node|z14[railway=station][transport=subway][city=minsk] {icon-image: subway-minsk-s.svg;text-offset: 1;} node|z15[railway=station][transport=subway][city=minsk] {icon-image: subway-minsk-m.svg;text-offset: 1;} -node|z16[railway=station][transport=subway][city=minsk] {icon-image: zero-icon.svg;font-size: 10;text: name;text-color: @district_label;text-halo-radius: 0;}/*check none*/ +node|z16[railway=station][transport=subway][city=minsk] {icon-image: subway-minsk-m.svg;font-size: 10;text: name;text-color: @district_label;text-halo-radius: 0;}/*check none*/ node|z17-[railway=station][transport=subway][city=minsk] {icon-image: zero-icon.svg;font-size: 10;text: name;text-color: @district_label;text-halo-radius: 0;text-optional: true;}/*check none*/ node|z17-[railway=subway_entrance][city=minsk] {icon-image: subway-minsk-m.svg;text-offset: 1;font-size: 12;text: name;text-color: @label_dark;text-halo-radius: 1;text-halo-opacity: 0.8;text-halo-color: @label_halo_light;text-optional: true;} -node|z17[railway=subway_entrance][city=minsk] {icon-image: subway-minsk-m.svg;font-size: 13;text-optional: true;} -node|z18-[railway=subway_entrance][city=minsk] {icon-image: subway-minsk-m.svg;font-size: 13;text-optional: true;} +node|z17-[railway=subway_entrance][city=minsk] {icon-image: subway-minsk-m.svg;font-size: 13;text-optional: true;} /* Moscow Subway Station */ node|z11[railway=station][transport=subway][city=moscow] @@ -544,18 +543,16 @@ node|z15[railway=station][transport=subway][city=moscow] {icon-image: subway-moscow-m.svg;text-offset: 1;font-size: 12;text-optional: true;} node|z15[railway=station][transport=subway][city=moscow]::int_name {text-offset: 1;font-size: 10;text-optional: true;} -node|z16-[railway=station][transport=subway][city=moscow] -{icon-image: zero-icon.svg;text: none;} -node|z16-[railway=station][transport=subway][city=moscow]::int_name -{text: none;} - - -/* -node[railway=station][transport=subway][city=moscow]check +node|z16[railway=station][transport=subway][city=moscow]check {icon-image: subway-moscow-m.svg;text-offset: 1;font-size: 10;text-color: @district_label;text-halo-radius: 0;} -node[railway=station][transport=subway][city=moscow]::int_name +node|z16[railway=station][transport=subway][city=moscow]::int_name {text-offset: 1;font-size: 9;text-color: @district_label;text-halo-radius: 0;} check -*/ + +/* Do not draw main metro icon, because entrances will be visible now */ +node|z17-[railway=station][transport=subway][city=moscow] +{icon-image: zero-icon.svg;text: none;} +node|z17-[railway=station][transport=subway][city=moscow]::int_name +{text: none;} /* Moscow Subway Station entrance */ node|z16[railway=subway_entrance][city=moscow] @@ -762,12 +759,16 @@ node|z15[railway=station][transport=subway][city=spb] {icon-image: subway-spb-m.svg;text-offset: 1;font-size: 11;text-halo-opacity: 0.8;} node|z15[railway=station][transport=subway][city=spb]::int_name {text-offset: 1;font-size: 10;text-halo-opacity: 0.8;} -/* -node[railway=station][transport=subway][city=spb] check +node|z16[railway=station][transport=subway][city=spb] check {icon-image: subway-spb-m.svg;text-offset: 1;font-size: 10;text-color: @district_label;text-halo-radius: 0;} -node[railway=station][transport=subway][city=spb]::int_name +node|z16[railway=station][transport=subway][city=spb]::int_name {text-offset: 1;font-size: 9;text-color: @district_label;text-halo-radius: 0;} check -*/ + +/* Do not draw station metro icon, because entrances will be visible now */ +node|z17-[railway=station][transport=subway][city=spb] +{icon-image: zero-icon.svg;text: none;} +node|z17-[railway=station][transport=subway][city=spb]::int_name +{text: none;} /* Saint Petersburg Subway Station entrance */ node|z16[railway=subway_entrance][city=spb] diff --git a/generator/generator_tests/osm_type_test.cpp b/generator/generator_tests/osm_type_test.cpp index 4e50f9c61a..ad7e44b87d 100644 --- a/generator/generator_tests/osm_type_test.cpp +++ b/generator/generator_tests/osm_type_test.cpp @@ -716,6 +716,66 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_Subway) TEST_EQUAL(params.m_types.size(), 1, (params)); TEST(params.IsTypeExist(GetType({"railway", "station", "subway", "london"})), (params)); } + + { + Tags const tags = { + { "artist_name", "Архитекторы: Н.Лопато, В.Шкарупин, В.Телепнев Скульптор: Л.Зильбер. Дизайнер: Н.Грибов" }, + { "colour", "red" }, + { "int_name", "Frunzienskaja" }, + { "name", "Фрунзенская" }, + { "name:be", "Фрунзенская" }, + { "name:en", "Frunzienskaja" }, + { "name:ru", "Фрунзенская" }, + { "network", "Минский метрополитен" }, + { "operator", "КУП «Минский метрополитен»" }, + { "public_transport", "stop_position" }, + { "railway", "station" }, + { "ref", "218" }, + { "start_date", "1990-12-31" }, + { "station", "subway" }, + { "subway", "yes" }, + { "transport", "subway" }, + { "website", "https://metropoliten.by/sxema-linii/54/224/" }, + { "wheelchair", "no" }, + { "wikidata", "Q2445504" }, + }; + + auto const params = GetFeatureBuilderParams(tags); + + TEST_EQUAL(params.m_types.size(), 2, (params)); + TEST(params.IsTypeExist(GetType({"wheelchair", "no"})), (params)); + TEST(params.IsTypeExist(GetType({"railway", "station", "subway", "minsk"})), (params)); + } + + { + Tags const tags = { + { "artist_name", "Архитектор: В. Лопато" }, + { "colour", "green" }, + { "int_name", "Jubiliejnaja plošča" }, + { "layer", "-5" }, + { "line", "Зеленый Луг" }, + { "name", "Юбілейная плошча" }, + { "name:be", "Юбілейная плошча" }, + { "name:ru", "Юбилейная площадь" }, + { "network", "Минский метрополитен" }, + { "operator", "КУП «Минский метрополитен»" }, + { "public_transport", "stop_position" }, + { "railway", "station" }, + { "ref", "316" }, + { "start_date", "2020-11-06" }, + { "station", "subway" }, + { "subway", "yes" }, + { "transport", "subway" }, + { "website", "https://metropoliten.by/sxema-linii/91/2781/" }, + { "wikidata", "Q4365831" }, + { "wikipedia", "be:Юбілейная плошча (станцыя метро)" }, + }; + + auto const params = GetFeatureBuilderParams(tags); + + TEST_EQUAL(params.m_types.size(), 1, (params)); + TEST(params.IsTypeExist(GetType({"railway", "station", "subway", "minsk"})), (params)); + } } UNIT_CLASS_TEST(TestWithClassificator, OsmType_Hospital) @@ -1159,7 +1219,7 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_CuisineType) UNIT_CLASS_TEST(TestWithClassificator, OsmType_SimpleTypesSmoke) { Tags const simpleTypes = { - // Filtered out by MatchTypes filter because have no styles. + // Filtered out by MatchTypes filter because have no styles. // {"aeroway", "apron"}, // {"area:highway", "cycleway"}, // {"area:highway", "motorway"}, @@ -1827,7 +1887,7 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_ComplexTypesSmoke) // two types (+office) {{"tourism", "information", "office"}, {{"tourism", "information"}, {"office", "any_value"}}}, // two types (+sport-shooting) {{"leisure", "sports_centre", "shooting"}, {{"leisure", "sports_centre"}, {"sport", "shooting"}}}, // two types (+sport-swimming) {{"leisure", "sports_centre", "swimming"}, {{"leisure", "sports_centre"}, {"sport", "swimming"}}}, - // + // // Manually constructed type, not parsed from osm. // {{"building", "address"}, {{"addr:housenumber", "any_value"}, {"addr:street", "any_value"}}}, {{"aeroway", "aerodrome", "international"}, {{"aeroway", "aerodrome"}, {"aerodrome", "international"}}}, @@ -2034,24 +2094,8 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_ComplexTypesSmoke) {{"railway", "station", "subway", "barcelona"}, {{"railway", "station"}, {"transport", "subway"}, {"city", "barcelona"}}}, {{"railway", "station", "subway", "berlin"}, {{"railway", "station"}, {"station", "subway"}, {"city", "berlin"}}}, {{"railway", "station", "subway", "berlin"}, {{"railway", "station"}, {"transport", "subway"}, {"city", "berlin"}}}, - {{"railway", "station", "subway", "blue"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "blue"}}}, - {{"railway", "station", "subway", "blue"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "blue"}}}, - {{"railway", "station", "subway", "brown"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "brown"}}}, - {{"railway", "station", "subway", "brown"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "brown"}}}, - {{"railway", "station", "subway", "darkgreen"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "darkgreen"}}}, - {{"railway", "station", "subway", "darkgreen"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "darkgreen"}}}, - {{"railway", "station", "subway", "gray"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "gray"}}}, - {{"railway", "station", "subway", "gray"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "gray"}}}, - {{"railway", "station", "subway", "green"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "green"}}}, - {{"railway", "station", "subway", "green"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "green"}}}, - {{"railway", "station", "subway", "grey"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "grey"}}}, - {{"railway", "station", "subway", "grey"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "grey"}}}, {{"railway", "station", "subway", "kiev"}, {{"railway", "station"}, {"station", "subway"}, {"city", "kiev"}}}, {{"railway", "station", "subway", "kiev"}, {{"railway", "station"}, {"transport", "subway"}, {"city", "kiev"}}}, - {{"railway", "station", "subway", "lightblue"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "lightblue"}}}, - {{"railway", "station", "subway", "lightblue"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "lightblue"}}}, - {{"railway", "station", "subway", "lightgreen"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "lightgreen"}}}, - {{"railway", "station", "subway", "lightgreen"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "lightgreen"}}}, {{"railway", "station", "subway", "london"}, {{"railway", "station"}, {"station", "subway"}, {"city", "london"}}}, {{"railway", "station", "subway", "london"}, {{"railway", "station"}, {"transport", "subway"}, {"city", "london"}}}, {{"railway", "station", "subway", "madrid"}, {{"railway", "station"}, {"station", "subway"}, {"city", "madrid"}}}, @@ -2062,22 +2106,12 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_ComplexTypesSmoke) {{"railway", "station", "subway", "moscow"}, {{"railway", "station"}, {"transport", "subway"}, {"city", "moscow"}}}, {{"railway", "station", "subway", "newyork"}, {{"railway", "station"}, {"station", "subway"}, {"city", "newyork"}}}, {{"railway", "station", "subway", "newyork"}, {{"railway", "station"}, {"transport", "subway"}, {"city", "newyork"}}}, - {{"railway", "station", "subway", "orange"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "orange"}}}, - {{"railway", "station", "subway", "orange"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "orange"}}}, {{"railway", "station", "subway", "paris"}, {{"railway", "station"}, {"station", "subway"}, {"city", "paris"}}}, {{"railway", "station", "subway", "paris"}, {{"railway", "station"}, {"transport", "subway"}, {"city", "paris"}}}, - {{"railway", "station", "subway", "purple"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "purple"}}}, - {{"railway", "station", "subway", "purple"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "purple"}}}, - {{"railway", "station", "subway", "red"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "red"}}}, - {{"railway", "station", "subway", "red"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "red"}}}, {{"railway", "station", "subway", "roma"}, {{"railway", "station"}, {"station", "subway"}, {"city", "roma"}}}, {{"railway", "station", "subway", "roma"}, {{"railway", "station"}, {"transport", "subway"}, {"city", "roma"}}}, {{"railway", "station", "subway", "spb"}, {{"railway", "station"}, {"station", "subway"}, {"city", "spb"}}}, {{"railway", "station", "subway", "spb"}, {{"railway", "station"}, {"transport", "subway"}, {"city", "spb"}}}, - {{"railway", "station", "subway", "violet"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "violet"}}}, - {{"railway", "station", "subway", "violet"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "violet"}}}, - {{"railway", "station", "subway", "yellow"}, {{"railway", "station"}, {"station", "subway"}, {"colour", "yellow"}}}, - {{"railway", "station", "subway", "yellow"}, {{"railway", "station"}, {"transport", "subway"}, {"colour", "yellow"}}}, {{"railway", "station", "subway"}, {{"railway", "station"}, {"station", "subway"}}}, {{"railway", "station", "subway"}, {{"railway", "station"}, {"transport", "subway"}}}, {{"railway", "subway_entrance", "barcelona"}, {{"railway", "subway_entrance"}, {"city", "barcelona"}}},