本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
根据地理围栏评估设备位置
有两种方法可以根据地理围栏评估位置以生成地理围栏事件:
此外,您还可以预测设备在地理围栏内进入、退出或保持闲置状态的传入地理围栏事件。使用 ForecastGeofenceEventsAPI 预测事件。
如果您还想跟踪设备位置记录或在地图上显示位置,请将跟踪器链接到地理围栏集合。或者,您可能不想评估所有位置更新,或者您不打算将位置数据存储在跟踪器资源中。如果是其中任何一种情况,则可以直接向地理围栏集合发出请求,并根据其地理围栏评估一个或多个设备的位置。
根据地理围栏评估设备位置会生成事件。您可以对这些事件做出反应并将其路由到其他 AWS 服务。有关接收地理围栏事件时可以采取的操作的更多信息,请参阅通过亚马逊对亚马逊定位服务事件做出反应。 EventBridge
Amazon Location 事件包括生成该事件的设备位置更新的属性,包括时间、位置、准确性和键值元数据,以及进入或退出的地理围栏的一些属性。有关地理围栏事件中包含的数据的更多信息,请参阅 Amazon Location Service 的亚马逊 EventBridge 活动示例。
以下示例使用或 Amazon 定位 API。 AWS CLI
- API
-
使用 Amazon Location API 根据地理围栏的位置评估设备位置
使用 Amazon Location 地理围栏 API 中的 BatchEvaluateGeofences
操作。
以下示例使用 API 请求来评估设备ExampleDevice
在关联的地理围栏集合中的位置。ExampleGeofenceCollection
将这些值替换为您自己的地理围栏和设备 ID。
POST /geofencing/v0/collections/ExampleGeofenceCollection
/positions HTTP/1.1
Content-type: application/json
{
"DevicePositionUpdates": [
{
"DeviceId": "ExampleDevice
",
"Position": [-123.123, 47.123]
,
"SampleTime": "2021-11-30T21:47:25.149Z",
"Accuracy": {
"Horizontal": 10.30
},
"PositionProperties": {
"field1": "value1",
"field2": "value2"
}
}
]
}
- AWS CLI
-
使用命令根据地理围栏的位置评估设备位置 AWS CLI
使用 batch-evaluate-geofences
命令。
以下示例使用 AWS CLI 来评估ExampleDevice
相对于关联的地理围栏集合的位置。ExampleGeofenceCollection
将这些值替换为您自己的地理围栏和设备 ID。
aws location \
batch-evaluate-geofences \
--collection-name ExampleGeofenceCollection
\
--device-position-updates '[{"DeviceId":"ExampleDevice
","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z","Accuracy":{"Horizontal":10.30},"PositionProperties":{"field1":"value1","field2":"value2"}}]'
根据地理围栏评估设备位置会生成事件。传统上,你可以使用对事件做出反应 Amazon EventBridge,但是这个过程只允许你在事件发生之后对事件做出反应。如果您需要预测设备何时进入或退出地理围栏,例如设备是否跨越边界,因此将受到不同的法规的约束,那么您可以使用 ForecastGeofenceEventsAPI 来预测未来的地理围栏事件。
ForecastGeofenceEventsAPI 使用设备 time-to-breach、距离、速度和位置等标准来预测事件。那里 API 将返回 a ForecastedBreachTime
,表示地理围栏事件发生的估计时间。
以下示例使用 Amazon 定位 API。
- API
-
使用 Amazon 定位 API 预测地理围栏事件
使用 Amazon Location 地理围栏 API 中的 ForecastGeofenceEvents
操作。
以下示例使用 API 请求预测相ExampleDevice
对于的地理围栏事件。ExampleGeofence
将这些值替换为您自己的地理围栏和设备 ID。
POST /geofencing/v0/collections/CollectionName/forecast-geofence-events HTTP/1.1
Content-type: application/json
{
"DeviceState": {
"Position": [ number ],
"Speed": number
},
"DistanceUnit": "string",
"MaxResults": number,
"NextToken": "string",
"SpeedUnit": "string",
"TimeHorizonMinutes": number
}