Files
comaps/routing/routing_quality/waypoints.hpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

43 lines
1.4 KiB
C++

#pragma once
#include "routing/routes_builder/routes_builder.hpp"
#include "routing/vehicle_mask.hpp"
#include "routing/base/followed_polyline.hpp"
#include "geometry/latlon.hpp"
#include <vector>
namespace routing_quality
{
using Params = routing::routes_builder::RoutesBuilder::Params;
using Waypoints = std::vector<ms::LatLon>;
/// \brief There can be more than one reference route.
using ReferenceRoutes = std::vector<Waypoints>;
// Value in range: [0, 1]
using Similarity = double;
namespace metrics
{
Similarity CompareByNumberOfMatchedWaypoints(routing::FollowedPolyline polyline,
Waypoints const & waypoints);
Similarity CompareByNumberOfMatchedWaypoints(routing::FollowedPolyline const & polyline,
ReferenceRoutes && candidates);
} // namespace metrics
/// \brief Checks how many reference waypoints the route contains.
/// \returns normalized value in range [0.0; 1.0].
Similarity CheckWaypoints(Params const & params, ReferenceRoutes && referenceRoutes);
/// \returns true if route from |start| to |finish| fully conforms one of |candidates|
/// and false otherwise.
bool CheckRoute(Params const & params, ReferenceRoutes && referenceRoutes);
bool CheckCarRoute(ms::LatLon const & start, ms::LatLon const & finish,
ReferenceRoutes && referenceRoutes);
} // namespace routing_quality