Amazon Location でジオフェンスに対してデバイスの位置を評価する - Amazon Location Service

Amazon Location でジオフェンスに対してデバイスの位置を評価する

ジオフェンスに対して位置を評価してジオフェンスイベントを生成する方法は 2 つあります。

さらに、ジオフェンスに対するデバイスの出入り、ジオフェンス内でのデバイスの滞留について、今後のジオフェンスイベントを予測できます。ForecastGeofenceEvents API を使用してイベントを予測します。

デバイスの位置履歴を追跡したり、地図上に位置を表示したりしたい場合は、トラッカーをジオフェンスコレクションとリンクしてください。あるいは、位置情報の更新をすべて評価したくない、または、位置データをトラッカーリソースに保存したくない場合もあるかもしれません。どちらかに当てはまる場合は、ジオフェンスコレクションに直接リクエストして、ジオフェンスに対して 1 つ以上のデバイスの位置を評価できます。

ジオフェンスに対してデバイス位置を評価すると、イベントが生成されます。これらのイベントに反応し、他の AWS サービスにルーティングできます。ジオフェンスイベントを受信した際のアクションの詳細については、「Amazon EventBridge による Amazon Location Service イベントへの対応」を参照してください。

Amazon Location イベントには、そのイベントを生成するデバイス位置更新の属性 (タイムスタンプ、位置、精度、キーと値のペアから成るメタデータ、出入りしたジオフェンスの属性の一部など) が含まれます。ジオフェンスイベントに含まれるデータについては、「Amazon Location Service 用の Amazon EventBridge イベントの例」を参照してください。

次の例では、AWS CLI、または Amazon Location API を使用しています。

API

Amazon Location API を使用して、デバイスの位置とジオフェンスの位置を比較して評価するには

Amazon Location Geofences API の BatchEvaluateGeofences オペレーションを使用してください。

次の例では、API リクエストを使用して、関連するジオフェンスコレクション ExampleGeofenceCollection に対するデバイス ExampleDevice の位置を評価します。これらの値は、独自のジオフェンスとデバイス 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 を使用してイベントに対応できますが、このプロセスではイベントが発生した後にのみ対応できます。デバイスがジオフェンスに対して出入りするタイミングを予測する必要がある場合 (例えば、デバイスが国境を越え、その結果として異なる規制の対象となる場合)、ForecastGeofenceEvents API を使用して今後のジオフェンスイベントを予測できます。

ForecastGeofenceEvents API は、デバイスのジオフェンス境界への到達予測時間、ジオフェンスからの距離、移動速度、現在位置などの条件に基づいてイベントを予測します。この例では、API は ForecastedBreachTime を返します。これは、ジオフェンスイベントが発生する推測時間を示します。

以下の例では、Amazon Location API を使用しています。

API

Amazon Location API を使用してジオフェンスイベントを予測するには

Amazon Location Geofences API の ForecastGeofenceEvents オペレーションを使用してください。

以下の例では、API リクエストを使用して、ExampleGeofence に対する ExampleDevice のジオフェンスイベントを予測しています。これらの値は、独自のジオフェンスとデバイス 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 }