Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConstantin Shalnev <c.shalnev@corp.mail.ru>2015-07-08 18:43:36 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:55:28 +0300
commit237bc9d444ed38ea7373ff866b0a848164ac4694 (patch)
treeb22d4644e9a84e1f650507fe575b98474cde86a7 /routing/pedestrian_model.cpp
parent9e34589b71cc44da7930483d0b229cb8dfa1b30d (diff)
Improved model to get more accurate route with heuristics
Diffstat (limited to 'routing/pedestrian_model.cpp')
-rw-r--r--routing/pedestrian_model.cpp33
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 }, // *