本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
根據 Amazon Location 中的地理位置評估裝置位置
有兩種方式可以針對地理資料評估位置,以產生地理資料事件:
此外,您可以預測傳入的地理事件,以用於在地理內進入、結束或保持閒置的裝置。使用 ForecastGeofenceEventsAPI預測事件。
如果您也想要追蹤裝置位置歷史記錄或在地圖上顯示位置,請將追蹤器與地理集連結。或者,您可能不想評估所有位置更新,也不想將位置資料儲存在追蹤器資源中。如果發生上述任一情況,您可以直接請求地理集,並根據其地理評估一或多個裝置位置。
根據地理位置評估裝置位置會產生事件。您可以對這些事件做出回應,並將其路由至其他 AWS 服務。如需接收地理事件時可採取之動作的詳細資訊,請參閱使用 Amazon 回應 Amazon Location Service 事件 EventBridge。
Amazon Location 事件包含產生它的裝置位置更新屬性,包括時間、位置、準確性和鍵值中繼資料,以及輸入或結束的地理的一些屬性。如需地理事件中包含的資料的詳細資訊,請參閱 Amazon 定 Location Service 的 Amazon EventBridge 事件示例。
下列範例使用 AWS CLI、 或 Amazon Location APIs。
- API
-
使用 Amazon Location 根據地理位置評估裝置位置 APIs
從 Amazon Location Geofences 使用 BatchEvaluateGeofences
操作APIs。
下列範例使用 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預測未來的地理事件。
ForecastGeofenceEvents API 使用裝置 time-to-breach、鄰近性、速度和位置等條件來預測事件。API 將傳回 ForecastedBreachTime
,表示地理位置事件的預估發生時間。
下列範例使用 Amazon Location APIs。
- API
-
使用 Amazon Location 預測地理事件 APIs
使用 Amazon Location Geofences 中的 ForecastGeofenceEvents
操作APIs。
下列範例使用 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
}