Admiral/admiral-worker/core/services/RoutingService.py
2025-06-24 14:22:50 +02:00

22 lines
699 B
Python

from abc import ABC, abstractmethod
from core.domain.map.GeoLocation import GeoLocation
from core.domain.map.RouteInfo import RouteInfo
from core.domain.map.RouteMatrix import RouteMatrix
from core.domain.optimization.TransportMode import TransportMode
class RoutingService(ABC):
@abstractmethod
def getRouteMatrix(self, geoLocations: list[GeoLocation], transportMode: TransportMode) -> RouteMatrix:
pass
@abstractmethod
def getRouteInfo(self, transportMode: TransportMode, legs: list[GeoLocation]) -> RouteInfo:
pass
@abstractmethod
def getAverageRouteInfo(self, transportMode: TransportMode, legs: list[GeoLocation], probability: list[float], iterations: int) -> RouteInfo:
pass