diff options
author | Constantin Shalnev <c.shalnev@corp.mail.ru> | 2015-07-08 18:43:36 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:55:28 +0300 |
commit | 237bc9d444ed38ea7373ff866b0a848164ac4694 (patch) | |
tree | b22d4644e9a84e1f650507fe575b98474cde86a7 /routing/pedestrian_model.cpp | |
parent | 9e34589b71cc44da7930483d0b229cb8dfa1b30d (diff) |
Improved model to get more accurate route with heuristics
Diffstat (limited to 'routing/pedestrian_model.cpp')
-rw-r--r-- | routing/pedestrian_model.cpp | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/routing/pedestrian_model.cpp b/routing/pedestrian_model.cpp index d35e968be1..57d21734d3 100644 --- a/routing/pedestrian_model.cpp +++ b/routing/pedestrian_model.cpp @@ -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 }, // * |