2015-02-26 12:50:18 -05:00
|
|
|
#ifndef MAP_MATCHING_HPP
|
|
|
|
#define MAP_MATCHING_HPP
|
2014-09-23 12:46:14 -04:00
|
|
|
|
2017-01-09 15:40:33 -05:00
|
|
|
#include "engine/algorithm.hpp"
|
2017-02-24 20:24:21 -05:00
|
|
|
#include "engine/datafacade/contiguous_internalmem_datafacade.hpp"
|
2016-05-27 15:05:04 -04:00
|
|
|
#include "engine/map_matching/sub_matching.hpp"
|
2017-02-24 20:24:21 -05:00
|
|
|
#include "engine/search_engine_data.hpp"
|
2016-02-20 22:27:26 -05:00
|
|
|
|
2015-09-18 08:26:32 -04:00
|
|
|
#include <vector>
|
2014-09-23 12:46:14 -04:00
|
|
|
|
2015-03-03 06:48:33 -05:00
|
|
|
namespace osrm
|
|
|
|
{
|
2016-01-05 10:51:13 -05:00
|
|
|
namespace engine
|
|
|
|
{
|
|
|
|
namespace routing_algorithms
|
2014-09-23 12:46:14 -04:00
|
|
|
{
|
2015-02-17 06:22:11 -05:00
|
|
|
|
2015-12-09 16:34:22 -05:00
|
|
|
using CandidateList = std::vector<PhantomNodeWithDistance>;
|
2015-02-17 06:22:11 -05:00
|
|
|
using CandidateLists = std::vector<CandidateList>;
|
2016-02-20 22:27:26 -05:00
|
|
|
using SubMatchingList = std::vector<map_matching::SubMatching>;
|
2017-01-09 15:40:33 -05:00
|
|
|
static const constexpr double DEFAULT_GPS_PRECISION = 5;
|
|
|
|
|
2017-03-01 15:17:34 -05:00
|
|
|
//[1] "Hidden Markov Map Matching Through Noise and Sparseness";
|
|
|
|
// P. Newson and J. Krumm; 2009; ACM GIS
|
2017-04-12 02:22:28 -04:00
|
|
|
template <typename Algorithm>
|
|
|
|
SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data,
|
2017-03-31 06:52:04 -04:00
|
|
|
const datafacade::ContiguousInternalMemoryDataFacade<Algorithm> &facade,
|
|
|
|
const CandidateLists &candidates_list,
|
|
|
|
const std::vector<util::Coordinate> &trace_coordinates,
|
|
|
|
const std::vector<unsigned> &trace_timestamps,
|
|
|
|
const std::vector<boost::optional<double>> &trace_gps_precision,
|
|
|
|
const bool allow_splitting);
|
2017-03-31 09:32:04 -04:00
|
|
|
|
|
|
|
} // namespace routing_algorithms
|
|
|
|
} // namespace engine
|
|
|
|
} // namespace osrm
|
2016-01-05 10:51:13 -05:00
|
|
|
|
2015-02-26 12:50:18 -05:00
|
|
|
#endif /* MAP_MATCHING_HPP */
|