Source code for here_location_services.config.isoline_routing_config

# Copyright (C) 2019-2021 HERE Europe B.V.
# SPDX-License-Identifier: Apache-2.0

"""This module defines all the configs which will be required as inputs to Isoline routing API."""

from .base_config import Bunch


[docs]class IsolineRoutingTransportMode(Bunch): """A class to define constant attributes for mode of transport to be used for the calculation of the route. * ``car`` * ``truck`` * ``pedestrian`` """
transport_mode = { "car": "car", "truck": "truck", "pedestrian": "pedestrian", } #: Use this config for transport_mode of isoline routing API. #: Example: for ``car`` transport_mode use ``ISOLINE_ROUTING_TRANSPORT_MODE.car``. ISOLINE_ROUTING_TRANSPORT_MODE = IsolineRoutingTransportMode(**transport_mode)
[docs]class RangeType(Bunch): """A Class to define constant values for specifying the type of range for Isoline Routing API ``distance``: Units in meters ``time``: Units in seconds ``consumption``: Units in Wh """
#: Use this config s optimised_for of isoline routing API. #: Example: for optimising for ``balanced`` mode use ``OPTIMISED_FOR.balanced``. RANGE_TYPE = RangeType(**{"distance": "distance", "time": "time", "consumption": "consumption"})
[docs]class OptimisedFor(Bunch): """A Class to define constant values for optimising calculation for Isoline Routing API ``quality``: Calculation of isoline focuses on quality, that is, the graph used for isoline calculation has higher granularity generating an isoline that is more precise. ``performance``: Calculation of isoline is performance-centric, quality of isoline is reduced to provide better performance. ``balanced``: Calculation of isoline takes a balanced approach averaging between quality and performance. """
#: Use this config s optimised_for of isoline routing API. #: Example: for optimising for ``balanced`` mode use ``OPTIMISED_FOR.balanced``. OPTIMISED_FOR = OptimisedFor( **{"quality": "quality", "performance": "performance", "balanced": "balanced"} )
[docs]class IsolineRoutingAvoidFeatures(Bunch): """A class to define values for features to avoid features during isoline calculation."""
#: Use this config for avoid_features of isoline API. #: Example: for ``tollRoad`` avoid_features use ``ISOLINE_ROUTING_AVOID_FEATURES.tollRoad``. ISOLINE_ROUTING_AVOID_FEATURES = IsolineRoutingAvoidFeatures( **{ "tollRoad": "tollRoad", "controlledAccessHighway": "controlledAccessHighway", "ferry": "ferry", "carShuttleTrain": "carShuttleTrain", "tunnel": "tunnel", "dirtRoad": "dirtRoad", "difficultTurns": "difficultTurns", } )