本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
根据亚马逊位置的地理围栏评估设备位置
有两种方法可以根据地理围栏评估位置以生成地理围栏事件:
此外,您还可以预测设备在地理围栏内进入、退出或保持闲置状态的传入地理围栏事件。使用ForecastGeofenceEventsAPI来预测事件。
如果您还想跟踪设备位置记录或在地图上显示位置,请将跟踪器链接到地理围栏集合。或者,您可能不想评估所有位置更新,或者您不打算将位置数据存储在跟踪器资源中。如果是其中任何一种情况,则可以直接向地理围栏集合发出请求,并根据其地理围栏评估一个或多个设备的位置。
根据地理围栏评估设备位置会生成事件。您可以对这些事件做出反应并将它们路由到其他 AWS 服务。有关接收地理围栏事件时可以采取的操作的更多信息,请参阅通过亚马逊对亚马逊定位服务事件做出反应。 EventBridge
Amazon Location 事件包括生成该事件的设备位置更新的属性,包括时间、位置、准确性和键值元数据,以及进入或退出的地理围栏的一些属性。有关地理围栏事件中包含的数据的更多信息,请参阅 Amazon Location Service 的亚马逊 EventBridge 活动示例。
以下示例使用或 AWS CLI Amazon 地点APIs。
- API
-
使用 Amazon 位置根据地理围栏的位置评估设备位置 APIs
使用 Amazon 定位地理围APIs栏中的BatchEvaluateGeofences
操作。
以下示例使用API请求来评估设备的位置 ExampleDevice
到关联的地理围栏集合 ExampleGeofenceCollection
。 将这些值替换为您自己的地理围栏和设备。IDs
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
。 将这些值替换为您自己的地理围栏和设备。IDs
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 地点APIs。
- API
-
使用 Amazon 位置预测地理围栏事件 APIs
使用 Amazon 定位地理围APIs栏中的 ForecastGeofenceEvents
操作。
以下示例使用API请求来预测地理围栏事件 ExampleDevice
相对于 ExampleGeofence
。 将这些值替换为您自己的地理围栏和设备。IDs
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
}