如何将 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}}'