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 Table and Target IPS Positioning Table parameter values must be tables from a file geodatabase, enterprise geodatabase, or a feature service table shared to ArcGIS Online or an Enterprise portal 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 SiteID field in the IPS Recordings Table parameter value can contain only one SiteID 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.

Parameters

LabelExplanationData Type
IPS Recordings Table

The table or feature service that contains ArcGIS IPS Setup survey recordings.

Table View
Target IPS Positioning Table

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

Table View
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
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 table or feature service that contains ArcGIS IPS Setup survey recordings.

Table View
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_table = "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_table), 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