如何将 GPS 轨迹与道路网络进行匹配 - Amazon Location Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

如何将 GPS 轨迹与道路网络进行匹配

SnapToRoads API 允许您将 GPS 轨迹与道路网络进行匹配。GPS 追踪包括使用 GPS 设备记录的位置和元数据,例如时间戳、速度和方向。这些轨迹通常具有误差幅度,因此很难直接用于分析和可视化。

SnapToRoads 在匹配轨迹时,会考虑指定出行模式的法律和时间限制。如果追踪线强烈暗示存在违反限制的情况,则保留所走的实际路线。

潜在用例

  • GPS 轨迹叠加到最有可能行驶的道路上:此功能有助于将 GPS 数据与道路网络上最准确的路径对齐,从而支持更清晰的数据可视化。

  • 插值 GPS 轨迹中的间隙: SnapToRoads 可以通过将坐标捕捉到路段来填补空白,从而为应用程序创建更连续、更有用的数据集。

  • 过滤噪点和异常值:通过捕捉到最近的道路,此 API 可以帮助移除异常值并降低 GPS 噪音,从而提高分析的数据可靠性。

示例

Sample request
{ "TracePoints": [ { "Position": [8.53404,50.16364], "Timestamp": "2024-05-22T18:13:42Z" }, { "Position": [8.53379056,50.16352417], "Speed": 20, "Timestamp": "2024-05-22T18:13:59Z" } ], "TravelMode": "Car" }
Sample response
{ "Notices": [], "SnappedGeometry": { "Polyline": "Redacted" }, "SnappedGeometryFormat": "FlexiblePolyline", "SnappedTracePoints": [ { "Confidence": 1, "OriginalPosition": [8.53404, 50.16364], "SnappedPosition": [8.53402, 50.16367] }, { "Confidence": 0.86, "OriginalPosition": [8.53379056, 50.16352417], "SnappedPosition": [8.53375, 50.16356] } ] }
cURL
curl --request POST \ --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/snap-to-roads?key=Your_key' \ --header 'Content-Type: application/json' \ --data '{ "TracePoints": [ { "Position": [8.53404,50.16364], "Timestamp": "2024-05-22T18:13:42Z" }, { "Position": [8.53379056,50.16352417], "Speed": 20, "Timestamp": "2024-05-22T18:13:59Z" } ], "TravelMode": "Car" }'
AWS CLI
aws geo-routes snap-to-roads --key ${YourKey} \ --trace-points '[{"Position": [8.53404, 50.16364], "Timestamp": "2024-05-22T18:13:42Z"}, {"Position": [8.53379056, 50.16352417], "Speed": 20, "Timestamp": "2024-05-22T18:13:59Z"}]' \ --travel-mode "Car"
Sample request
{ "TracePoints": [ { "Position": [8.53404,50.16364], "Timestamp": "2024-05-22T18:13:42Z" }, { "Position": [8.53379056,50.16352417], "Speed": 20, "Timestamp": "2024-05-22T18:13:59Z" } ], "TravelMode": "Truck", "TravelModeOptions": { "Truck": { "GrossWeight": 10000 } } }
Sample response
{ "Notices": [], "SnappedGeometry": { "Polyline": "Redacted" }, "SnappedGeometryFormat": "FlexiblePolyline", "SnappedTracePoints": [ { "Confidence": 1, "OriginalPosition": [8.53404, 50.16364], "SnappedPosition": [8.53402, 50.16367] }, { "Confidence": 0.86, "OriginalPosition": [8.53379056, 50.16352417], "SnappedPosition": [8.53375, 50.16356] } ] }
cURL
curl --request POST \ --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/snap-to-roads?key=Your_key' \ --header 'Content-Type: application/json' \ --data '{ "TracePoints": [ { "Position": [8.53404,50.16364], "Timestamp": "2024-05-22T18:13:42Z" }, { "Position": [8.53379056,50.16352417], "Speed": 20, "Timestamp": "2024-05-22T18:13:59Z" } ], "TravelMode": "Truck", "TravelModeOptions": { "Truck": { "GrossWeight": 10000 } } }'
AWS CLI
aws geo-routes snap-to-roads --key ${YourKey} \ --trace-points '[{"Position": [8.53404, 50.16364], "Timestamp": "2024-05-22T18:13:42Z"}, {"Position": [8.53379056, 50.16352417], "Speed": 20, "Timestamp": "2024-05-22T18:13:59Z"}]' \ --travel-mode "Truck" \ --travel-mode-options '{"Truck": {"GrossWeight": 10000}}'