本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon 位置使用路线矩阵进行路线规划
您可以使用 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 位置计算路线的先决条件。
使用 CalculateRouteMatrix
操作提交请求。最低请求包含以下必填字段:
-
DeparturePositions
——要计算路线的起始位置集。定义为一个数组[longitude, latitude]
-
DestinationPositions
——要计算路线的终点位置集。定义为一个数组[longitude, latitude]
。
注意
如果您指定的出发或目的地位置不在道路上,Amazon Location 会将该位置移动到最近的道路。
您可以使用 AWS CLI 或 Amazon 地点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 | Grab | HERE |
---|---|---|---|
位置数量 | 多达 10 个出发位置和 10 个目的地位置。 | 多达 350 个出发位置和 350 个目的地位置。 |
多达 350 个出发位置和 350 个目的地位置。 对于较长的路线,则适用其他限制。请参阅 部分。 |
位置之间的距离 | 任何一对出发和目的地位置之间的距离必须在 400 千米以内(步行路线为 40 千米)。 |
所有出发和目的地位置必须位于直径为 180 千米的圆圈内。 对于较长的路线,则适用其他限制。请参阅 部分。 |
|
路线长度 | 如果路线的总行驶时间超过 400 分钟,则该路线将无法完成。 |
在出发点和目的地点周围的圆圈外偏离超过 10 千米的路线将不予计算。 对于较长的路线,则适用其他限制。请参阅 部分。 |
|
区域 | 韩国不支持计算路线矩阵。 | 在东南亚有售。有关支持的国家/地区列表和更多信息,请参阅 覆盖的国家/地区和区域。 | 没有其他限制。 |
较长的路线规划
计算路线结果矩阵对于高效的路线规划很有用,但计算可能需要一些时间。所有 Amazon Location Service 数据提供程序都对可以计算的路线数量或路线距离施加了限制。例如,HERE允许在 350 个出发和目的地位置之间创建路线,但这些位置必须位于 180 千米的圆圈内。如果您想计划更长的路线,该怎么办?
您可以使用 with HERE 作为数据提供器,为较少数量的路径计算长度不受限制RouteCalculator
的路径矩阵。这不会改变您拨打的方式 CalculateRouteMatrix
API,Amazon Location 只是在您满足要求时允许更长的路线。
计算更长路线的要求是:
-
RouteCalculator
必须使用HERE数据提供器。 -
出发位置的数量不得大于 15。
-
要计算的路线总数不得大于 100。
-
当路线大于 1,000 km 时,不允许进行长途路线,避免通行费的卡车路线。 这种组合的计算速度较慢,并且可能导致呼叫超时。您可以通过CalculateRoute操作单独计算这些路径。
如果您的调用不符合这些要求(例如,您在一次调用中请求计算 150 条路线),则 CalculateRouteMatrix
将恢复为仅允许使用较短的路线规则。然后,只要位置在 180 千米的圆圈内,您就可以计算路线。
计算较长的路线时,请记住以下几点:
-
较长的路线可能需要更长的时间来计算,甚至比 Amazon 定位的最长时间还要长APIs。如果您在特定路线上频繁超时,则可以在每次调用
CalculateRouteMatrix
中尝试少量路线。 -
如果您在
CalculateRouteMatrix
请求中添加更多目的地或出发位置,则操作可能会切换到限制性更强的模式,并且当要创建的路线较少时,可以毫无问题地计算出一条路线,则可能会出现错误。在这种情况下,请减少目的地或出发位置的数量,并发出多个请求以获得所需的全套路线计算结果。
响应示例
以下是从 Amazon 定位路径调用CalculateRouteMatrix
操作时带有相应响应的示例请求API。