Generate Indoor Positioning Dataset (Indoor Positioning)

Summary

Generates an Indoor Positioning Dataset for an existing ArcGIS IPS installation. You can use a survey-based or survey-less method to generate the dataset.

This tool updates the IPS Positioning Datasets feature class, IPS Positioning Signals table, and IPS Positioning Points feature class in the ArcGIS IPS Information Model.

Usage

  • The tool generates an Indoor Positioning Dataset using one of the following generation methods:

    • Survey-Based—The IPS Recordings features consist of signals collected during a survey using the ArcGIS IPS Setup app. For this method, you need to provide IPS Recordings and Level features.
    • Survey-Less—These features are used to simulate Bluetooth signal propagation throughout the indoor environment. For this method, you need to provide IPS Beacons, IPS Areas, Walls, and Level features.
  • If the Dataset Name parameter value already exists, a new dataset will be created combining information from the existing dataset and the specified parameter values. To update an Indoor Positioning Dataset, refer to one of the following methods, based on the generation method you are using:

  • The Level Features parameter value must be a feature class or a feature layer that conforms to the Levels feature class in the ArcGIS Indoors Information Model.

    • If the Survey-Based generation method is used, a level must be associated with at least one valid IPS recording feature in the LEVEL_ID field.
    • If the Survey-Less generation method is used, a level must be associated with at least four beacons, one IPS area, and one wall feature.
    • In addition, the following attributes must be valid, up to date, and not NULL:
      • LEVEL_ID
      • VERTICAL_ORDER
      • FACILITY_ID

  • The IPS Recordings Features parameter value must be a feature layer or a feature class that conforms to the IPS_Recordings feature class  in the IPS Data Model. In a typical deployment workflow, the parameter value is part of a map that has been shared to ArcGIS Online or Enterprise.

    Note:

    Mixed Bluetooth and Wi-Fi deployments are allowed but only for different facilities within a site. Some facilities can provide Bluetooth positioning, and others can provide Wi-Fi positioning, but both Bluetooth and Wi-Fi recordings cannot be processed for the same facility into a single Indoor Positioning Dataset.

    If a facility contains survey recordings of both radio types, select features of one of the radio types before running the tool. For example, use the Select Layer By Attribute tool to select all of the Bluetooth recordings for a facility that contains both types and only run the tool on the selected features. The SITE_ID field can contain only one site ID per geoprocessing job. Process additional sites as separate Indoor Positioning Datasets.

  • The IPS Beacon Features parameter value must be feature layer or a feature class that conforms to the IPS Beacons feature class in the IPS Data Model. The feature geometry must be accurate and the following attributes must be valid, up to date, and not NULL:

    • UUID
    • MAJOR
    • MINOR
    • LEVEL_ID
    • RSSI_1M
    Note:

    See the How to maintain beacon data for ArcGIS IPS blog article for additional information.

  • The IPS Area Features parameter value must be a polygon feature class or a feature layer accurately representing the indoor areas where you want to enable indoor positioning. The following conditions must be met:

    • The IPS area feature schema includes the LEVEL_ID field.
    • The IPS area feature is associated with an existing level using the LEVEL_ID attribute.
    • The LEVEL_ID attribute must not be NULL.
    • The feature geometry must be contained within the associated level.

    You can derive the IPS Area Features parameter value in various ways. A recommended method is to select features labeled as corridors and hallways from the Units feature class in the ArcGIS Indoors Information Model. Alternatively, you can manually create IPS Area Features, which gives you the flexibility to customize the dataset according to your needs and preferences. The selection of the derivation method depends on your requirements and the complexity of your use case.

  • The Wall Features parameter value must be a feature layer or a feature class representing as accurately as possible the physical extent of the walls in the facilities where the indoor positioning will be deployed. These features can be extracted from an existing Indoors Information Model. The schema of the Wall Features parameter value must include all the necessary attributes required for floor awareness. The following conditions must be met:

    • The wall must be associated with an existing level using the LEVEL_ID attribute.
    • The LEVEL_ID attribute must not be NULL.
    • The feature geometry must be contained within the associated level.

Parameters

LabelExplanationData Type
Target IPS Positioning Datasets

The feature class where the generated Indoor Positioning Dataset will be stored.

Feature Layer
Dataset Name

The name of the Indoor Positioning Dataset.

  • To generate a new Indoor Positioning Dataset, provide a unique name.
  • To update an existing Indoor Positioning Dataset, provide the name of the existing dataset. A new dataset will be created by combining the existing dataset and the tool inputs. Updating the dataset is only available when the Generation Method parameter is set to Survey-Based.

String
Generation Method

Specifies the method that will be used to generate the Indoor Positioning Dataset.

  • Survey-BasedThe dataset will be generated by processing IPS Recordings.
  • Survey-LessThe dataset will be generated by simulating the Bluetooth signal propagation through the indoor environment.
String
Level Features

The polygon features representing Level footprints within the facilities.

Feature Layer
IPS Recordings Features
(Optional)

The feature class or feature service that contains IPS Setup survey recordings.

This parameter is required when the Generation Method parameter is set to Survey-Based.

Feature Layer
IPS Beacon Features
(Optional)

The point features representing the position and settings of Bluetooth beacons deployed in the indoor environment.

This parameter is required when the Generation Method parameter is set to Survey-Less.

Feature Layer
IPS Area Features
(Optional)

The polygon features representing the area where the Indoor Positioning Dataset will be generated.

This parameter is required when the Generation Method parameter is set to Survey-Less.

Feature Layer
Wall Features
(Optional)

The polygon features representing the physical extent of walls.

This parameter is required when the Generation Method parameter is set to Survey-Less.

Feature Layer

Derived Output

LabelExplanationData Type
Updated IPS Positioning Datasets

The updated IPS Positioning Datasets feature class that contains the newly created Indoor Positioning Dataset.

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})
NameExplanationData Type
target_ips_positioning_datasets

The feature class where the generated Indoor Positioning Dataset will be stored.

Feature Layer
dataset_name

The name of the Indoor Positioning Dataset.

  • To generate a new Indoor Positioning Dataset, provide a unique name.
  • To update an existing Indoor Positioning Dataset, provide the name of the existing dataset. A new dataset will be created by combining the existing dataset and the tool inputs. Updating the dataset is only available when the generation_method parameter is set to SURVEY_BASED.

String
generation_method

Specifies the method that will be used to generate the Indoor Positioning Dataset.

  • SURVEY_BASEDThe dataset will be generated by processing IPS Recordings.
  • SURVEY_LESSThe dataset will be generated by simulating the Bluetooth signal propagation through the indoor environment.
String
in_levels

The polygon features representing Level footprints within the facilities.

Feature Layer
in_ips_recordings
(Optional)

The feature class or feature service that contains IPS Setup survey recordings.

This parameter is required when the generation_method parameter is set to SURVEY_BASED.

Feature Layer
in_beacons
(Optional)

The point features representing the position and settings of Bluetooth beacons deployed in the indoor environment.

This parameter is required when the generation_method parameter is set to SURVEY_LESS.

Feature Layer
in_ips_areas
(Optional)

The polygon features representing the area where the Indoor Positioning Dataset will be generated.

This parameter is required when the generation_method parameter is set to SURVEY_LESS.

Feature Layer
in_walls
(Optional)

The polygon features representing the physical extent of walls.

This parameter is required when the generation_method parameter is set to SURVEY_LESS.

Feature Layer

Derived Output

NameExplanationData Type
out_ips_datasets

The updated IPS Positioning Datasets feature class that contains the newly created Indoor Positioning Dataset.

Feature Layer

Code sample

GenerateIndoorPositioningDataset example 1 (Python window)

The following Python window script demonstrates how to use the survey-based method of the GenerateIndoorPositioningDataset function to generate an Indoor Positioning Dataset.

# Name: GenerateIndoorPositioningDataset_example1.py 
# Description: Generates an indoor positioning dataset using the survey-based method. 
 
# Import system modules 
import arcpy 
 
# 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 
arcpy.indoorpositioning.GenerateIndoorPositioningDataset(target_ips_positioning_datasets=ips_datasets,\ 
                                           dataset_name=dataset_name,\ 
                                           generation_method='SURVEY_BASED',\ 
                                           in_levels=levels,\ 
                                           in_ips_recordings=ips_recordings,\ 
                                           )
GenerateIndoorPositioningDataset example 2 (Python window)

The following Python window script demonstrates how to use the survey-less method of the GenerateIndoorPositioningDataset function to generate an Indoor Positioning Dataset.

# Name: GenerateIndoorPositioningDataset_example1.py 
# Description: Generates an indoor positioning dataset using the survey-less method. 
 
# Import system modules 
import arcpy 
 
# 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 
arcpy.indoorpositioning.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)

Environments

Licensing information

  • Basic: No
  • Standard: Requires ArcGIS IPS
  • Advanced: Requires ArcGIS IPS

Related topics