ロケーションデータのインデックス作成 - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ロケーションデータのインデックス作成

AWS IoT フリートインデックス作成を使用して、デバイスの最終送信位置データのインデックスを作成し、地理クエリを使用してデバイスを検索できます。この機能は、位置追跡や近接検索などのデバイスモニタリングと管理のユースケースを解決します。ロケーションインデックス作成は、他のフリートインデックス作成機能と同様に機能し、モノのインデックス作成 で指定する追加の設定で機能します。

一般的なユースケースは次のとおりです。 目的の地理的境界内にあるデバイスを検索および集約する インデックスが作成されたデータソースから、デバイスのメタデータと状態に関連するクエリ用語を使用してロケーション固有のインサイトを取得します。 結果を特定の地理的エリアにフィルタリングしてフリートモニタリングマップ内のレンダリングラグを減らし、最後に報告されたデバイスの位置を追跡するなどの詳細なビューを提供します。 と は、目的の境界制限外のデバイスを特定し、フリートメトリクス を使用してアラームを生成します。ロケーションインデックス作成とジオクエリを開始するには、「」を参照してください入門チュートリアル

サポートされているデータ形式

AWS IoT フリートインデックス作成は、次の位置データ形式をサポートしています。

  1. 座標参照システムの既知のテキスト表現

    地理情報 - 座標参照システムの形式の既知のテキスト表現に従う文字列。例として、 があります"POINT(long lat)"

  2. 座標を表す文字列

    "latitude, longitude" または "longitude, latitude" の形式の文字列。を使用する場合は"longitude, latitude"orderで も指定する必要がありますgeoLocations。例として があります"41.12,-71.34"

  3. lat(緯度)、lon(経度) キーのオブジェクト

    この形式は、クラシックシャドウと名前付きシャドウに適用されます。サポートされているキー: latlatitudelonlonglongitude。例として があります{"lat": 41.12, "lon": -71.34}

  4. 座標を表す配列

    [lat,lon] または の形式の配列[lon,lat]GeoJSON の座標 (クラシックシャドウと名前付きシャドウに適用可能) と同じ形式 を使用する場合は[lon,lat]orderでも を指定する必要がありますgeoLocations

    例としては、次のようなものがあります。

    { "location": { "coordinates": [ **Longitude**, **Latitude** ], "type": "Point", "properties": { "country": "United States", "city": "New York", "postalCode": "*****", "horizontalAccuracy": 20, "horizontalConfidenceLevel": 0.67, "state": "New York", "timestamp": "2023-01-04T20:59:13.024Z" } } }

位置データのインデックス作成方法

次の手順は、位置データのインデックス作成設定を更新し、ジオクエリを使用してデバイスを検索する方法を示しています。

  1. 位置情報データが保存されている場所を把握する

    フリートインデックス作成は現在、クラシックシャドウまたは名前付きシャドウに保存されている位置データのインデックス作成をサポートしています。

  2. サポートされている位置データ形式を使用する

    ロケーションデータ形式が、サポートされているデータ形式 のいずれかに従っていることを確認します。

  3. インデックス作成設定の更新

    少なくとも、モノ (レジストリ) のインデックス作成設定を有効にします。また、位置データを含むクラシックシャドウまたは名前付きシャドウでインデックス作成を有効にする必要があります。モノのインデックス作成を更新するときは、インデックス作成設定に位置データを含める必要があります。

  4. ジオクエリを作成して実行する

    ユースケースに応じて、ジオクエリを作成して実行し、デバイスを検索します。構成するジオキューは、クエリ構文 に従う必要があります。地理的クエリの例 にいくつかの例があります。

モノのインデックス作成設定を更新する

ロケーションデータのインデックスを作成するには、インデックス作成設定を更新し、ロケーションデータを含める必要があります。ロケーションデータの保存場所に応じて、手順に従ってインデックス作成設定を更新します。

位置データがクラシックシャドウに保存されている場合は、 thingIndexingModeを に設定REGISTRY_AND_SHADOWし、 のgeoLocationsフィールド (nameorder) に位置データを指定する必要がありますfilter

次のモノのインデックス作成設定の例では、位置データパスを shadow.reported.coordinatesとしてnameLonLatとして指定しますorder

{ "thingIndexingMode": "REGISTRY_AND_SHADOW", "filter": { "geoLocations": [ { "name": "shadow.reported.coordinates", "order": "LonLat" } ] } }
  • thingIndexingMode

    インデックス作成モードは、レジストリまたはシャドウのインデックス作成を制御します。thingIndexingMode が に設定されている場合OFF、モノのインデックス作成は無効になります。

    クラシックシャドウに保存されている位置データのインデックスを作成するには、 を thingIndexingModeに設定する必要がありますREGISTRY_AND_SHADOW。詳細については、「モノのインデックス作成モード」を参照してください。

  • filter

    インデックス作成フィルターは、名前付きシャドウと位置情報データの追加選択を提供します。詳細については、「インデックス作成フィルター」を参照してください。

  • geoLocations

    インデックスを作成するために選択した位置情報ターゲットのリスト。インデックス作成のデフォルトのジオロケーションターゲットの最大数は です1。制限を引き上げるには、AWS IoT Device Management 「クォータ」を参照してください。

  • name

    位置情報ターゲットフィールドの名前。の値の例はname、シャドウの場所データパス ですshadow.reported.coordinates

  • order

    位置情報ターゲットフィールドの順序。有効な値: LatLonおよび LonLatLatLonは緯度と経度を意味し、 LonLatは経度と緯度を意味します。このフィールドはオプションです。デフォルト値は、LatLonです。

ロケーションデータが名前付きシャドウに保存されている場合は、 namedShadowIndexingModeを に設定しON、名前付きシャドウ名 (複数可) を の namedShadowNames フィールドに追加しfilter、 の geoLocationsフィールドにロケーションデータパスを指定しますfilter

次のモノのインデックス作成設定の例では、位置データパスを shadow.name.namedShadow1.reported.coordinatesとしてnameLonLatとして指定しますorder

{ "thingIndexingMode": "REGISTRY", "namedShadowIndexingMode": "ON", "filter": { "namedShadowNames": [ "namedShadow1" ], "geoLocations": [ { "name": "shadow.name.namedShadow1.reported.coordinates", "order": "LonLat" } ] } }
  • thingIndexingMode

    インデックス作成モードは、レジストリまたはシャドウのインデックス作成を制御します。thingIndexingMode が に設定されている場合OFF、モノのインデックス作成は無効になります。

    名前付きシャドウに保存されている位置データのインデックスを作成するには、 を REGISTRY (または ) thingIndexingModeに設定する必要がありますREGISTRY_AND_SHADOW。詳細については、「モノのインデックス作成モード」を参照してください。

  • filter

    インデックス作成フィルターは、名前付きシャドウと位置情報データの追加選択を提供します。詳細については、「インデックス作成フィルター」を参照してください。

  • geoLocations

    インデックスを作成するために選択した位置情報ターゲットのリスト。インデックス作成のデフォルトのジオロケーションターゲットの最大数は です1。制限を引き上げるには、AWS IoT Device Management 「クォータ」を参照してください。

  • name

    位置情報ターゲットフィールドの名前。の値の例はname、シャドウの場所データパス ですshadow.name.namedShadow1.reported.coordinates

  • order

    位置情報ターゲットフィールドの順序。有効な値: LatLonおよび LonLatLatLonは緯度と経度を意味し、 LonLatは経度と緯度を意味します。このフィールドはオプションです。デフォルト値は、LatLonです。

地理的クエリの例

位置データのインデックス作成設定が完了したら、geoqueries を実行してデバイスを検索します。地理的クエリを他のクエリ文字列と組み合わせることもできます。詳細については、「クエリ構文」および「モノのクエリの例」を参照してください。

クエリ例 1

この例では、場所データが名前付きシャドウ に保存されていることを前提としていますgps-tracker。このコマンドの出力は、中心点から 15.5 km の放射状距離内にあるデバイスの座標 (47.6204,-122.3491) のリストです。

aws iot search-index --query-string \ "shadow.name.gps-tracker.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km"

クエリの例 2

この例では、位置データがクラシックシャドウに保存されていることを前提としています。このコマンドの出力は、中心点から 15.5 km の放射状距離内にあるデバイスの座標 (47.6204,-122.3491) のリストです。

aws iot search-index --query-string \ "shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km"

クエリの例 3

この例では、位置データがクラシックシャドウに保存されていることを前提としています。このコマンドの出力は、接続されておらず、座標 (47.6204,-122.3491) を持つ中心点から 15.5 km の放射距離の外にあるデバイスのリストです。

aws iot search-index --query-string \ "connectivity.connected:false AND (NOT shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km)"