計算路由 - Amazon Location Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

計算路由

您可以使用 Amazon 定 Location Service 來計算起點和目的地之間的路線,路線上最多 23 個航點,適用於不同的運輸、避免和交通狀況。

注意

您必須先建立路由計算機資源,並為您向 Amazon 位置的請求設定身份驗證。如需詳細資訊,請參閱 先決條件

開始計算路線

使用CalculateRoute操作提交簡單的請求。一個簡單的請求包含以下必填字段:

  • DeparturePosition— 要從中計算路線的起始位置。定義為[longitude, latitude]

  • DestinationPosition— 要計算路線的結束位置。定義為[longitude, latitude]

注意

如果您指定不在道路上的出發地或目的地位置,Amazon Location 會將該位置移至最近的道路

您可以選擇在請求中指定航點出發時間旅行模式

您可以使用AWS CLI或亞馬遜位置 API。

API

下面的例子是使用路線計算器資源的CalculateRoute請求ExampleCalculator。該請求指定計算從出發位置 [-122.7565, 49.0021] 到目的地位置的路線 [-122.3394, 47.6159]。

POST /routes/v0/calculators/ExampleCalculator/calculate/route Content-type: application/json { "DeparturePosition": [-122.7565,49.0021], "DestinationPosition": [-122.3394, 47.6159] }
AWS CLI

以下範例是使用路線計算機資源的calculate-route指令ExampleCalculator。該請求指定計算從出發位置 [-122.7565, 49.0021] 到目的地位置的路線 [-122.3394, 47.6159]。

aws location \ calculate-route \ --calculator-name ExampleCalculator \ --departure-position -122.7565 49.0021 \ --destination-position -122.3394 47.6159

依預設,回應會以公里為單Distance位傳回。您可以使用下列選用參數將測量單位變更為英哩:

  • DistanceUnit— 指定用於距離結果的單位系統。

POST /routes/v0/calculators/ExampleCalculator/calculate/route Content-type: application/json { "DeparturePosition": [-122.7565,49.0021], "DestinationPosition": [-122.3394, 47.6159], "DistanceUnit": "Miles" }

設定航點

計算路線時,您可以使用航點位置在出發位置和目的地位置之間指定多達 23 個中間中途停留點。

  • WaypointPositions— 指定沿著起飛位置和目標位置之間的路線包含的中間位置的有序清單。

    注意

    如果您指定的航點位置不在道路上,Amazon Location 會將該位置移至最近的道路。

以下CalculateRoute請求計算帶有 2 個航點的路線:

  • 出發位置為 [-122.7565, 49.0021],目的地位置為 [-122.3394, 47.6159]。

  • 對於請求參數WaypointPositions

    • 位置的第一個止損為 [-122.1884, 48.0936]。

    • 位置的第二個止損為 [-122.3493, 47.6205]。

  • 要在這兩個航點之間包括腿線串幾何圖形,請將以下可選參數設置為 true

    • IncludeLegGeometry— 包括回應中一對位置之間每個路徑的幾何圖形。

POST /routes/v0/calculators/ExampleCalculator/calculate/route Content-type: application/json { "DeparturePosition": [-122.7565,49.0021], "DestinationPosition": [-122.3394, 47.6159], "WaypointPositions":[ [-122.1884,48.0936], [-122.3493,47.6205] ], "IncludeLegGeometry": true }

回應範例

以下是在IncludeLegGeometry設為 true 的 Amazon Location Route API 呼叫CalculateRoute作業時,具有相應回應的範例請求,其中包含回應中一對位置之間每個路徑的線串幾何。

Example request
POST /routes/v0/calculators/ExampleCalculator/calculate/route Content-type: application/json { "DeparturePosition": [-122.7565,49.0021], "DestinationPosition": [-122.3394, 47.6159], "IncludeLegGeometry": true }
Example response
{ "Legs": [ { "Distance": 178.5, "DurationSeconds": 6480, "EndPosition": [-122.3394,47.6159], "Geometry": { "LineString": [ [-122.7565,49.0021], [-122.3394,47.6159] ] }, "StartPosition": [-122.7565,49.0021], "Steps": [ { "Distance": 178.5, "DurationSeconds": 6480, "EndPosition": [-122.3394,47.6159], "GeometryOffset": 0, "StartPosition": [-122.7565,49.0021] } ] } ], "Summary": { "DataSource": "Esri", "Distance": 178.5, "DistanceUnit": "Kilometers", "DurationSeconds": 6480, "RouteBBox": [ -122.7565,49.0021, -122.3394,47.6159 ] } }