only adjust waypoint index in tracepoints when waypoints parameter is specified
This commit is contained in:
parent
6eb4247484
commit
cdad265d49
@ -87,9 +87,9 @@ class MatchAPI final : public RouteAPI
|
|||||||
0u, static_cast<unsigned>(sub_matchings[sub_matching_index].indices.size())))
|
0u, static_cast<unsigned>(sub_matchings[sub_matching_index].indices.size())))
|
||||||
{
|
{
|
||||||
// tidied_to_original: index of the input coordinate that a tidied coordinate
|
// tidied_to_original: index of the input coordinate that a tidied coordinate
|
||||||
// corresponds to
|
// corresponds to.
|
||||||
// sub_matching indices: index of the coordinate passed to map matching plugin that
|
// sub_matching indices: index of the coordinate passed to map matching plugin that
|
||||||
// a matched node corresponds to
|
// a matched node corresponds to.
|
||||||
trace_idx_to_matching_idx[tidy_result
|
trace_idx_to_matching_idx[tidy_result
|
||||||
.tidied_to_original[sub_matchings[sub_matching_index]
|
.tidied_to_original[sub_matchings[sub_matching_index]
|
||||||
.indices[point_index]]] =
|
.indices[point_index]]] =
|
||||||
@ -115,17 +115,22 @@ class MatchAPI final : public RouteAPI
|
|||||||
sub_matchings[matching_index.sub_matching_index].nodes[matching_index.point_index];
|
sub_matchings[matching_index.sub_matching_index].nodes[matching_index.point_index];
|
||||||
auto waypoint = BaseAPI::MakeWaypoint(phantom);
|
auto waypoint = BaseAPI::MakeWaypoint(phantom);
|
||||||
waypoint.values["matchings_index"] = matching_index.sub_matching_index;
|
waypoint.values["matchings_index"] = matching_index.sub_matching_index;
|
||||||
|
waypoint.values["waypoint_index"] = matching_index.point_index;
|
||||||
waypoint.values["alternatives_count"] =
|
waypoint.values["alternatives_count"] =
|
||||||
sub_matchings[matching_index.sub_matching_index]
|
sub_matchings[matching_index.sub_matching_index]
|
||||||
.alternatives_count[matching_index.point_index];
|
.alternatives_count[matching_index.point_index];
|
||||||
if (tidy_result.was_waypoint[trace_index])
|
// waypoint indices need to be adjusted if route legs were collapsed
|
||||||
|
if (!parameters.waypoints.empty())
|
||||||
{
|
{
|
||||||
waypoint.values["waypoint_index"] = was_waypoint_idx;
|
if (tidy_result.was_waypoint[trace_index])
|
||||||
was_waypoint_idx++;
|
{
|
||||||
}
|
waypoint.values["waypoint_index"] = was_waypoint_idx;
|
||||||
else
|
was_waypoint_idx++;
|
||||||
{
|
}
|
||||||
waypoint.values["waypoint_index"] = util::json::Null();
|
else
|
||||||
|
{
|
||||||
|
waypoint.values["waypoint_index"] = util::json::Null();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
waypoints.values.push_back(std::move(waypoint));
|
waypoints.values.push_back(std::move(waypoint));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user