/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the location-2020-11-19.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.LocationService.Model
{
///
/// A summary of the calculated route.
///
public partial class CalculateRouteSummary
{
private string _dataSource;
private double? _distance;
private DistanceUnit _distanceUnit;
private double? _durationSeconds;
private List _routeBBox = new List();
///
/// Gets and sets the property DataSource.
///
/// The data provider of traffic and road network data used to calculate the route. Indicates
/// one of the available providers:
///
/// -
///
///
Esri
///
/// -
///
///
Grab
///
/// -
///
///
Here
///
///
///
/// For more information about data providers, see Amazon
/// Location Service data providers.
///
///
[AWSProperty(Required=true)]
public string DataSource
{
get { return this._dataSource; }
set { this._dataSource = value; }
}
// Check to see if DataSource property is set
internal bool IsSetDataSource()
{
return this._dataSource != null;
}
///
/// Gets and sets the property Distance.
///
/// The total distance covered by the route. The sum of the distance travelled between
/// every stop on the route.
///
///
///
/// If Esri is the data source for the route calculator, the route distance can’t be greater
/// than 400 km. If the route exceeds 400 km, the response is a 400 RoutesValidationException
/// error.
///
///
///
[AWSProperty(Required=true, Min=0)]
public double Distance
{
get { return this._distance.GetValueOrDefault(); }
set { this._distance = value; }
}
// Check to see if Distance property is set
internal bool IsSetDistance()
{
return this._distance.HasValue;
}
///
/// Gets and sets the property DistanceUnit.
///
/// The unit of measurement for route distances.
///
///
[AWSProperty(Required=true)]
public DistanceUnit DistanceUnit
{
get { return this._distanceUnit; }
set { this._distanceUnit = value; }
}
// Check to see if DistanceUnit property is set
internal bool IsSetDistanceUnit()
{
return this._distanceUnit != null;
}
///
/// Gets and sets the property DurationSeconds.
///
/// The total travel time for the route measured in seconds. The sum of the travel time
/// between every stop on the route.
///
///
[AWSProperty(Required=true, Min=0)]
public double DurationSeconds
{
get { return this._durationSeconds.GetValueOrDefault(); }
set { this._durationSeconds = value; }
}
// Check to see if DurationSeconds property is set
internal bool IsSetDurationSeconds()
{
return this._durationSeconds.HasValue;
}
///
/// Gets and sets the property RouteBBox.
///
/// Specifies a geographical box surrounding a route. Used to zoom into a route when displaying
/// it in a map. For example, [min x, min y, max x, max y]
.
///
///
///
/// The first 2 bbox
parameters describe the lower southwest corner:
///
/// -
///
/// The first
bbox
position is the X coordinate or longitude of the lower
/// southwest corner.
///
/// -
///
/// The second
bbox
position is the Y coordinate or latitude of the lower
/// southwest corner.
///
///
///
/// The next 2 bbox
parameters describe the upper northeast corner:
///
/// -
///
/// The third
bbox
position is the X coordinate, or longitude of the upper
/// northeast corner.
///
/// -
///
/// The fourth
bbox
position is the Y coordinate, or latitude of the upper
/// northeast corner.
///
///
///
[AWSProperty(Required=true, Sensitive=true, Min=4, Max=4)]
public List RouteBBox
{
get { return this._routeBBox; }
set { this._routeBBox = value; }
}
// Check to see if RouteBBox property is set
internal bool IsSetRouteBBox()
{
return this._routeBBox != null && this._routeBBox.Count > 0;
}
}
}