Class CalculateRouteRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CalculateRouteRequest.Builder,CalculateRouteRequest>

@Generated("software.amazon.awssdk:codegen") public final class CalculateRouteRequest extends LocationRequest implements ToCopyableBuilder<CalculateRouteRequest.Builder,CalculateRouteRequest>
  • Method Details

    • arrivalTime

      public final Instant arrivalTime()

      Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

      ArrivalTime is not supported Esri.

      Returns:
      Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

      ArrivalTime is not supported Esri.

    • calculatorName

      public final String calculatorName()

      The name of the route calculator resource that you want to use to calculate the route.

      Returns:
      The name of the route calculator resource that you want to use to calculate the route.
    • carModeOptions

      public final CalculateRouteCarModeOptions carModeOptions()

      Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

      Requirements: TravelMode must be specified as Car.

      Returns:
      Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

      Requirements: TravelMode must be specified as Car.

    • departNow

      public final Boolean departNow()

      Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

      Default Value: false

      Valid Values: false | true

      Returns:
      Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

      Default Value: false

      Valid Values: false | true

    • hasDeparturePosition

      public final boolean hasDeparturePosition()
      For responses, this returns true if the service returned a value for the DeparturePosition property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • departurePosition

      public final List<Double> departurePosition()

      The start position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

      • For example, [-123.115, 49.285]

      If you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

      Valid Values: [-180 to 180,-90 to 90]

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasDeparturePosition() method.

      Returns:
      The start position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

      • For example, [-123.115, 49.285]

      If you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

      Valid Values: [-180 to 180,-90 to 90]

    • departureTime

      public final Instant departureTime()

      Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

      • In ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00

      Returns:
      Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

      • In ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00

    • hasDestinationPosition

      public final boolean hasDestinationPosition()
      For responses, this returns true if the service returned a value for the DestinationPosition property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • destinationPosition

      public final List<Double> destinationPosition()

      The finish position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

      • For example, [-122.339, 47.615]

      If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road.

      Valid Values: [-180 to 180,-90 to 90]

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasDestinationPosition() method.

      Returns:
      The finish position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

      • For example, [-122.339, 47.615]

      If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road.

      Valid Values: [-180 to 180,-90 to 90]

    • distanceUnit

      public final DistanceUnit distanceUnit()

      Set the unit system to specify the distance.

      Default Value: Kilometers

      If the service returns an enum value that is not available in the current SDK version, distanceUnit will return DistanceUnit.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from distanceUnitAsString().

      Returns:
      Set the unit system to specify the distance.

      Default Value: Kilometers

      See Also:
    • distanceUnitAsString

      public final String distanceUnitAsString()

      Set the unit system to specify the distance.

      Default Value: Kilometers

      If the service returns an enum value that is not available in the current SDK version, distanceUnit will return DistanceUnit.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from distanceUnitAsString().

      Returns:
      Set the unit system to specify the distance.

      Default Value: Kilometers

      See Also:
    • includeLegGeometry

      public final Boolean includeLegGeometry()

      Set to include the geometry details in the result for each path between a pair of positions.

      Default Value: false

      Valid Values: false | true

      Returns:
      Set to include the geometry details in the result for each path between a pair of positions.

      Default Value: false

      Valid Values: false | true

    • key

      public final String key()

      The optional API key to authorize the request.

      Returns:
      The optional API key to authorize the request.
    • optimizeFor

      public final OptimizationMode optimizeFor()

      Specifies the distance to optimize for when calculating a route.

      If the service returns an enum value that is not available in the current SDK version, optimizeFor will return OptimizationMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from optimizeForAsString().

      Returns:
      Specifies the distance to optimize for when calculating a route.
      See Also:
    • optimizeForAsString

      public final String optimizeForAsString()

      Specifies the distance to optimize for when calculating a route.

      If the service returns an enum value that is not available in the current SDK version, optimizeFor will return OptimizationMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from optimizeForAsString().

      Returns:
      Specifies the distance to optimize for when calculating a route.
      See Also:
    • travelMode

      public final TravelMode travelMode()

      Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, Walking, Bicycle or Motorcycle as options for the TravelMode.

      Bicycle and Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

      Truck is not available for Grab.

      For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon Location Service Developer Guide.

      The TravelMode you specify also determines how you specify route preferences:

      • If traveling by Car use the CarModeOptions parameter.

      • If traveling by Truck use the TruckModeOptions parameter.

      Default Value: Car

      If the service returns an enum value that is not available in the current SDK version, travelMode will return TravelMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from travelModeAsString().

      Returns:
      Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, Walking, Bicycle or Motorcycle as options for the TravelMode.

      Bicycle and Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

      Truck is not available for Grab.

      For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon Location Service Developer Guide.

      The TravelMode you specify also determines how you specify route preferences:

      • If traveling by Car use the CarModeOptions parameter.

      • If traveling by Truck use the TruckModeOptions parameter.

      Default Value: Car

      See Also:
    • travelModeAsString

      public final String travelModeAsString()

      Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, Walking, Bicycle or Motorcycle as options for the TravelMode.

      Bicycle and Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

      Truck is not available for Grab.

      For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon Location Service Developer Guide.

      The TravelMode you specify also determines how you specify route preferences:

      • If traveling by Car use the CarModeOptions parameter.

      • If traveling by Truck use the TruckModeOptions parameter.

      Default Value: Car

      If the service returns an enum value that is not available in the current SDK version, travelMode will return TravelMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from travelModeAsString().

      Returns:
      Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, Walking, Bicycle or Motorcycle as options for the TravelMode.

      Bicycle and Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

      Truck is not available for Grab.

      For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon Location Service Developer Guide.

      The TravelMode you specify also determines how you specify route preferences:

      • If traveling by Car use the CarModeOptions parameter.

      • If traveling by Truck use the TruckModeOptions parameter.

      Default Value: Car

      See Also:
    • truckModeOptions

      public final CalculateRouteTruckModeOptions truckModeOptions()

      Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

      Requirements: TravelMode must be specified as Truck.

      Returns:
      Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

      Requirements: TravelMode must be specified as Truck.

    • hasWaypointPositions

      public final boolean hasWaypointPositions()
      For responses, this returns true if the service returned a value for the WaypointPositions property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • waypointPositions

      public final List<List<Double>> waypointPositions()

      Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure position and destination position.

      • For example, from the DeparturePosition [-123.115, 49.285], the route follows the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]]

      If you specify a waypoint position that's not located on a road, Amazon Location moves the position to the nearest road.

      Specifying more than 23 waypoints returns a 400 ValidationException error.

      If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

      Valid Values: [-180 to 180,-90 to 90]

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasWaypointPositions() method.

      Returns:
      Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure position and destination position.

      • For example, from the DeparturePosition [-123.115, 49.285], the route follows the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]]

      If you specify a waypoint position that's not located on a road, Amazon Location moves the position to the nearest road.

      Specifying more than 23 waypoints returns a 400 ValidationException error.

      If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

      Valid Values: [-180 to 180,-90 to 90]

    • toBuilder

      public CalculateRouteRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CalculateRouteRequest.Builder,CalculateRouteRequest>
      Specified by:
      toBuilder in class LocationRequest
      Returns:
      a builder for type T
    • builder

      public static CalculateRouteRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CalculateRouteRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.