1 #ifndef OSMSCOUT_MULTIDBROUTINGSERVICE_H 2 #define OSMSCOUT_MULTIDBROUTINGSERVICE_H 54 std::vector<DatabaseHandle> handles;
62 const WayRef& way)
override;
66 const WayRef& way)
override;
72 size_t outPathIndex)
override;
77 const Distance &wayLength)
override;
81 const Distance &targetDistance)
override;
85 const Distance &targetDistance)
override;
89 double cost)
const override;
91 bool GetRouteNodes(
const std::set<DBId> &routeNodeIds,
92 std::unordered_map<DBId,RouteNodeRef> &routeNodeMap)
override;
94 bool GetRouteNode(
const DBId &
id,
100 bool GetWaysByOffset(
const std::set<DBFileOffset> &wayOffsets,
101 std::unordered_map<DBFileOffset,WayRef> &wayMap)
override;
106 bool GetAreasByOffset(
const std::set<DBFileOffset> &areaOffsets,
107 std::unordered_map<DBFileOffset,AreaRef> &areaMap)
override;
109 bool ResolveRouteDataJunctions(
RouteData& route)
override;
118 size_t pathIndex)
override;
121 MultiDBRoutingService(
const RouterParameter& parameter,
122 const std::vector<DatabaseRef> &databases);
123 ~MultiDBRoutingService()
override;
129 RoutePositionResult GetClosestRoutableNode(
const GeoCoord &coord,
132 RoutingResult CalculateRoute(
const RoutePosition &start,
133 const RoutePosition &target,
134 const RoutingParameter ¶meter);
136 RoutingResult CalculateRoute(std::vector<osmscout::GeoCoord> via,
137 const Distance &radius,
138 const RoutingParameter& parameter);
140 RouteDescriptionResult TransformRouteDataToRouteDescription(
const RouteData& data);
142 RoutePointsResult TransformRouteDataToPoints(
const RouteData& data);
144 RouteWayResult TransformRouteDataToWay(
const RouteData& data);
147 const std::list<RoutePostprocessor::PostprocessorRef> &postprocessors);
149 std::map<DatabaseId, std::string> GetDatabaseMapping()
const override;
uint64_t Id
Definition: OSMScoutTypes.h:41
Definition: RouteDescription.h:53
std::shared_ptr< RoutingProfile > RoutingProfileRef
Definition: RoutingProfile.h:171
Vehicle
Definition: OSMScoutTypes.h:55
std::shared_ptr< Way > WayRef
Definition: Way.h:202
std::shared_ptr< MultiDBRoutingService > MultiDBRoutingServiceRef
Definition: MultiDBRoutingService.h:154
DatabaseRef database
Definition: MultiDBRoutingService.h:44
DatabaseId dbId
Definition: MultiDBRoutingService.h:43
std::shared_ptr< Database > DatabaseRef
Reference counted reference to an Database instance.
Definition: Database.h:555
Definition: RouteData.h:35
Distance Kilometers(double km)
Definition: Distance.h:362
SimpleRoutingServiceRef router
Definition: MultiDBRoutingService.h:46
RoutingProfileRef profile
Definition: MultiDBRoutingService.h:47
RoutingDatabaseRef routingDatabase
Definition: MultiDBRoutingService.h:45
std::shared_ptr< RoutingDatabase > RoutingDatabaseRef
Definition: RoutingDB.h:101
std::shared_ptr< SimpleRoutingService > SimpleRoutingServiceRef
Definition: SimpleRoutingService.h:223
#define CLASS_FINAL
Definition: Compiler.h:26
std::shared_ptr< Area > AreaRef
Definition: Area.h:358
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
std::function< RoutingProfileRef(const DatabaseRef &)> RoutingProfileBuilder
Definition: MultiDBRoutingService.h:51
std::shared_ptr< RouteNode > RouteNodeRef
Definition: RouteNode.h:160
Definition: DBFileOffset.h:38
Definition: DBFileOffset.h:92
Definition: MultiDBRoutingState.h:39
Definition: RouteNode.h:61
uint32_t DatabaseId
Definition: DBFileOffset.h:30