New tidying and gaps parameters.
This commit is contained in:
committed by
Patrick Niklaus
parent
836a5066c2
commit
2fab696bb3
@@ -50,11 +50,10 @@ namespace api
|
||||
*/
|
||||
struct MatchParameters : public RouteParameters
|
||||
{
|
||||
enum class PreprocessingType
|
||||
enum class GapsType
|
||||
{
|
||||
False,
|
||||
Simple,
|
||||
Full
|
||||
Split,
|
||||
Ignore
|
||||
};
|
||||
|
||||
MatchParameters()
|
||||
@@ -64,21 +63,23 @@ struct MatchParameters : public RouteParameters
|
||||
RouteParameters::GeometriesType::Polyline,
|
||||
RouteParameters::OverviewType::Simplified,
|
||||
{}),
|
||||
track_preprocessing(PreprocessingType::Simple)
|
||||
gaps_processing(GapsType::Split), use_tidying(false)
|
||||
{
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
MatchParameters(std::vector<unsigned> timestamps_,
|
||||
PreprocessingType track_preprocessing_,
|
||||
GapsType gaps_processing_,
|
||||
bool use_tidying_,
|
||||
Args... args_)
|
||||
: RouteParameters{std::forward<Args>(args_)...}, timestamps{std::move(timestamps_)},
|
||||
track_preprocessing(track_preprocessing_)
|
||||
gaps_processing(gaps_processing_), use_tidying(use_tidying_)
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<unsigned> timestamps;
|
||||
PreprocessingType track_preprocessing;
|
||||
GapsType gaps_processing;
|
||||
bool use_tidying;
|
||||
|
||||
bool IsValid() const
|
||||
{
|
||||
|
||||
@@ -39,7 +39,7 @@ class RoutingAlgorithmsInterface
|
||||
const std::vector<util::Coordinate> &trace_coordinates,
|
||||
const std::vector<unsigned> &trace_timestamps,
|
||||
const std::vector<boost::optional<double>> &trace_gps_precision,
|
||||
const bool use_tidying) const = 0;
|
||||
const bool allow_splitting) const = 0;
|
||||
|
||||
virtual std::vector<routing_algorithms::TurnData>
|
||||
GetTileTurns(const std::vector<datafacade::BaseDataFacade::RTreeLeaf> &edges,
|
||||
@@ -85,7 +85,7 @@ template <typename AlgorithmT> class RoutingAlgorithms final : public RoutingAlg
|
||||
const std::vector<util::Coordinate> &trace_coordinates,
|
||||
const std::vector<unsigned> &trace_timestamps,
|
||||
const std::vector<boost::optional<double>> &trace_gps_precision,
|
||||
const bool use_tidying) const final override;
|
||||
const bool allow_splitting) const final override;
|
||||
|
||||
std::vector<routing_algorithms::TurnData>
|
||||
GetTileTurns(const std::vector<datafacade::BaseDataFacade::RTreeLeaf> &edges,
|
||||
@@ -166,7 +166,7 @@ inline routing_algorithms::SubMatchingList RoutingAlgorithms<AlgorithmT>::MapMat
|
||||
const std::vector<util::Coordinate> &trace_coordinates,
|
||||
const std::vector<unsigned> &trace_timestamps,
|
||||
const std::vector<boost::optional<double>> &trace_gps_precision,
|
||||
const bool use_tidying) const
|
||||
const bool allow_splitting) const
|
||||
{
|
||||
return routing_algorithms::mapMatching(heaps,
|
||||
facade,
|
||||
@@ -174,7 +174,7 @@ inline routing_algorithms::SubMatchingList RoutingAlgorithms<AlgorithmT>::MapMat
|
||||
trace_coordinates,
|
||||
trace_timestamps,
|
||||
trace_gps_precision,
|
||||
use_tidying);
|
||||
allow_splitting);
|
||||
}
|
||||
|
||||
template <typename AlgorithmT>
|
||||
|
||||
@@ -29,7 +29,7 @@ mapMatching(SearchEngineData &engine_working_data,
|
||||
const std::vector<util::Coordinate> &trace_coordinates,
|
||||
const std::vector<unsigned> &trace_timestamps,
|
||||
const std::vector<boost::optional<double>> &trace_gps_precision,
|
||||
const bool use_tidying);
|
||||
const bool allow_splitting);
|
||||
|
||||
SubMatchingList
|
||||
mapMatching(SearchEngineData &engine_working_data,
|
||||
@@ -38,7 +38,7 @@ mapMatching(SearchEngineData &engine_working_data,
|
||||
const std::vector<util::Coordinate> &trace_coordinates,
|
||||
const std::vector<unsigned> &trace_timestamps,
|
||||
const std::vector<boost::optional<double>> &trace_gps_precision,
|
||||
const bool use_tidying);
|
||||
const bool allow_splitting);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user