本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如何将 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}}'