Indoor Positioning データ セットの生成 (Generate Indoor Positioning Dataset) (Indoor Positioning)

サマリー

既存の ArcGIS IPS インストールに Indoor Positioning データセットを生成します。 サーベイベースまたはサーベイなしの方法を使用して、データセットを生成できます。

このツールでは、ArcGIS IPS Information Model の IPS 測位データセット フィーチャクラス、IPS 測位ポイント フィーチャクラス、IPS 測位信号テーブルが更新されます。

使用法

  • このツールでは、次のいずれかの方法を使用して Indoor Positioning データセットが生成されます。

    • [サーベイベース] - IPS レコーディング フィーチャは、ArcGIS IPS Setup アプリを使用してサーベイ時に収集された信号で構成されています。 この方法では、IPS レコーディング フィーチャとレベル フィーチャのみを指定する必要がありますが、IPS ビーコン フィーチャも指定すると、適応型無線測位が有効になり、Android デバイスでの測位の精度が向上します。 IPS ビーコン フィーチャを指定した場合、IPS ビーコン フィーチャクラスのビーコンから発信されたのではなく IPS サーベイ レコーディング時にキャプチャされた無線信号はフィルターによって除外されます。
    • [サーベイなし] - これらのフィーチャは、屋内環境を通して Bluetooth 信号の伝達をシミュレートするために使用されます。 この方法では、IPS ビーコン フィーチャ、IPS エリア フィーチャ、壁フィーチャ、およびレベル フィーチャを指定する必要があります。
  • [出力データセット名] パラメーターの値は、[ターゲット IPS 測位データセット] パラメーターで設定したフィーチャクラスの Dataset Name フィールド内で一意である必要があります。

  • [レベル フィーチャ] パラメーター値は、ArcGIS Indoors Information Model のレベル フィーチャクラスに準拠するフィーチャクラスまたはフィーチャ レイヤーである必要があります。

    • [サーベイベース] 生成方法を使用する場合、LEVEL_ID フィールドの少なくとも 1 つの有効な IPS レコーディング フィーチャにレベルを関連付ける必要があります。
    • [サーベイなし] 生成方法を使用する場合、少なくとも 4 つのビーコン フィーチャ、1 つの IPS エリア フィーチャ、1 つの壁フィーチャにレベルを関連付ける必要があります。
    • さらに、次の属性が有効、最新であり、かつ NULL であってはなりません。
      • LEVEL_ID
      • VERTICAL_ORDER
      • FACILITY_ID

  • [IPS レコーディング フィーチャ] パラメーターの値は、ArcGIS IPS モデルの IPS_Recordings フィーチャクラスに準拠するフィーチャ レイヤーまたはフィーチャクラスである必要があります。 一般的な配置ワークフローでは、パラメーター値は ArcGIS Online または ArcGIS Enterprise に共有されたマップの一部です。

    注意:

    Bluetooth と WiFi の配置を混在させることは可能ですが、サイト内の異なる施設に限ります。 Bluetooth による測位が可能な施設と、WiFi による測位が可能な施設がありますが、同じ施設に対して Bluetooth の記録と WiFi の記録を 1 つの Indoor Positioning データセットで処理することはできません。

    施設に両方のラジオ タイプのサーベイ レコーディングが含まれている場合、ツールを実行する前にいずれかのラジオ タイプのフィーチャを選択します。 たとえば、[属性検索 (Select Layer By Attribute)] ツールを使用して、両方のタイプを含む施設の Bluetooth 記録をすべて選択してから、選択したフィーチャに対してのみツールを実行します。 SITE_ID フィールドには、ジオプロセシング ジョブごとに 1 つのサイト ID のみを含めることができます。 追加のサイトを別個の Indoor Positioning データセットとして処理します。

  • [IPS ビーコン フィーチャ] パラメーター値は、IPS データ モデルの IPS ビーコン フィーチャクラスに準拠するフィーチャ レイヤーまたはフィーチャクラスの必要があります。 フィーチャ ジオメトリは正確でなくてはならず、次の属性は有効、最新であり、かつ NULL であってはなりません。

    • UUID
    • MAJOR
    • MINOR
    • LEVEL_ID
    • RSSI_1M
    注意:

    詳細については、ブログ記事「How to maintain beacon data for ArcGIS IPS」をご参照ください。

  • [IPS エリア フィーチャ] パラメーター値は、屋内測位を有効にする屋内エリアを正確に表すポリゴン フィーチャクラスまたはフィーチャ レイヤーである必要があります。 次の条件を満たしている必要があります。

    • IPS エリア フィーチャ スキーマには、LEVEL_ID フィールドが含まれています。
    • IPS エリア フィーチャは、LEVEL_ID 属性を使用して既存のレベルに関連付けられています。
    • LEVEL_ID 属性は NULL にできません。
    • フィーチャ ジオメトリは、関連付けられたレベル内に含まれている必要があります。

    [IPS エリア フィーチャ] パラメーター値は、さまざまな方法で取得できます。 ArcGIS Indoors Information Model のユニット フィーチャクラスからコリドーおよび廊下としてラベル付けされたフィーチャを選択する方法をお勧めします。 あるいは、IPS エリア フィーチャを手動で作成できます。この場合、ニーズやお好みに応じてデータセットを柔軟にカスタマイズできます。 どの取得方法を選択するかは、要件と使用例の複雑さによって決まります。

  • [壁フィーチャ] パラメーターの値は、屋内測位が配置される施設内の壁の物理的範囲をできる限り正確に表すフィーチャ レイヤーまたはフィーチャクラスである必要があります。 これらのフィーチャは既存の Indoors Information Model から抽出できます[壁フィーチャ] パラメーター値のスキーマには、フロア対応であるために必要なすべての属性が含まれている必要があります。 次の条件を満たしている必要があります。

    • 壁は、LEVEL_ID 属性を使用して既存のレベルに関連付ける必要があります。
    • LEVEL_ID 属性は NULL にできません。
    • フィーチャ ジオメトリは、関連付けられたレベル内に含まれている必要があります。
  • [既存データセットの更新] パラメーターの値は、ブール値の必要があります。 Indoor Positioning データセットを更新するには、[既存データセットの更新] パラメーターをオンにします。

    注意:

    後からデータセットを更新したい場合、マップ上で Indoor Positioning データセット (IPS 測位データセット フィーチャクラス、IPS 測位ポイント フィーチャクラス、IPS 測位信号テーブル) を共有します。

  • [既存のデータセット] パラメーター値は、[既存データセットの更新] パラメーターがオンのときのみ使用できます。 このパラメーターの値は、[ターゲット IPS 測位データセット] パラメーター値に含まれている既存の Indoor Positioning データセットの名前である必要があります。 このデータセットに含まれているデータは、ツールの入力と組み合わせて、既存データセットの更新バージョンを生成するため使用されます。

パラメーター

ラベル説明データ タイプ
ターゲット IPS 測位データセット

生成された Indoor Positioning データセットが格納されるフィーチャクラス。

Feature Layer
出力データセット名

出力 Indoor Positioning データセットの名前。

出力データセット名は、ターゲットの IPS 測位フィーチャクラスの Dataset Name フィールド内で一意の必要があります。

String
生成方法

Indoor Positioning データセットの生成に使用する方法を指定します。

  • サーベイベースデータセットは IPS レコーディングを処理して生成されます。
  • サーベイなしデータセットは、屋内環境を通して Bluetooth 信号の伝達をシミュレートして生成されます。
String
レベル フィーチャ

施設内のレベルのフットプリントを表すポリゴン フィーチャ。

Feature Layer
IPS レコーディング フィーチャ
(オプション)

IPS Setup レコーディングが含まれているフィーチャクラスまたはフィーチャ サービス。

サーベイベースの測位データセットの更新時には、IPS Setup サーベイ レコーディングと品質レコーディングを使用できますが、品質レコーディングは [既存データセットの更新] パラメーターがオンになっている場合にのみ使用できます。

このパラメーターは、[生成方法] パラメーターが [サーベイベース] に設定されている場合に必須です。

Feature Layer
IPS ビーコン フィーチャ
(オプション)

屋内環境に配置される Bluetooth ビーコンの位置と設定を表すポイント フィーチャクラス。

[生成方法] パラメーターを [サーベイベース] に設定して Bluetooth Indoor Positioning データセットを生成する際に、有効なビーコン フィーチャを指定すると、適応型無線測位が有効になり、Android デバイスでの屋内測位の精度が向上します。

このパラメーターは、[生成方法] パラメーターが [サーベイなし] に設定されている場合に必須です。

Feature Layer
IPS エリア フィーチャ
(オプション)

Indoor Positioning データセットが生成されるエリアを表すポリゴン フィーチャ。

このパラメーターは、[生成方法] パラメーターが [サーベイなし] に設定されている場合に必須です。

Feature Layer
壁フィーチャ
(オプション)

壁の物理的範囲を表すポリゴンフィーチャ。

このパラメーターは、[生成方法] パラメーターが [サーベイなし] に設定されている場合に必須です。

Feature Layer
既存データセットの更新
(オプション)

既存データセットとツールの入力を組み合わせて Indoor Positioning データセットを作成するかどうかを指定します。 このパラメーターは、[生成方法] パラメーターが [サーベイベース] に設定されている場合のみ有効です。

  • オン - 既存データセットとツールの入力を組み合わせて Indoor Positioning データセットが作成されます。
  • オフ - 新しい Indoor Positioning データセットが作成されます。 これがデフォルトです。

Boolean
既存データセット
(オプション)

[ターゲット IPS 測位データセット] パラメーターで設定したフィーチャクラスに含まれている既存のデータセットの名前。 このパラメーターの値は、ターゲット フィーチャクラスに含まれている既存の Indoor Positioning データセットの名前である必要があります。 このデータセットに含まれているデータは、ツールの入力と組み合わせて、既存データセットの更新バージョンを生成するため使用されます。 このパラメーターは、[既存データセットの更新] パラメーターと組み合わせてのみ使用されます。

String

派生した出力

ラベル説明データ タイプ
更新された IPS 測位データセット

新しく作成された Indoor Positioning データセットが含まれている、更新された IPS 測位データセット フィーチャクラス。

Feature Layer

arcpy.indoorpositioning.GenerateIndoorPositioningDataset(target_ips_positioning_datasets, dataset_name, generation_method, in_levels, {in_ips_recordings}, {in_beacons}, {in_ips_areas}, {in_walls}, {update_existing}, {existing_dataset})
名前説明データ タイプ
target_ips_positioning_datasets

生成された Indoor Positioning データセットが格納されるフィーチャクラス。

Feature Layer
dataset_name

出力 Indoor Positioning データセットの名前。

出力データセット名は、ターゲットの IPS 測位フィーチャクラスの Dataset Name フィールド内で一意の必要があります。

String
generation_method

Indoor Positioning データセットの生成に使用する方法を指定します。

  • SURVEY_BASEDデータセットは IPS レコーディングを処理して生成されます。
  • SURVEY_LESSデータセットは、屋内環境を通して Bluetooth 信号の伝達をシミュレートして生成されます。
String
in_levels

施設内のレベルのフットプリントを表すポリゴン フィーチャ。

Feature Layer
in_ips_recordings
(オプション)

IPS Setup レコーディングが含まれているフィーチャクラスまたはフィーチャ サービス。

サーベイベースの測位データセットの更新時には、IPS Setup サーベイ レコーディングと品質レコーディングを使用できますが、品質レコーディングは update_existing パラメーターが UPDATE_EXISTING に設定されている場合にのみ使用できます。

このパラメーターは、generation_method パラメーターが SURVEY_BASED に設定されている場合に必須です。

Feature Layer
in_beacons
(オプション)

屋内環境に配置される Bluetooth ビーコンの位置と設定を表すポイント フィーチャクラス。

generation_method パラメーターを SURVEY_BASED に設定して Bluetooth Indoor Positioning データセットを生成する際に、有効なビーコン フィーチャを指定すると、適応型無線測位が有効になり、Android デバイスでの屋内測位の精度が向上します。

このパラメーターは、generation_method パラメーターが SURVEY_LESS に設定されている場合に必須です。

Feature Layer
in_ips_areas
(オプション)

Indoor Positioning データセットが生成されるエリアを表すポリゴン フィーチャ。

このパラメーターは、generation_method パラメーターが SURVEY_LESS に設定されている場合に必須です。

Feature Layer
in_walls
(オプション)

壁の物理的範囲を表すポリゴンフィーチャ。

このパラメーターは、generation_method パラメーターが SURVEY_LESS に設定されている場合に必須です。

Feature Layer
update_existing
(オプション)

既存データセットとツールの入力を組み合わせて Indoor Positioning データセットを作成するかどうかを指定します。 このパラメーターは、generation_method パラメーターが SURVEY_BASED に設定されている場合のみ有効です。

  • UPDATE_EXISTING既存データセットとツールの入力を組み合わせて Indoor Positioning データセットが作成されます。
  • NO_UPDATE_EXISTING新しい Indoor Positioning データセットが作成されます。 これがデフォルトです。
Boolean
existing_dataset
(オプション)

target_ips_positioning_datasets パラメーターで設定したフィーチャクラスに含まれている既存のデータセットの名前。 このパラメーターの値は、ターゲット フィーチャクラスに含まれている既存の Indoor Positioning データセットの名前である必要があります。 このデータセットに含まれているデータは、ツールの入力と組み合わせて、既存データセットの更新バージョンを生成するため使用されます。 このパラメーターは、update_existing パラメーターと組み合わせてのみ使用されます。

String

派生した出力

名前説明データ タイプ
out_ips_datasets

新しく作成された Indoor Positioning データセットが含まれている、更新された IPS 測位データセット フィーチャクラス。

Feature Layer

コードのサンプル

GenerateIndoorPositioningDataset の例 1 (Python スタンドアロン スクリプト)

次の Python スタンドアロン スクリプトは、GenerateIndoorPositioningDataset 関数のサーベイベースの方法を使用して Indoor Positioning データセットを生成する方法を示しています。

# Name: GenerateIndoorPositioningDataset_example1.py
# Description: Generates an indoor positioning dataset
# using the survey-based method.

# Import system modules
import arcpy.indoorpositioning as ips

# Set local variables
ips_datasets = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Positioning_Datasets"
dataset_name = 'NewDataset'
levels = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\Levels"
ips_recordings = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Recordings"

# Call the GenerateIndoorPositioningDataset tool

ips.GenerateIndoorPositioningDataset(target_ips_positioning_datasets=ips_datasets,
                                     dataset_name=dataset_name,
                                     generation_method='SURVEY_BASED',
                                     in_levels=levels,
                                     in_ips_recordings=ips_recordings)
GenerateIndoorPositioningDataset の例 2 (Python スタンドアロン スクリプト)

次の Python スタンドアロン スクリプトは、GenerateIndoorPositioningDataset 関数のサーベイなしの方法を使用して Indoor Positioning データセットを生成する方法を示しています。

# Name: GenerateIndoorPositioningDataset_example2.py
# Description: Generates an indoor positioning dataset
# using the survey-less method.

# Import system modules
import arcpy.indoorpositioning as ips

# Set local variables
ips_datasets = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Positioning_Datasets"
dataset_name = 'NewDataset'
levels = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\Levels"
beacons = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Beacons"
ips_areas = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Areas"
walls = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\Walls"

# Call the GenerateIndoorPositioningDataset tool
ips.GenerateIndoorPositioningDataset(target_ips_positioning_datasets=ips_datasets,
                                     dataset_name=dataset_name,
                                     generation_method='SURVEY_LESS',
                                     in_levels=levels,
                                     in_beacons=beacons,
                                     in_ips_areas=ips_areas,
                                     in_walls=walls)
GenerateIndoorPositioningDataset の例 3 (Python スタンドアロン スクリプト)

次の Python スタンドアロン スクリプトは、既存データセットとツールの入力のデータを組み合わせて、サーベイベースの方法で既存の Indoor Positioning データセットを更新する方法を示しています。

# Name: GenerateIndoorPositioningDataset_example3.py 
# Description: Updates an existing indoor positioning dataset using the
# survey-based method by combining data from an existing dataset and the 
# tool inputs.

# Import system modules 

import arcpy.indoorpositioning as ips

# Set local variables 
ips_datasets = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\IPS_Positioning_Datasets" 
existing_dataset = 'Dataset1' 
dataset_name = 'Dataset1_updated'
levels = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\Levels" 
ips_recordings = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\IPS_Recordings" 

# Call the GenerateIndoorPositioningDataset tool 
ips.GenerateIndoorPositioningDataset(target_ips_positioning_datasets=ips_datasets,
                                     dataset_name=dataset_name,
                                     generation_method='SURVEY_BASED',
                                     in_levels=levels,
                                     in_ips_recordings=ips_recordings,
                                     update_existing="UPDATE_EXISTING",
                                     existing_dataset=existing_dataset)

ライセンス情報

  • Basic: No
  • Standard: 次のものが必要 ArcGIS IPS
  • Advanced: 次のものが必要 ArcGIS IPS

関連トピック