使用 Amazon Location 計算路由 - Amazon Location Service

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

使用 Amazon Location 計算路由

您可以使用 Amazon Location Service 計算原始伺服器與目的地之間的路由,路徑沿途最多 23 個航點,適用於不同運輸模式、迴避和流量條件。

注意

您必須先建立路由計算器資源,並為 Amazon Location 的請求設定身分驗證。如需詳細資訊,請參閱使用 Amazon Location 計算路由的先決條件

開始計算路由

使用 CalculateRoute操作提交簡單的請求。簡單請求包含下列必要欄位:

  • DeparturePosition – 計算路由的起始位置。定義為 [longitude, latitude]

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

注意

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

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

您可以使用 AWS CLI 或 Amazon Location APIs。

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 }

回應範例

以下是從 Amazon Location Routes 呼叫 CalculateRoute操作,API並將 IncludeLegGeometry設定為 時,具有對應回應的範例請求 true,其中包括回應中一對位置之間每個路徑的線串幾何。

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 ] } }