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 16:41:50 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:54:56 +0300
commit68aa0a0811b89f0bfb216d1e8aaf4671d734b777 (patch)
tree777c5ed1c0dc588b987c70e6016166e51b729a9b /routing/pedestrian_model.cpp
parent76d0e2896b4d1f1fd995f70daccf407f50fce570 (diff)
Added tests to verify models switching
Diffstat (limited to 'routing/pedestrian_model.cpp')
-rw-r--r--routing/pedestrian_model.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/routing/pedestrian_model.cpp b/routing/pedestrian_model.cpp
index 84163166b4..d35e968be1 100644
--- a/routing/pedestrian_model.cpp
+++ b/routing/pedestrian_model.cpp
@@ -20,14 +20,22 @@ namespace
// See road types here:
// http://wiki.openstreetmap.org/wiki/Key:highway
+// Heuristics:
+// For less pedestrian roads we add fine by setting smaller value of speed, and for more pedestrian roads we
+// 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 = 1.0;
-double constexpr kSpeedPrimaryKMpH = 1.5;
-double constexpr kSpeedPrimaryLinkKMpH = 1.5;
+double constexpr kSpeedTrunkLinkKMpH = 0.0;
+double constexpr kSpeedPrimaryKMpH = 1.0;
+double constexpr kSpeedPrimaryLinkKMpH = 0.0;
double constexpr kSpeedSecondaryKMpH = 2.0;
-double constexpr kSpeedSecondaryLinkKMpH = 2.0;
+double constexpr kSpeedSecondaryLinkKMpH = 0.0;
double constexpr kSpeedTertiaryKMpH = 2.25;
-double constexpr kSpeedTertiaryLinkKMpH = 2.25;
+double constexpr kSpeedTertiaryLinkKMpH = 1.0;
double constexpr kSpeedServiceKMpH = 3.0;
double constexpr kSpeedUnclassifiedKMpH = 3.5;
double constexpr kSpeedRoadKMpH = 4.0;