diff --git a/data/mapcss-mapping.csv b/data/mapcss-mapping.csv index b38f7aee64..bf676e2f04 100644 --- a/data/mapcss-mapping.csv +++ b/data/mapcss-mapping.csv @@ -740,7 +740,7 @@ amenity|parking|no-access;[amenity=parking][access=no];;name;int_name;739; barrier|swing_gate;740; barrier|chain;741; sport|climbing;742; -deprecated|deprecated;743;x +sport|yoga;743; deprecated|deprecated;744;x deprecated|deprecated;745;x deprecated|deprecated;746;x @@ -1100,10 +1100,10 @@ shop|paint;1101; traffic_calming|bump;1102; traffic_calming|hump;1103; shop|car_parts;1104; -leisure|sports_centre|climbing;[leisure=sports_centre][sport=climbing];;name;int_name;1105; -leisure|sports_centre|shooting;[leisure=sports_centre][sport=shooting];;name;int_name;1106; -leisure|sports_centre|swimming;[leisure=sports_centre][sport=swimming];;name;int_name;1107; -leisure|sports_centre|yoga;[leisure=sports_centre][sport=yoga];;name;int_name;1108; +leisure|sports_centre|climbing;[leisure=sports_centre][sport=climbing];x;name;int_name;1105;leisure|sports_centre +leisure|sports_centre|shooting;[leisure=sports_centre][sport=shooting];x;name;int_name;1106;leisure|sports_centre +leisure|sports_centre|swimming;[leisure=sports_centre][sport=swimming];x;name;int_name;1107;leisure|sports_centre +leisure|sports_centre|yoga;[leisure=sports_centre][sport=yoga];x;name;int_name;1108;leisure|sports_centre amenity|public_bookcase;1109; tourism|apartment;1110; tourism|resort;[tourism=resort],[leisure=resort],[leisure=summer_camp];;name;int_name;1111; diff --git a/data/strings/types_strings.txt b/data/strings/types_strings.txt index 5a32d31cba..3a073d1571 100644 --- a/data/strings/types_strings.txt +++ b/data/strings/types_strings.txt @@ -11667,7 +11667,7 @@ zh-Hans = 体育中心 zh-Hant = 體育中心 - [type.leisure.sports_centre.climbing] + [type.sport.climbing] en = Climbing Centre ar = مركز تسلق cs = Horolezecké centrum @@ -11701,75 +11701,7 @@ zh-Hans = 攀登中心 zh-Hant = 攀登中心 - [type.leisure.sports_centre.shooting] - en = Shooting Range - ar = ملعب رماية - cs = Střelnice - da = Skydebane - de = Schießanlage - el = Σκοπευτήριο - es = Campo de tiro - eu = Tiro eremua - fa = محل تیراندازی - fi = Ampumarata - fr = Centre de tir - hu = Lőtér - id = Lapangan tembak - it = Poligono di tiro - ja = 射撃場 - ko = 발사 범위 - mr = चांदमारी(बंदूक पल्ला) - nb = Skytebane - nl = Schietbaan - pl = Strzelnica - pt = Campo de tiro - pt-BR = Clube de tiro - ro = Tir - ru = Тир - sk = Strelnica - sv = Skjutbana - th = สนามยิงปืน - tr = Poligon - uk = Тир - vi = Nơi bắn súng - zh-Hans = 射击场 - zh-Hant = 射擊場 - - [type.leisure.sports_centre.swimming] - en = Swimming Centre - ar = مركز سباحة - cs = Plavecký bazén - da = Svømmecenter - de = Schwimmhalle - el = Κολυμβητήριο - es = Centro de natación - eu = Igeriketa zentroa - fa = استخرشنا - fi = Uimahalli - fr = Piscine - hu = Uszoda - id = Kolam Renang - it = Centro natatorio - ja = スイミングセンター - ko = 수영 센터 - mr = जलतरण केंद्र - nb = Svømmehall - nl = Zwembad - pl = Pływalnia - pt = Centro de natação - pt-BR = Centro de natação - ro = Piscină - ru = Плавательный бассейн - sk = Plavecký areál - sv = Simhall - th = ศูนย์ว่ายน้ำ - tr = Yüzme Merkezi - uk = Басейн для плавання - vi = Trung tâm Bơi lội - zh-Hans = 游泳中心 - zh-Hant = 遊泳中心 - - [type.leisure.sports_centre.yoga] + [type.sport.yoga] en = Yoga Studio ar = نادي يوغا cs = Studio jógy diff --git a/data/styles/clear/include/Icons.mapcss b/data/styles/clear/include/Icons.mapcss index 2f19ac3df1..ec222fd0ee 100644 --- a/data/styles/clear/include/Icons.mapcss +++ b/data/styles/clear/include/Icons.mapcss @@ -128,8 +128,6 @@ node[amenity=marketplace], area[amenity=marketplace], node[amenity=veterinary], area[amenity=veterinary], -node[sport], -area[sport], node[leisure=playground], node[historic=ship], area[historic=ship], @@ -177,6 +175,11 @@ node[amenity=toilets], area[amenity=toilets] {z-index: 2400;} +/* Bigger than leisure=playground, sports_centre, pitch */ +node[sport], +area[sport], +{z-index: 2410;} + node|z18-[sport=archery], area|z18-[sport=archery], node|z18-[sport=shooting], @@ -192,27 +195,47 @@ area|z18-[sport=curling], node|z18-[sport=diving], area|z18-[sport=diving], node|z18-[sport=scuba_diving], -area|z18-[sport=scuba_diving] +area|z18-[sport=scuba_diving], +node|z18-[sport=equestrian], +area|z18-[sport=equestrian], +node|z18-[sport=climbing], +area|z18-[sport=climbing], +node|z18-[sport=chess], +area|z18-[sport=chess], {z-index: 2440;} node|z18-[sport=swimming], +area|z18-[sport=swimming], node|z18-[sport=baseball], +area|z18-[sport=baseball], node|z18-[sport=basketball], +area|z18-[sport=basketball], node|z18-[sport=american_football], +area|z18-[sport=american_football], node|z18-[sport=athletics], +area|z18-[sport=athletics], node|z18-[sport=golf], -node|z18-[sport=gymnastics] -node|z18-[sport=chess] -node|z18-[sport=skateboard] -node|z18-[sport=volleyball] -node|z18-[sport=beachvolleyball] -node|z18-[sport=table_tennis] +area|z18-[sport=golf], +node|z18-[sport=gymnastics], +area|z18-[sport=gymnastics], +node|z18-[sport=skateboard], +area|z18-[sport=skateboard], +node|z18-[sport=volleyball], +area|z18-[sport=volleyball], +node|z18-[sport=beachvolleyball], +area|z18-[sport=beachvolleyball], +node|z18-[sport=table_tennis], +area|z18-[sport=table_tennis], +node|z18-[sport=yoga], +area|z18-[sport=yoga], {z-index: 2460;} node[landuse=landfill], area[landuse=landfill], node|z17-[sport=tennis], +area|z17-[sport=tennis], node|z17-[sport=skiing], +area|z17-[sport=skiing], node[tourism=camp_site], area[tourism=camp_site], node[tourism=picnic_site], @@ -1631,6 +1654,7 @@ area|z17-[amenity=school] node|z18-[amenity=school], area|z18-[amenity=school] {font-size: 11;text-optional: true;} + /* 5.3 Sport */ node|z13-14[leisure=stadium] @@ -1638,15 +1662,6 @@ node|z13-14[leisure=stadium] node|z15-[leisure=stadium] {icon-image: stadium-m.svg;icon-min-distance: 8;} -node|z16-[sport=equestrian], -area|z16-[sport=equestrian] -{icon-image: equestrian-m.svg;font-size: 11;icon-min-distance: 30;} -node|z17-[sport=equestrian], -area|z17-[sport=equestrian] -{icon-min-distance: 20;} - -node|z17-[sport=multi] -{icon-image: pitch-m.svg;icon-min-distance: 10;} node|z17-[leisure=pitch], node|z17-[leisure=ice_rink] {icon-image: pitch-m.svg;icon-min-distance: 10;-x-me-text-priority: 16000;} @@ -1654,10 +1669,6 @@ node|z17-[leisure=fitness_station] {icon-image: gym-m.svg;icon-min-distance: 10;-x-me-text-priority: 16000;} node|z17-[leisure=sports_centre] {icon-image: pitch-m.svg;-x-me-text-priority: 15500;icon-min-distance: 10;} -node|z17-[leisure=sports_centre][sport=climbing] -{icon-image: climbing-m.svg;-x-me-text-priority: 15500;icon-min-distance: 10;} -node|z17-[leisure=sports_centre][sport=swimming] -{icon-image: swimming-m.svg;-x-me-text-priority: 15500;icon-min-distance: 10;} node|z17-[leisure=fitness_centre] {icon-image: gym-m.svg;-x-me-text-priority: 15500;icon-min-distance: 10;} node|z17-[leisure=sauna] @@ -1673,112 +1684,80 @@ area|z17-[leisure=swimming_pool][access=private] node|z17-[leisure=golf_course], area|z17-[leisure=golf_course] {icon-image: golf-m.svg;icon-min-distance: 10;} + +node|z17-[sport], +area|z17-[sport], +{icon-image: pitch-m.svg; icon-min-distance: 10; } + +node|z17-[sport=equestrian], +area|z17-[sport=equestrian] +{icon-image: equestrian-m.svg;} node|z17-[sport=soccer], area|z17-[sport=soccer] -{icon-image: soccer-m.svg;icon-min-distance: 10;} +{icon-image: soccer-m.svg;} area|z17-[sport=tennis] node|z17-[sport=tennis] -{icon-image: tennis-m.svg;icon-min-distance: 10;} +{icon-image: tennis-m.svg;} area|z17-[sport=skiing] node|z17-[sport=skiing] -{icon-image: skiing-m.svg;icon-min-distance: 10;} - +{icon-image: skiing-m.svg;} node|z17-[sport=archery], area|z17-[sport=archery] -{icon-image: archery-m.svg;font-size: 11;icon-min-distance: 10;} +{icon-image: archery-m.svg;} node|z17-[sport=shooting], area|z17-[sport=shooting] -{icon-image: archery-m.svg;font-size: 11;icon-min-distance: 10;} +{icon-image: archery-m.svg;} node|z17-[sport=australian_football], area|z17-[sport=australian_football] -{icon-image: australian-football-m.svg;font-size: 11;icon-min-distance: 10;} -node|z17-[sport=bowls], -area|z17-[sport=bowls] -{icon-image: pitch-m.svg;font-size: 11;icon-min-distance: 10;} +{icon-image: australian-football-m.svg;} node|z17-[sport=cricket], area|z17-[sport=cricket] -{icon-image: cricket-m.svg;font-size: 11;icon-min-distance: 10;} +{icon-image: cricket-m.svg;} node|z17-[sport=curling], area|z17-[sport=curling] -{icon-image: curling-m.svg;font-size: 11;icon-min-distance: 10;} +{icon-image: curling-m.svg;} node|z17-[sport=diving], area|z17-[sport=diving] -{icon-image: diving-m.svg;font-size: 11;icon-min-distance: 10;} +{icon-image: diving-m.svg;} node|z17-[sport=scuba_diving], area|z17-[sport=scuba_diving] -{icon-image: diving-m.svg;font-size: 11;icon-min-distance: 10;} +{icon-image: diving-m.svg;} node|z17-[sport=9pin], area|z17-[sport=9pin] -{icon-image: bowling-m.svg;font-size: 11;icon-min-distance: 10;} +{icon-image: bowling-m.svg;} node|z17-[sport=10pin], area|z17-[sport=10pin] -{icon-image: bowling-m.svg;font-size: 11;icon-min-distance: 10;} +{icon-image: bowling-m.svg;} +node|z17-[sport=chess], +area|z17-[sport=chess] +{icon-image: chess-m.svg;} +node|z17-[sport=climbing], +area|z17-[sport=climbing] +{icon-image: climbing-m.svg;} +node|z17-[sport=golf], +area|z17-[sport=golf] +{icon-image: golf-m.svg;} +node|z17-[sport=skateboard], +area|z17-[sport=skateboard] +{icon-image: skateboard-m.svg;} +node|z17-[sport=swimming], +area|z17-[sport=swimming] +{icon-image: swimming-m.svg;} +node|z17-[sport=table_tennis], +area|z17-[sport=table_tennis] +{icon-image: table-tennis-m.svg;} +node|z17-[sport=volleyball], +area|z17-[sport=volleyball], +node|z17-[sport=beachvolleyball], +area|z17-[sport=beachvolleyball], +{icon-image: volleyball-m.svg;} +node|z17-[sport=yoga], +area|z17-[sport=yoga] +{icon-image: yoga-m.svg;} -node|z18-[sport=swimming] -area|z18-[sport=swimming] -{icon-image: swimming-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=baseball] -area|z18-[sport=baseball] -{icon-image: baseball-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=basketball] -area|z18-[sport=basketball] -{icon-image: basketball-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=american_football] -area|z18-[sport=american_football] -{icon-image: america-football-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=athletics] -area|z18-[sport=athletics] -{icon-image: pitch-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=golf] -area|z18-[sport=golf] -{icon-image: golf-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=gymnastics] -area|z18-[sport=gymnastics] -{icon-image: pitch-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=chess] -area|z18-[sport=chess] -{icon-image: chess-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=skateboard] -area|z18-[sport=skateboard] -{icon-image: skateboard-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=volleyball] -area|z18-[sport=volleyball] -{icon-image: volleyball-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=beachvolleyball] -area|z18-[sport=beachvolleyball] -{icon-image: volleyball-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=table_tennis] -area|z18-[sport=table_tennis] -{icon-image: table-tennis-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=climbing] -area|z18-[sport=climbing] -{icon-image: climbing-m.svg;font-size: 11;text-optional: true;} - - -node|z18-[sport=archery], -area|z18-[sport=archery] -{icon-image: archery-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=shooting], -area|z18-[sport=shooting] -{icon-image: archery-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=australian_football], -area|z18-[sport=australian_football] -{icon-image: australian-football-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=bowls], -area|z18-[sport=bowls] -{icon-image: pitch-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=cricket], -area|z18-[sport=cricket] -{icon-image: cricket-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=curling], -area|z18-[sport=curling] -{icon-image: curling-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=diving], -area|z18-[sport=diving] -{icon-image: diving-m.svg;font-size: 11;text-optional: true;} -node|z18-[sport=scuba_diving], -area|z18-[sport=scuba_diving] -{icon-image: diving-m.svg;font-size: 11;text-optional: true;} +node|z18-[sport], +area|z18-[sport], +{font-size: 11; text-optional: true;} /* 5.4 Religion */ diff --git a/generator/generator_tests/osm_type_test.cpp b/generator/generator_tests/osm_type_test.cpp index 26d9ec32ae..b41592349c 100644 --- a/generator/generator_tests/osm_type_test.cpp +++ b/generator/generator_tests/osm_type_test.cpp @@ -2151,8 +2151,7 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_ComplexTypesSmoke) // two types (+hwtag yesfoot) {{"highway", "footway", "permissive"}, {{"highway", "footway"}, {"access", "permissive"}}}, // two types (+hwtag-private) {{"highway", "track", "no-access"}, {{"highway", "track"}, {"access", "no"}}}, // 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"}}}, + // two types (+sport-*) {{"leisure", "sports_centre"}, {{"leisure", "sports_centre"}, {"sport", "any_value"}}}, // // Manually constructed type, not parsed from osm. // {{"building", "address"}, {{"addr:housenumber", "any_value"}, {"addr:street", "any_value"}}}, @@ -2305,8 +2304,7 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_ComplexTypesSmoke) {{"leisure", "park", "no-access"}, {{"leisure", "park"}, {"access", "no"}}}, {{"leisure", "park", "private"}, {{"leisure", "park"}, {"access", "private"}}}, {{"leisure", "park", "private"}, {{"leisure", "park"}, {"access", "private"}}}, - {{"leisure", "sports_centre", "climbing"}, {{"leisure", "sports_centre"}, {"sport", "climbing"}}}, - {{"leisure", "sports_centre", "yoga"}, {{"leisure", "sports_centre"}, {"sport", "yoga"}}}, + {{"leisure", "sports_centre"}, {{"leisure", "sports_centre"}}}, {{"mountain_pass"}, {{"mountain_pass", "any_value"}}}, {{"natural", "water", "pond"}, {{"natural", "water"}, {"water", "pond"}}}, {{"natural", "water", "lake"}, {{"natural", "water"}, {"water", "lake"}}}, diff --git a/map/style_tests/classificator_tests.cpp b/map/style_tests/classificator_tests.cpp index f89a30f82d..6e18facffb 100644 --- a/map/style_tests/classificator_tests.cpp +++ b/map/style_tests/classificator_tests.cpp @@ -255,5 +255,34 @@ UNIT_TEST(Classificator_PoiPriority) {"railway", "station"}, {"railway", "halt"}, {"railway", "tram_stop"}, }, {2, 5}, drule::symbol); } + + /// @todo Check that all of sport=* icons priority is bigger than all of pitch, sport_center, playground. + + { + CheckPriority({ + // 1 + {"leisure", "pitch"}, + // 2 + {"sport", "yoga"} + }, {1, 1}, drule::symbol); + } + + { + CheckPriority({ + // 1 + {"leisure", "sports_centre"}, + // 2 + {"sport", "shooting"} + }, {1, 1}, drule::symbol); + } + + { + CheckPriority({ + // 1 + {"leisure", "playground"}, + // 2 + {"sport", "cricket"} + }, {1, 1}, drule::symbol); + } } } // namespace classificator_tests