在 Amazon Location 中使用路由矩陣進行路由規劃 - Amazon Location Service

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

在 Amazon Location 中使用路由矩陣進行路由規劃

您可以使用 Amazon Location Service 來建立路由規劃和最佳化軟體的輸入。您可以為一組出發位置和一組目的地位置之間的路由建立路由結果,包括旅程時間和旅程距離。

例如,指定出發位置 A 和 B,以及目的地位置 X 和 Y,Amazon Location Service 將傳回從 A 到 X、A 到 Y、B 到 X 以及 B 到 Y 的路由的出行時間和出行距離。

您可以計算具有不同運輸模式、迴避和流量條件的路由。例如,您可以指定車輛是 35 英呎長的卡車,而計算出的路線將使用這些限制來判斷行駛時間和行駛距離。

傳回的結果數目 (和計算的路由) 是離開位置數目乘以目的地位置數目。系統會針對計算的每個路由向您收費,而不是對服務提出的每個請求,因此 10 個出發點和 10 個目的地的路由矩陣將計費為 100 個路由。

計算路由矩陣

您可以計算一組出發位置和一組目的地位置之間的路由矩陣。路線結果將包含旅程時間和旅程距離。

必要條件

使用 CalculateRouteMatrix操作提交請求。最低請求包含下列必要欄位:

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

  • DestinationPositions – 用來計算路由的一組最終位置。定義為 的陣列[longitude, latitude]

注意

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

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

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

API

下列範例是使用路由計算器資源的CalculateRouteMatrix請求 ExampleCalculator。 請求會指定從離開位置 【-122.7565, 49.0021 】 和 【-122.2014, 47.6101】 至目的地位置 【-122.3394, 47.6159 】 和 【-122.4813, 48.7511].

POST /routes/v0/calculators/ExampleCalculator/calculate/route-matrix Content-type: application/json { "DeparturePositions": [ [-122.7565,49.0021], [-122.2014,47.6101] ], "DestinationPositions": [ [-122.3394, 47.6159], [-122.4813,48.7511] ] }
AWS CLI

下列範例是使用路由計算器資源的calculate-route-matrix命令 ExampleCalculator。 請求會指定從離開位置 【-122.7565, 49.0021 】 和 【-122.2014, 47.6101】 至目的地位置 【-122.3394, 47.6159 】 和 【-122.4813, 48.7511].

aws location \ calculate-route-matrix \ --calculator-name ExampleCalculator \ --departure-positions "[[-122.7565,49.0021],[-122.2014,47.6101]]" \ --destination-positions "[[-122.3394,47.6159],[-122.4813,48.7511]]"

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

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

POST /routes/v0/calculators/ExampleCalculator/calculate/route-matrix Content-type: application/json { "DeparturePositions": [ [-122.7565,49.0021], [-122.2014,47.6101] ], "DestinationPositions": [ [-122.3394, 47.6159], [-122.4813,48.7511] ], "DistanceUnit": "Miles" }

出發和目的地位置的限制

計算路由矩陣時,出發和目的地位置有限制。這些限制會根據RouteCalculator資源使用的提供者而有所不同。

限制 Esri 抓取 HERE
位置數目 最多 10 個出發位置和 10 個目的地位置。 最多 350 個出發位置和 350 個目的地位置。

最多 350 個出發位置和 350 個目的地位置。

對於較長的路由,則適用其他限制。請參閱章節

位置之間的距離 任何一對出發和目的地位置必須彼此距離 400 公里以內 (步行路線為 40 公里)。

所有出發和目的地位置都必須在 180 km 直徑範圍內。

對於較長的路由,則適用其他限制。請參閱 一節

路由長度 如果路由的總行程時間超過 400 分鐘,則不會完成路由。

不會計算偏離出發和目的地點周圍 10 公里外的路線。

對於較長的路由,則適用其他限制。請參閱章節

區域 韓國不支援計算路由矩陣。 適用於東南亞。如需支援的國家/區域清單和詳細資訊,請參閱 涵蓋的國家/區域和區域 沒有其他限制。

較長的路由規劃

計算路由結果的矩陣有助於有效規劃路由,但計算可能需要一些時間。所有 Amazon Location Service 資料提供者都會限制可計算的路由數量或路由距離。例如, HERE 允許在 350 個出發和目的地位置之間建立路由,但這些位置必須落在 180 公里的圓圈內。如果您想要規劃較長的路由,該怎麼辦?

您可以使用 RouteCalculator 搭配 HERE作為資料提供者,為較少數量的路由計算具有無限制長度的路由矩陣。這不會變更您呼叫 CalculateRouteMatrix 的方式API,Amazon Location 只會在您符合需求時允許較長的路由。

較長路由計算的需求為:

  • RouteCalculator 必須使用HERE資料提供者。

  • 離開位置的數量不能大於 15。

  • 要計算的路由總數不能大於 100。

  • 當路線大於 1,000 km 時,具有避免收費條件的卡車路由不允許長距離路由。 此組合的計算速度較慢,可能會導致呼叫逾時。您可以使用 CalculateRoute操作個別計算這些路由。

如果您的呼叫不符合這些要求 (例如,您在單一呼叫中請求 150 個路由計算),則 CalculateRouteMatrix將還原為僅允許較短的路由規則。然後,只要位置位於 180 公里的圓圈內,您就可以計算路由。

計算較長的路由時,請記住以下幾點:

  • 較長的路由可能需要較長的時間才能計算,甚至比 Amazon Location 的最長時間更長APIs。如果您收到特定路由的頻繁逾時,您可以在每次呼叫中嘗試較少數量的路由。 CalculateRouteMatrix

  • 如果您將更多目的地或離開位置新增至CalculateRouteMatrix請求,操作可以切換到更受限的模式,而且當要建立的路由較少時,您可能會遇到可以計算的路由錯誤,不會發生問題。在此情況下,請減少目的地或出發位置的數量,並提出多個請求以取得您需要的完整路由計算。

回應範例

以下是從 Amazon Location Routes 呼叫 CalculateRouteMatrix操作時,具有對應回應的範例請求API。

Example request
POST /routes/v0/calculators/ExampleCalculator/calculate/route-matrix Content-type: application/json { "DeparturePositions": [ [-122.7565,49.0021], [-122.2014,47.6101] ], "DestinationPositions": [ [-122.3394, 47.6159], [-122.4813,48.7511] ] }
Example response
{ "RouteMatrix": [ [ { "Distance": 178.764, "DurationSeconds": 7565 }, { "Distance": 39.795, "DurationSeconds": 1955 } ], [ { "Distance": 15.31, "DurationSeconds": 1217 }, { "Distance": 142.506, "DurationSeconds": 6279 } ] ], "Summary": { "DataSource": "Here", "RouteCount": 4, "ErrorCount": 0, "DistanceUnit": "Kilometers" } }