From d429485f0c3e5ff53e6878492898aa4be3882c65 Mon Sep 17 00:00:00 2001 From: Patrick Niklaus Date: Fri, 20 Feb 2015 02:31:48 +0100 Subject: [PATCH] Fix stupid error in backtracking --- routing_algorithms/map_matching.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/routing_algorithms/map_matching.hpp b/routing_algorithms/map_matching.hpp index 6f766aefb..ceca02214 100644 --- a/routing_algorithms/map_matching.hpp +++ b/routing_algorithms/map_matching.hpp @@ -511,6 +511,7 @@ template class MapMatching final model.viterbi[parent_timestamp_index].end()); unsigned parent_candidate_index = std::distance(model.viterbi[parent_timestamp_index].begin(), max_element_iter); + std::deque> reconstructed_indices; while (parent_timestamp_index > sub_matching_begin) { @@ -518,9 +519,11 @@ template class MapMatching final { continue; } + reconstructed_indices.emplace_front(parent_timestamp_index, parent_candidate_index); - parent_timestamp_index = model.parents[parent_timestamp_index][parent_candidate_index].first; - parent_candidate_index = model.parents[parent_timestamp_index][parent_candidate_index].second; + const auto& next = model.parents[parent_timestamp_index][parent_candidate_index]; + parent_timestamp_index = next.first; + parent_candidate_index = next.second; } reconstructed_indices.emplace_front(parent_timestamp_index, parent_candidate_index); if (reconstructed_indices.size() < 2)