forked from organicmaps/organicmaps
Improved model to get more accurate route with heuristics
This commit is contained in:
parent
9e34589b71
commit
237bc9d444
1 changed files with 16 additions and 17 deletions
|
@ -25,27 +25,25 @@ namespace
|
|||
// set greater values of speed. Algorithm picks roads with greater speed first, preferencing a more pedestrian roads over
|
||||
// less pedestrian. As result of such heuristic road is not totally the shortest, but it avoids non pedestrian roads, which were
|
||||
// not marked as "foot=no" in OSM.
|
||||
// Despite we assume trunks, primary and secondary roads footable with some fine,
|
||||
// we assume links trunk_link, primary_link and secondary_link are prohibited.
|
||||
|
||||
double constexpr kSpeedTrunkKMpH = 1.0;
|
||||
double constexpr kSpeedTrunkLinkKMpH = 0.0;
|
||||
double constexpr kSpeedPrimaryKMpH = 1.0;
|
||||
double constexpr kSpeedPrimaryLinkKMpH = 0.0;
|
||||
double constexpr kSpeedSecondaryKMpH = 2.0;
|
||||
double constexpr kSpeedSecondaryLinkKMpH = 0.0;
|
||||
double constexpr kSpeedTertiaryKMpH = 2.25;
|
||||
double constexpr kSpeedTertiaryLinkKMpH = 1.0;
|
||||
double constexpr kSpeedServiceKMpH = 3.0;
|
||||
double constexpr kSpeedUnclassifiedKMpH = 3.5;
|
||||
double constexpr kSpeedTrunkLinkKMpH = 1.0;
|
||||
double constexpr kSpeedPrimaryKMpH = 2.0;
|
||||
double constexpr kSpeedPrimaryLinkKMpH = 2.0;
|
||||
double constexpr kSpeedSecondaryKMpH = 3.0;
|
||||
double constexpr kSpeedSecondaryLinkKMpH = 3.0;
|
||||
double constexpr kSpeedTertiaryKMpH = 4.0;
|
||||
double constexpr kSpeedTertiaryLinkKMpH = 4.0;
|
||||
double constexpr kSpeedServiceKMpH = 5.0;
|
||||
double constexpr kSpeedUnclassifiedKMpH = 4.5;
|
||||
double constexpr kSpeedRoadKMpH = 4.0;
|
||||
double constexpr kSpeedTrackKMpH = 4.0;
|
||||
double constexpr kSpeedPathKMpH = 4.25;
|
||||
double constexpr kSpeedBridlewayKMpH = 4.0;
|
||||
double constexpr kSpeedCyclewayKMpH = 4.25;
|
||||
double constexpr kSpeedResidentialKMpH = 5.0;
|
||||
double constexpr kSpeedTrackKMpH = 5.0;
|
||||
double constexpr kSpeedPathKMpH = 5.0;
|
||||
double constexpr kSpeedBridlewayKMpH = 1.0;
|
||||
double constexpr kSpeedCyclewayKMpH = 4.0;
|
||||
double constexpr kSpeedResidentialKMpH = 4.5;
|
||||
double constexpr kSpeedLivingStreetKMpH = 5.0;
|
||||
double constexpr kSpeedStepsKMpH = 5.0;
|
||||
double constexpr kSpeedStepsKMpH = 4.9;
|
||||
double constexpr kSpeedPedestrianKMpH = 5.0;
|
||||
double constexpr kSpeedFootwayKMpH = 5.0;
|
||||
|
||||
|
@ -65,6 +63,7 @@ routing::VehicleModel::InitListT const s_pedestrianLimits_Default =
|
|||
{ {"highway", "road"}, kSpeedRoadKMpH },
|
||||
{ {"highway", "track"}, kSpeedTrackKMpH }, // *
|
||||
{ {"highway", "path"}, kSpeedPathKMpH },
|
||||
{ {"highway", "cycleway"}, kSpeedCyclewayKMpH }, // *
|
||||
{ {"highway", "residential"}, kSpeedResidentialKMpH },
|
||||
{ {"highway", "living_street"}, kSpeedLivingStreetKMpH },
|
||||
{ {"highway", "steps"}, kSpeedStepsKMpH }, // *
|
||||
|
|
Loading…
Add table
Reference in a new issue