Generate Indoor Positioning File (Indoor Positioning)

Summary

Generates a positioning file from ArcGIS IPS Setup survey recordings.

The positioning file is stored as a geodatabase attachment and represents a fingerprint radio map that enables indoor positioning for one or more facilities. This map can be shared as a web map or a mobile map package (.mmpk file) with your ArcGIS Enterprise portal or ArcGIS Online organizational account and consumed by runtime apps.

Usage

  • The IPS Recordings Features and Target IPS Positioning Table parameter values must be a feature class and a table from a file geodatabase, enterprise geodatabase, or a feature service shared to ArcGIS Online or Enterprise and derived from the Enable Indoor Positioning tool.

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

  • The output of this tool can be shared with the ArcGIS IPS Setup app to test the accuracy of the IPS deployment. It can also be shared with runtime apps to provide an indoor positioning system.

  • The SITE_ID field in the IPS Recordings Features parameter value can contain only one site ID per geoprocessing job. Process additional IPS sites as individual positioning files.

  • A positioning file or row in the Target IPS Positioning Table value cannot be overwritten or replaced. A new row will be created.

    Runtime apps that provide indoor positioning use the latest row in the Target IPS Positioning Table value for positioning data by default. It is recommended that you delete any other rows in the table that do not represent the correct positioning file prior to sharing the Target IPS Positioning Table value as a web map or mobile map package.

    The output positioning files that are attached to the Target IPS Positioning Table value can be downloaded independently in ArcGIS Pro or from a web map viewer. In ArcGIS Pro, right-click the row in the attribute table, and click Manage Attachments.

  • The IPS Recordings feature class or feature service contains BLE and WIFI fields that use a Boolean domain to record whether a Bluetooth or WiFi radio type was used as the data source. These field values will be used to populate the BLE and WIFI fields in the IPS Positioning Table.

    Learn more about the IPS Information Model

  • Each facility must contain either Bluetooth or Wifi recordings but cannot contain both. Sites with multiple facilities can have both Bluetooth and Wifi recordings, provided that each facility has only one radio source.

    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 By Attribute tool to select all of the Bluetooth recordings for a facility that contains both types; then run this tool.

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

    Learn more about modifying the configuration of the machine in your ArcGIS Server site

Parameters

LabelExplanationData Type
IPS Recordings Features

The feature class or feature service that contains ArcGIS 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 ArcGIS 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