本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon Location 中使用路由矩陣進行路由規劃
您可以使用 Amazon Location Service 來建立路由規劃和最佳化軟體的輸入。您可以為一組出發位置和一組目的地位置之間的路由建立路由結果,包括旅程時間和旅程距離。
例如,指定出發位置 A 和 B,以及目的地位置 X 和 Y,Amazon Location Service 將傳回從 A 到 X、A 到 Y、B 到 X 以及 B 到 Y 的路由的出行時間和出行距離。
您可以計算具有不同運輸模式、迴避和流量條件的路由。例如,您可以指定車輛是 35 英呎長的卡車,而計算出的路線將使用這些限制來判斷行駛時間和行駛距離。
傳回的結果數目 (和計算的路由) 是離開位置數目乘以目的地位置數目。系統會針對計算的每個路由向您收費,而不是對服務提出的每個請求,因此 10 個出發點和 10 個目的地的路由矩陣將計費為 100 個路由。
計算路由矩陣
您可以計算一組出發位置和一組目的地位置之間的路由矩陣。路線結果將包含旅程時間和旅程距離。
必要條件
-
您必須先建立路由計算器資源,並為 Amazon Location 的請求設定身分驗證。如需詳細資訊,請參閱使用 Amazon Location 計算路由的先決條件。
使用 CalculateRouteMatrix
操作提交請求。最低請求包含下列必要欄位:
-
DeparturePositions
– 用來計算路由的起始位置集。定義為[longitude, latitude]
-
DestinationPositions
– 用來計算路由的一組最終位置。定義為 的陣列[longitude, latitude]
。
注意
如果您指定不在道路上的出發或目的地位置,Amazon Location 會將該位置移至最近的道路 。
您可以使用 AWS CLI 或 Amazon Location APIs。
依預設,回應會以公里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。