1#ifndef OSMSCOUT_MULTIDBROUTINGSERVICE_H
2#define OSMSCOUT_MULTIDBROUTINGSERVICE_H
55 std::vector<DatabaseHandle> handles;
63 const WayRef& way)
override;
67 const WayRef& way)
override;
73 size_t outPathIndex)
override;
78 const Distance &wayLength)
override;
92 double cost)
const override;
94 bool GetRouteNodes(
const std::set<DBId> &routeNodeIds,
95 std::unordered_map<DBId,RouteNodeRef> &routeNodeMap)
override;
97 bool GetRouteNode(
const DBId &
id,
104 std::unordered_map<DBFileOffset,WayRef> &wayMap)
override;
110 std::unordered_map<DBFileOffset,AreaRef> &areaMap)
override;
112 bool ResolveRouteDataJunctions(
RouteData& route)
override;
121 size_t pathIndex)
override;
125 const std::vector<DatabaseRef> &databases);
148 const std::optional<osmscout::Bearing> &bearing,
149 const RoutingParameter ¶meter);
152 const Distance &radius,
153 const RoutingParameter& parameter);
162 const std::list<RoutePostprocessor::PostprocessorRef> &postprocessors);
166 std::optional<DatabaseId>
GetDatabaseId(
const std::string& databasePath)
const;
#define CLASS_FINAL
Definition Compiler.h:26
#define OSMSCOUT_API
Definition CoreImportExport.h:45
Definition AbstractRoutingService.h:193
RoutingResult CalculateRoute(const RoutePosition &start, const RoutePosition &target, const std::optional< osmscout::Bearing > &bearing, const RoutingParameter ¶meter)
bool GetAreasByOffset(const OffsetsCol &offsets, DataCol &areas) const
Definition Database.h:427
const GeoCoord coord
Definition RouteStateAgent.h:49
bool PostProcessRouteDescription(RouteDescription &description, const std::list< RoutePostprocessor::PostprocessorRef > &postprocessors)
RoutingResult CalculateRoute(const std::vector< osmscout::GeoCoord > &via, const Distance &radius, const RoutingParameter ¶meter)
RoutePointsResult TransformRouteDataToPoints(const RouteData &data)
~MultiDBRoutingService() override
std::optional< DatabaseId > GetDatabaseId(const std::string &databasePath) const
MultiDBRoutingService(const RouterParameter ¶meter, const std::vector< DatabaseRef > &databases)
RouteWayResult TransformRouteDataToWay(const RouteData &data)
std::function< RoutingProfileRef(const DatabaseRef &)> RoutingProfileBuilder
Definition MultiDBRoutingService.h:52
bool Open(RoutingProfileBuilder routingProfileBuilder)
bool GetAreaByOffset(const FileOffset &offset, AreaRef &area) const
bool GetWayByOffset(const FileOffset &offset, WayRef &way) const
std::map< DatabaseId, std::string > GetDatabaseMapping() const override
const Distance targetDistance
Definition RouteStateAgent.h:52
const GeoCoord target
Definition RouteStateAgent.h:50
RoutePositionResult GetRoutableNode(const DatabaseId &dbId, const std::vector< ObjectFileRef > &refs)
RoutableObjectsRef data
Definition DataAgent.h:63
RouteDescriptionResult TransformRouteDataToRouteDescription(const RouteData &data)
bool GetWaysByOffset(const OffsetsCol &offsets, DataCol &ways) const
Definition Database.h:444
RoutePositionResult GetClosestRoutableNode(const GeoCoord &coord, const Distance &radius=Kilometers(1)) const
Definition MultiDBRoutingState.h:42
Definition RouteData.h:36
Definition RouteDescription.h:55
Definition RouteNode.h:62
std::shared_ptr< RoutingDatabase > RoutingDatabaseRef
Definition RoutingDB.h:103
std::shared_ptr< SimpleRoutingService > SimpleRoutingServiceRef
Definition SimpleRoutingService.h:261
std::shared_ptr< MultiDBRoutingService > MultiDBRoutingServiceRef
Definition MultiDBRoutingService.h:171
uint64_t Id
Definition OSMScoutTypes.h:40
std::shared_ptr< RoutingProfile > RoutingProfileRef
Definition RoutingProfile.h:182
std::shared_ptr< Way > WayRef
Definition Way.h:213
std::shared_ptr< Area > AreaRef
Definition Area.h:360
Distance Kilometers(double km)
Definition Distance.h:362
uint32_t DatabaseId
Definition DBFileOffset.h:30
std::shared_ptr< RouteNode > RouteNodeRef
Definition RouteNode.h:177
std::shared_ptr< Database > DatabaseRef
Reference counted reference to an Database instance.
Definition Database.h:555
Vehicle
Definition OSMScoutTypes.h:55
DatabaseId dbId
Definition MultiDBRoutingService.h:44
DatabaseRef database
Definition MultiDBRoutingService.h:45
RoutingDatabaseRef routingDatabase
Definition MultiDBRoutingService.h:46
RoutingProfileRef profile
Definition MultiDBRoutingService.h:48
SimpleRoutingServiceRef router
Definition MultiDBRoutingService.h:47
Definition DBFileOffset.h:93
Definition DBFileOffset.h:39