Generate Indoor Positioning File (Indoor Positioning)

Summary

Generates a positioning file from ArcGIS IPS Setup survey recordings.

Usage

  • A positioning file is stored as an attachment to the Target IPS Positioning Table parameter value and represents a fingerprint radio map that enables indoor positioning for one or more facilities. Since a positioning file can only be associated with one site feature, you need to generate multiple files to enable indoor positioning for multiple sites.

    The Target IPS Positioning Table parameter value can be shared with the IPS Setup app to test the performance of a deployment.

    To enable indoor positioning in custom apps based on ArcGIS Maps SDKs, share the Target IPS Positioning Table parameter value as part of a web map or a mobile map package with your ArcGIS Enterprise portal or ArcGIS Online organizational account. By default, the IPS engine will use the latest positioning file available in the IPS positioning table.

    Learn more about enabling the IPS engine in custom applications

    Note:

    Sharing an IPS positioning table containing multiple positioning files can be helpful for staging and testing environments. For production environments, it is recommended that you share an IPS positioning table containing only one positioning file.

  • 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 ArcGIS IPS model. In a typical deployment workflow, the parameter value is part of a map that has been shared to ArcGIS Online or Enterprise. The parameter value has both Bluetooth and WiFi attributes, indicating the type of radio signals that are recorded for each feature.

    Note:

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

    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 in the parameter value can contain only one site ID per geoprocessing job. Process additional sites as separate positioning files.

  • The Target IPS Positioning Table parameter value must be a stand-alone table or a table that conforms to the IPS Positioning table in the IPS model. In a typical deployment workflow, this parameter value is part of a map that has been  shared to ArcGIS Online or Enterprise.

  • The IPS Transitions Features parameter value must be a feature layer or a feature class that conforms to the transitions feature class in the ArcGIS Indoors model.

    Note:

    You must configure entrances and exits in the transitions feature class before you can use transitions.

  • If you are using Enterprise, the file attachment size, including recordings and positioning files, is limited by the socMaxHeapSize and webServerMaxHeapSize configuration parameters. The webServerMaxHeapSize parameter value is set to -1 MB by default, meaning the file attachment size is limited to one-fourth of the heap size set using the socMaxHeapSize parameter. You can increase the maximum file attachment size by modifying the values of these parameters for the machine in your ArcGIS Server site.

    Learn more about modifying the configuration of a machine

Parameters

LabelExplanationData Type
IPS Recordings Features

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

Feature Layer
Target IPS Positioning Table

The table or feature service where the generated IPS positioning file will be stored.

Table View
IPS Transitions Features
(Optional)

The line feature class that contains the TRANSITION_TYPE, VERTICAL_ORDER_FROM, and VERTICAL_ORDER_TO fields that define facility entrances and exits. These are used by ArcGIS IPS to improve indoor and outdoor localization and switching. The TRANSITION_TYPE field for entrances and exits must contain a value of 7 to be used by this tool.

Feature Layer
Comment
(Optional)

The text that will be used to populate the Comment field of the positioning file entry in the Target IPS Positioning Table value.

String

Derived Output

LabelExplanationData Type
Updated IPS Positioning Table

The updated table in the geodatabase that contains the positioning file stored as an attachment.

Table

arcpy.indoorpositioning.GenerateIndoorPositioningFile(in_ips_recordings, target_ips_positioning, {in_ips_transitions}, {in_ips_comment})
NameExplanationData Type
in_ips_recordings

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

Feature Layer
target_ips_positioning

The table or feature service where the generated IPS positioning file will be stored.

Table View
in_ips_transitions
(Optional)

The line feature class that contains the TRANSITION_TYPE, VERTICAL_ORDER_FROM, and VERTICAL_ORDER_TO fields that define facility entrances and exits. These are used by ArcGIS IPS to improve indoor and outdoor localization and switching. The TRANSITION_TYPE field for entrances and exits must contain a value of 7 to be used by this tool.

Feature Layer
in_ips_comment
(Optional)

The text that will be used to populate the Comment field of the positioning file entry in the target_ips_positioning value.

String

Derived Output

NameExplanationData Type
out_ips_positioning

The updated table in the geodatabase that contains the positioning file stored as an attachment.

Table

Code sample

GenerateIndoorPositioningFile example 1 (Python window)

The following Python window script demonstrates how to use the GenerateIndoorPositioningFile function to create an indoor positioning file and associate it with the target_ips_positioning table.

# Name: GenerateIndoorPositioningFile_example1.py
# Description: Generates an indoor positioning file and associates
# it with the ips_positioning table.

# Import system modules
import arcpy

# Call the GenerateIndoorPositioningFile tool to create an indoor positioning
# file and associate it with the ips_positioning table.
arcpy.indoorpositioning.GenerateIndoorPositioningFile(r"C:\IndoorPositioning\ExampleDatabase.gdb\ips_recordings", r"C:\IndoorPositioning\ExampleDatabase.gdb\ips_positioning", r"C:\IndoorPositioning\ExampleDatabase.gdb\transitions", 'This is a comment')
GenerateIndoorPositioningFile example 2 (stand-alone script)

The following stand-alone script demonstrates how to use the GenerateIndoorPositioningFile function to create an indoor positioning file and associate it with the target_ips_positioning table.

# Name: GenerateIndoorPositioningFile_example2.py
# Description: Generates an indoor positioning file and associates
# it with the ips_positioning table.

# Import system modules
import arcpy

if __name__ == "__main__":
    # Set local variables 
    gdb_path = r"C:\IndoorPositioning"
    gdb_name = "ExampleDatabase.gdb"
    rec_fc = "ips_recordings"
    pos_table = "ips_positioning"
    transitions = "transitions"
    comment= "This is a comment"
      
    # Call the GenerateIndoorPositioningFile tool to create an indoor positioning
    # file and associate it with the ips_positioning table.
    arcpy.indoorpositioning.GenerateIndoorPositioningFile(r"{0}\{1}\{2}".format(gdb_path, gdb_name, rec_fc), r"{0}\{1}\{2}".format(gdb_path, gdb_name, pos_table), r"{0}\{1}\{2}".format(gdb_path, gdb_name, transitions), comment)

Environments

Licensing information

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

Related topics