[classifier] Added highway=ladder to the routing and other checkers.

Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
This commit is contained in:
Viktor Govako
2025-08-14 21:31:15 -03:00
committed by Konstantin Pastbin
parent 8ef68a5559
commit c7592276f7
7 changed files with 11 additions and 0 deletions

View File

@@ -2311,6 +2311,7 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_SimpleTypesSmoke)
{"highway", "cycleway"}, {"highway", "cycleway"},
{"highway", "footway"}, {"highway", "footway"},
{"highway", "ford"}, {"highway", "ford"},
{"highway", "ladder"},
{"highway", "living_street"}, {"highway", "living_street"},
{"highway", "motorway"}, {"highway", "motorway"},
{"highway", "motorway_junction"}, {"highway", "motorway_junction"},

View File

@@ -61,6 +61,7 @@ public:
m_map[c.GetTypeByPath({"highway", "pedestrian"})] = HighwayClass::Pedestrian; m_map[c.GetTypeByPath({"highway", "pedestrian"})] = HighwayClass::Pedestrian;
m_map[c.GetTypeByPath({"highway", "footway"})] = HighwayClass::Pedestrian; m_map[c.GetTypeByPath({"highway", "footway"})] = HighwayClass::Pedestrian;
m_map[c.GetTypeByPath({"highway", "bridleway"})] = HighwayClass::Pedestrian; m_map[c.GetTypeByPath({"highway", "bridleway"})] = HighwayClass::Pedestrian;
m_map[c.GetTypeByPath({"highway", "ladder"})] = HighwayClass::Pedestrian;
m_map[c.GetTypeByPath({"highway", "steps"})] = HighwayClass::Pedestrian; m_map[c.GetTypeByPath({"highway", "steps"})] = HighwayClass::Pedestrian;
m_map[c.GetTypeByPath({"highway", "cycleway"})] = HighwayClass::Pedestrian; m_map[c.GetTypeByPath({"highway", "cycleway"})] = HighwayClass::Pedestrian;
m_map[c.GetTypeByPath({"highway", "path"})] = HighwayClass::Pedestrian; m_map[c.GetTypeByPath({"highway", "path"})] = HighwayClass::Pedestrian;
@@ -327,6 +328,7 @@ IsWayChecker::IsWayChecker()
{"secondary", Regular}, {"secondary", Regular},
{"secondary_link", Regular}, {"secondary_link", Regular},
{"service", Minors}, {"service", Minors},
{"ladder", Pedestrian},
{"steps", Pedestrian}, {"steps", Pedestrian},
{"tertiary", Regular}, {"tertiary", Regular},
{"tertiary_link", Regular}, {"tertiary_link", Regular},

View File

@@ -86,6 +86,7 @@ VehicleModel::LimitsInitList const kDefaultOptions = {
{HighwayType::HighwayCycleway, true}, {HighwayType::HighwayCycleway, true},
{HighwayType::HighwayResidential, true}, {HighwayType::HighwayResidential, true},
{HighwayType::HighwayLivingStreet, true}, {HighwayType::HighwayLivingStreet, true},
// HighwayLadder is missing
{HighwayType::HighwaySteps, true}, {HighwayType::HighwaySteps, true},
{HighwayType::HighwayPedestrian, true}, {HighwayType::HighwayPedestrian, true},
{HighwayType::HighwayFootway, true}, {HighwayType::HighwayFootway, true},

View File

@@ -41,6 +41,7 @@ HighwayBasedSpeeds const kDefaultSpeeds = {
{HighwayType::HighwayResidential, InOutCitySpeedKMpH(SpeedKMpH(4.5, 5.0))}, {HighwayType::HighwayResidential, InOutCitySpeedKMpH(SpeedKMpH(4.5, 5.0))},
{HighwayType::HighwayBridleway, InOutCitySpeedKMpH(SpeedKMpH(1.0, 5.0))}, {HighwayType::HighwayBridleway, InOutCitySpeedKMpH(SpeedKMpH(1.0, 5.0))},
{HighwayType::HighwayLadder, InOutCitySpeedKMpH(SpeedKMpH(1.0))},
{HighwayType::HighwaySteps, InOutCitySpeedKMpH(SpeedKMpH(3.0))}, {HighwayType::HighwaySteps, InOutCitySpeedKMpH(SpeedKMpH(3.0))},
{HighwayType::HighwayCycleway, InOutCitySpeedKMpH(SpeedKMpH(4.0, 5.0))}, {HighwayType::HighwayCycleway, InOutCitySpeedKMpH(SpeedKMpH(4.0, 5.0))},
@@ -80,6 +81,7 @@ VehicleModel::LimitsInitList const kDefaultOptions = {
// HighwayBridleway, HighwayCycleway are missing // HighwayBridleway, HighwayCycleway are missing
{HighwayType::HighwayResidential, true}, {HighwayType::HighwayResidential, true},
{HighwayType::HighwayLivingStreet, true}, {HighwayType::HighwayLivingStreet, true},
{HighwayType::HighwayLadder, true},
{HighwayType::HighwaySteps, true}, {HighwayType::HighwaySteps, true},
{HighwayType::HighwayPedestrian, true}, {HighwayType::HighwayPedestrian, true},
{HighwayType::HighwayFootway, true}, {HighwayType::HighwayFootway, true},

View File

@@ -485,6 +485,7 @@ UNIT_TEST(VehicleModel_HighwayType_Values)
TEST(check(HighwayType::HighwayMotorwayLink, {"highway", "motorway_link"}), ()); TEST(check(HighwayType::HighwayMotorwayLink, {"highway", "motorway_link"}), ());
TEST(check(HighwayType::HighwayLivingStreet, {"highway", "living_street"}), ()); TEST(check(HighwayType::HighwayLivingStreet, {"highway", "living_street"}), ());
TEST(check(HighwayType::HighwayMotorway, {"highway", "motorway"}), ()); TEST(check(HighwayType::HighwayMotorway, {"highway", "motorway"}), ());
TEST(check(HighwayType::HighwayLadder, {"highway", "ladder"}), ());
TEST(check(HighwayType::HighwaySteps, {"highway", "steps"}), ()); TEST(check(HighwayType::HighwaySteps, {"highway", "steps"}), ());
TEST(check(HighwayType::HighwayTrunk, {"highway", "trunk"}), ()); TEST(check(HighwayType::HighwayTrunk, {"highway", "trunk"}), ());
TEST(check(HighwayType::HighwayPedestrian, {"highway", "pedestrian"}), ()); TEST(check(HighwayType::HighwayPedestrian, {"highway", "pedestrian"}), ());
@@ -495,6 +496,7 @@ UNIT_TEST(VehicleModel_HighwayType_Values)
TEST(check(HighwayType::HighwaySecondaryLink, {"highway", "secondary_link"}), ()); TEST(check(HighwayType::HighwaySecondaryLink, {"highway", "secondary_link"}), ());
TEST(check(HighwayType::RouteFerry, {"route", "ferry"}), ()); TEST(check(HighwayType::RouteFerry, {"route", "ferry"}), ());
TEST(check(HighwayType::HighwayTertiaryLink, {"highway", "tertiary_link"}), ()); TEST(check(HighwayType::HighwayTertiaryLink, {"highway", "tertiary_link"}), ());
TEST(check(HighwayType::HighwayLadder, {"highway", "ladder"}), ());
TEST(check(HighwayType::HighwayBusway, {"highway", "busway"}), ()); TEST(check(HighwayType::HighwayBusway, {"highway", "busway"}), ());
TEST(check(HighwayType::RouteShuttleTrain, {"route", "shuttle_train"}), ()); TEST(check(HighwayType::RouteShuttleTrain, {"route", "shuttle_train"}), ());
} }

View File

@@ -301,6 +301,7 @@ HighwayBasedFactors GetOneFactorsForBicycleAndPedestrianModel()
{HighwayType::HighwayCycleway, InOutCityFactor(1.0)}, {HighwayType::HighwayCycleway, InOutCityFactor(1.0)},
{HighwayType::HighwayResidential, InOutCityFactor(1.0)}, {HighwayType::HighwayResidential, InOutCityFactor(1.0)},
{HighwayType::HighwayLivingStreet, InOutCityFactor(1.0)}, {HighwayType::HighwayLivingStreet, InOutCityFactor(1.0)},
{HighwayType::HighwayLadder, InOutCityFactor(1.0)},
{HighwayType::HighwaySteps, InOutCityFactor(1.0)}, {HighwayType::HighwaySteps, InOutCityFactor(1.0)},
{HighwayType::HighwayPedestrian, InOutCityFactor(1.0)}, {HighwayType::HighwayPedestrian, InOutCityFactor(1.0)},
{HighwayType::HighwayFootway, InOutCityFactor(1.0)}, {HighwayType::HighwayFootway, InOutCityFactor(1.0)},
@@ -363,6 +364,7 @@ string DebugPrint(HighwayType type)
case HighwayType::HighwayMotorwayLink: return "highway-motorway_link"; case HighwayType::HighwayMotorwayLink: return "highway-motorway_link";
case HighwayType::HighwayLivingStreet: return "highway-living_street"; case HighwayType::HighwayLivingStreet: return "highway-living_street";
case HighwayType::HighwayMotorway: return "highway-motorway"; case HighwayType::HighwayMotorway: return "highway-motorway";
case HighwayType::HighwayLadder: return "highway-ladder";
case HighwayType::HighwaySteps: return "highway-steps"; case HighwayType::HighwaySteps: return "highway-steps";
case HighwayType::HighwayTrunk: return "highway-trunk"; case HighwayType::HighwayTrunk: return "highway-trunk";
case HighwayType::HighwayPedestrian: return "highway-pedestrian"; case HighwayType::HighwayPedestrian: return "highway-pedestrian";

View File

@@ -54,6 +54,7 @@ enum class HighwayType : uint16_t
HighwaySecondaryLink = 176, HighwaySecondaryLink = 176,
RouteFerry = 259, RouteFerry = 259,
HighwayTertiaryLink = 272, HighwayTertiaryLink = 272,
HighwayLadder = 478,
HighwayBusway = 857, // reserve type here, but this type is not used for any routing by default HighwayBusway = 857, // reserve type here, but this type is not used for any routing by default
RouteShuttleTrain = 1054, RouteShuttleTrain = 1054,
}; };