Skip to content

Trip

Solve traveling salesman problem.

Parameters:

Name Type Description Default
coordinates

List of (lon, lat) tuples or TripParameters object

None
roundtrip

Return to start point (default True)

required
source

Source constraint: 'any' or 'first'

required
destination

Destination constraint: 'any' or 'last'

required
steps

Return route steps for each route leg

required
geometries

Geometry format: 'polyline', 'polyline6', or 'geojson'

required
overview

Overview detail: 'simplified', 'full', or 'false'

required
annotations

Annotation type string or list

required
radiuses

Search radius in meters for each coordinate

required
bearings

Bearing constraints

required
hints

Hints from previous request

required
approaches

Approach constraints

required
exclude

Road classes to avoid

required
generate_hints

Generate hints for response

required
snapping

Snapping mode

required

Returns:

Type Description

Trip result as osrm.Object

Source code in osrm/__init__.py
def Trip(self, coordinates=None, **kwargs):
    """
    Solve traveling salesman problem.

    Args:
        coordinates: List of (lon, lat) tuples or TripParameters object
        roundtrip: Return to start point (default True)
        source: Source constraint: 'any' or 'first'
        destination: Destination constraint: 'any' or 'last'
        steps: Return route steps for each route leg
        geometries: Geometry format: 'polyline', 'polyline6', or 'geojson'
        overview: Overview detail: 'simplified', 'full', or 'false'
        annotations: Annotation type string or list
        radiuses: Search radius in meters for each coordinate
        bearings: Bearing constraints
        hints: Hints from previous request
        approaches: Approach constraints
        exclude: Road classes to avoid
        generate_hints: Generate hints for response
        snapping: Snapping mode

    Returns:
        Trip result as osrm.Object
    """
    # Support traditional usage with TripParameters object
    if isinstance(coordinates, TripParameters):
        return self._engine.Trip(coordinates).to_dict()

    # Convenience method: build parameters from kwargs
    params = TripParameters()

    # Set coordinates
    if coordinates is not None:
        params.coordinates = coordinates

    # Set other parameters with automatic enum conversion
    for key, value in kwargs.items():
        _set_param(params, key, value)

    return self._engine.Trip(params).to_dict()

Trip Parameters

Bases: osrm.osrm_ext.RouteParameters

Overloaded function.

  1. __init__(self) -> None

Instantiates an instance of TripParameters.

Examples:

>>> trip_params = osrm.TripParameters(
        coordinates = [(7.41337, 43.72956), (7.41546, 43.73077)],
        source = 'any',
        destination = 'last',
        roundtrip = False
    )
>>> trip_params.IsValid()
True

Parameters:

Name Type Description Default
source string 'any' | 'first'

Returned route starts at 'any' or 'first' coordinate. (default '')

required
destination string 'any' | 'last'

Returned route ends at 'any' or 'last' coordinate. (default '')

required
roundtrip bool

Returned route is a roundtrip (route returns to first location). (default True)

required
RouteParameters RouteParameters

Keyword arguments from parent class.

required

Returns:

Name Type Description
__init__ TripParameters

A TripParameters object, for usage in Trip.

IsValid bool

A bool value denoting validity of parameter values.

Attributes:

Name Type Description
source string

Returned route starts at 'any' or 'first' coordinate.

destination string

Returned route ends at 'any' or 'last' coordinate.

roundtrip bool

Returned route is a roundtrip (route returns to first location).

RouteParameters RouteParameters

Attributes from parent class.

  1. __init__(self, source: osrm.osrm_ext.TripSourceType = '', destination: osrm.osrm_ext.TripDestinationType = '', roundtrip: bool = True, steps: bool = False, alternatives: int = 0, annotations: collections.abc.Sequence[osrm.osrm_ext.RouteAnnotationsType] = [], geometries: osrm.osrm_ext.RouteGeometriesType = '', overview: osrm.osrm_ext.RouteOverviewType = '', continue_straight: osrm.osrm_ext.OptionalBool = <osrm.osrm_ext.OptionalBool object at 0x7f945fee0cd0>, waypoints: collections.abc.Sequence[int] = [], coordinates: collections.abc.Sequence[osrm.osrm_ext.Coordinate] = [], hints: collections.abc.Sequence[std::optional<osrm::engine::Hint>] = [], radiuses: collections.abc.Sequence[osrm.osrm_ext.OptionalDouble] = [], bearings: collections.abc.Sequence[osrm.osrm_ext.OptionalBearing] = [], approaches: collections.abc.Sequence[osrm.osrm_ext.OptionalApproach] = [], generate_hints: bool = True, exclude: collections.abc.Sequence[str] = [], snapping: osrm.osrm_ext.SnappingType = '') -> None