ArcGIS IPS Information Model

Available for an ArcGIS organization licensed with the ArcGIS IPS extension.

The ArcGIS IPS Information Model supports the management of indoor positioning information required to share properly configured web maps and mobile map packages for use with the ArcGIS IPS Setup app and other ArcGIS IPS-enabled apps. Additionally, it contains the data structures required to assess indoor positioning performance.

The information model consists of two parts:

  • The ArcGIS IPS Data Model—Includes the tables and feature classes required to enable indoor positioning and maintain up-to-date information about the beacon infrastructure.
  • The IPS_Quality dataset—Contains point feature classes that are used to assess the performance of an ArcGIS IPS deployment.

The information model can also use the following data from the ArcGIS Indoors Information Model:

  • Floor plan data—Includes the Sites, Facilities, Levels, Units, and Details feature classes that contain floor plan and indoor spaces data.
  • Transitions—In the Indoors model, the Transitions feature class contains features that represent transitions between floors, such as stairs and elevators. The ArcGIS IPS model extends this feature class by using a domain to include transitions between indoor and outdoor spaces.
  • Pathways—Linear features that represent traversable space. When marked for use with the ArcGIS IPS app, path snapping is enabled to enhance positioning accuracy.

Updates to the ArcGIS IPS model

The table below describes the changes that were made to the ArcGIS IPS model in the recent software release:

ArcGIS Pro versionSchema itemChangeDescription

3.4

IPS_Beacons feature class

New field added: MAC_ADDRESS

LEVEL_ID field is now nullable.

The MAC address may be retrieved using a Bluetooth scanner or, in some cases, by scanning a QR code on the device.

3.3

IPS_Positioning_Datasets feature class

New feature class

IPS_Positioning_Datasets is a polygon feature class that represents individual indoor positioning datasets.

IPS_Positioning_Points feature class

New feature class

IPS_Positioning_Points is a point feature class that stores reference points used for positioning.

IPS_Positioning_Signals table

New table

IPS_Positioning_Signals is a table that stores radio signals used for creating IPS_Positioning_Points.

IPS_Beacons feature class

Feature class renamed to IPS_Beacons

New field added: TRANSMITTER_ID

The TRANSMITTER_ID field is a unique identifier for beacons.

IPS_Positioning table

The table was replaced with the following components:

  • IPS_Positioning_Datasets feature class
  • IPS_Positioning_Points feature class
  • IPS_Positioning_Signals table

The IPS_Positioning table is still available as an alternative to the new data elements. The tools to create and use the table are grouped under the Classic toolset in the Indoor Positioning toolbox.

3.1

Computed_Positions feature class

New feature class

Computed_Positions is a point feature class in the IPS_Quality feature dataset that contains a surveyor's position computed with specific indoor positioning data at a specific time during a quality recording survey.

Reference_Positions feature class

New feature class

Reference_Positions is a point feature class in the IPS_Quality feature dataset that contains a surveyor's actual position at a specific time during a quality recording survey.

IPS_Beacons feature class

New field added

The GlobalID field is a new field that uniquely identifies a feature or table row in a geodatabase and across geodatabases.

3.0

IPS_Beacons feature class

New feature class

The IPS_Beacons is a point feature class that describes the geographic location and attributes of beacons located in a facility.

IPS_Recordings feature class

Table converted to a line feature class.

The IPS_Recordings feature class contains line features that represent the trajectory of the survey recordings.

2.9

IPS_Positioning table

New table

IPS_Positioning is a table that contains file attachments to enable indoor positioning.

IPS_Recordings table

New table

IPS_Recordings is a table used by the ArcGIS IPS Setup app to store indoor positioning survey recordings.

IPS Data Model

You can use the Create IPS Data Model tool to create the ArcGIS IPS Data Model in an existing Indoors workspace. The data model includes the following components, which are required to set up and enable the indoor positioning system:

  • Feature classes:
    • IPS_Recordings
    • IPS_Beacons
    • IPS_Positioning_Datasets
    • IPS_Positioning_Points
  • IPS_Positioning_Signals table

The IPS_Recordings feature class is used to plan and store survey recordings and quality recordings of an indoor environment. Sensor data and its metadata are stored as an attachment on this layer.

Feature classes

The following table lists the feature classes that are included in the data model:

Feature classDescription

IPS_Recordings

A polyline feature class used by the ArcGIS IPS Setup app to store indoor positioning survey and quality recordings.

IPS_Beacons

A point feature class that describes the geographic location and attributes of beacons located in a facility.

IPS_Positioning_Datasets

A polygon feature class that represents individual indoor positioning datasets. Each feature in this feature class contains one indoor positioning dataset, along with other attributes that describe the dataset. Each polygon represents an area's footprint where the dataset can provide indoor positioning.

IPS_Positioning_Points

A point feature class that stores reference points used for positioning. These points help determine the location of users and enable the location tracker on the map.

IPS_Recordings

The following table lists the fields that are included in the IPS_Recordings feature class:

Field nameTypeIs nullableDescription

SITE_ID

Text

True

Records the unique ID of the feature’s associated site and can be used to identify the associated site feature in floor-aware maps. A feature can only be related to a single site using the SITE_ID field.

FACILITY_ID

Text

False

Records the unique ID of the feature’s associated facility and is used to identify the associated facility feature in floor-aware maps. A feature can only be related to a single facility using the FACILITY_ID field.

LEVEL_ID

Text

False

Records the unique ID of the feature’s associated level and is used to identify the associated level feature in floor-aware maps. A feature can only be related to a single level using the LEVEL_ID field.

SURVEY_DATE

Date

True

Records the date the survey path was recorded in the IPS Setup app.

COMMENT

Text

True

Records the user’s comments about the recording when it was created using the IPS Setup app.

SURVEYOR

Text

True

Records the username of the user who was signed in to the IPS Setup app when the survey was performed.

DEVICE

Text

True

Records the device name and model that was used to create the recording.

APP_VERSION

Text

True

Records the version of the IPS Setup app that was used to create the recording.

RECORDING_TYPE

Text

True

Specifies the type of recording.

The DOM_IPS_RECORDING_TYPE domain defines the following allowed field values:

  • Survey = Survey
  • Quality = Quality

BLUETOOTH

Long

True

Specifies whether the recording contains Bluetooth data.

The DOM_BOOLEAN domain defines the following allowed field values:

  • 0 = False
  • 1 = True

WIFI

Long

True

Specifies whether the recording contains Wi-Fi data.

The DOM_BOOLEAN domain defines the following allowed field values:

  • 0 = False
  • 1 = True

GLOBALID

Global ID

False

Uniquely identifies a feature or table row in a geodatabase and across geodatabases.

It’s a store registry-style string consisting of 36 characters enclosed in curly brackets in a geodatabase.

PLANNING_DATE

Date

False

Records the date the recording path was created. This field is automatically populated by a calculation attribute rule with the current date when a feature is created in the feature class.

IPS_Beacons

The following table lists the fields that are included in the IPS_Beacons feature class:

Field nameTypeIs nullableDescription

VENDOR

Text

True

The name of the beacon vendor.

BEACON_ID

Text

True

A short, alphanumeric string that uniquely identifies a Bluetooth beacon. The format may vary based on the beacon vendor.

UUID

Text

True

A proximity Universally Unique Identifier (UUID) consists of 32 hexadecimal characters split into five groups separated by hyphens. The length of each group is 8-4-4-4-12; for example, aa72426e-955d-41fb-9aaa-d67c749198a6.

UUIDs can be generated locally (there is no central authority for coordination or registration) and are configurable for Bluetooth beacons.

Based on the iBeacon protocol, the same UUID is associated with a subset of a beacon network and is part of the advertised message.

MAJOR

Long

True

A 2-byte unsigned integer that is associated with a Bluetooth beacon.

Based on the iBeacon protocol, this can be used to further distinguish a group of beacons in a network and is part of the advertised message.

The field must be an integer value between 1 and 65535.

MINOR

Long

True

A 2-byte unsigned integer that is associated with a Bluetooth beacon.

Based on the iBeacon protocol, this can be used to further distinguish a group of beacons in a network and is part of the advertised message.

The field must be an integer value between 1 and 65535.

PROTOCOL

Text

True

The Bluetooth protocol used by the beacons. Only iBeacon is supported with the current release.

RSSI_1M

Float

True

The Received Signal Strength Indicator at 1 meter distance. Typically, this is configurable for each beacon. The possible values are specified by the beacon vendor.

The field must be an integer value between -120 and 0.

ADVERTISING_INTERVAL_MS

Float

True

The interval in milliseconds at which the beacon broadcasts its messages.

LEVEL_ID

Text

True

The Level ID of the level feature on which the beacon is located.

BATTERY_LEVEL

Float

True

The residual battery level of the beacon as a percentage of total battery.

LAST_SEEN

Date

True

The date and time a beacon's signal was last observed.

PLACEMENT_DATE

Date

True

The date and time a beacon was deployed.

GLOBALID

Global ID

False

Uniquely identifies a feature or table row in a geodatabase and across geodatabases.

It’s a store registry-style string consisting of 36 characters enclosed in curly brackets in a geodatabase.

TRANSMITTER_ID

Text

True

Identifies a specific beacon in a network. It is a combination of UUID, MAJOR, and MINOR for Bluetooth beacons.

MAC_ADDRESS

Text

True

A unique 48-bit identifier assigned to each Bluetooth beacon, typically by the manufacturer.

It is displayed as 6-bytes written in hexadecimal and separated by colons (example: 00:1A:7D:DA:71:13).

IPS_Positioning_Datasets

The following table lists the fields that are included in the IPS_Positioning_Datasets feature class:

Field nameTypeIs nullableDescription

GLOBALID

Global ID

False

Uniquely identifies a feature or table row in a geodatabase and across geodatabases.

It’s a store registry-style string consisting of 36 characters enclosed in curly brackets in a geodatabase.

DATASET_NAME

Text

False

The name of the dataset.

DATE_CREATED

Date

False

The date the dataset was created.

BLUETOOTH

Long

False

Specifies whether the recording contains Bluetooth data.

The DOM_BOOLEAN domain defines the following allowed field values:

  • 0 = False
  • 1 = True

WiFi

Long

False

Specifies whether the recording contains Wi-Fi data.

The DOM_BOOLEAN domain defines the following allowed field values:

  • 0 = False
  • 1 = True

NOTES

Text

True

The user's notes about the dataset.

GENERATION_METHOD

Short

False

Specifies the type of indoor positioning data generation method as Survey-Based or Survey-Less.

The DOM_IPS_GENERATION_METHOD domain defines the following allowed field values:

  • 0 = Survey-Based
  • 1 = Survey-Less

IPS_Positioning_Points

The following table lists the fields that are included in the IPS_Positioning_Points feature class:

Field nameTypeIs nullableDescription

DATASET_GUID

GUID

False

The globally unique identifier of the dataset.

DATASET_NAME

Text

False

The name of the dataset.

GLOBALID

Global ID

False

The unique identifier for a feature or table row in a geodatabase and across geodatabases.

It's a store registry-style string consisting of 36 characters enclosed in curly brackets in a geodatabase.

LEVEL_ID

Text

False

The level ID of the level feature on which the beacon is located.

VERTICAL_ORDER

Integer

False

The display and reference order for floors in which the ground level is represented as zero (0). Floor levels above 0 are assigned positive values, and floor levels below 0 are assigned negative values.

Table

The table included in the data model is listed below:

TableDescription

IPS_Positioning_Signals

A table that stores radio signals used for creating IPS positioning points. While these signals are not directly used for indoor positioning, they can be used for analysis and evaluation of the Indoor Positioning Data Service.

IPS_Positioning_Signals

The following table lists the fields that are included in the IPS_Positioning_Signals table:

Field nameTypeIs nullableDescription

GLOBALID

Global ID

False

Uniquely identifies a feature or table row in a geodatabase and across geodatabases.

It’s a store registry-style string consisting of 36 characters enclosed in curly brackets in a geodatabase.

POINT_GUID

GUID

False

The globally unique identifier of a specific IPS positioning point.

DATASET_NAME

Text

False

The name of the dataset.

TRANSMITTER_ID

Text

False

Identifies a specific radio source in a network. It can either be a combination of UUID, MAJOR, and MINOR for Bluetooth beacons or the MAC address for WiFi access points.

TRANSMITTER_TYPE

Short

False

Specifies the type of transmitter as either Bluetooth or Wi-Fi.

The DOM_SIGNAL_TYPE domain defines the following allowed field values:

  • 0 = Bluetooth
  • 1 = Wi-Fi

RSSI_MEAN

Double

False

The mean or average Received Signal Strength Indicator (RSSI) value. It is calculated by considering all the identical signals received from the same transmitter for a specific IPS positioning point.

GENERATION_METHOD

Short

False

Specifies the type of indoor positioning data generation method as either Survey-Based or Survey-Less.

The DOM_IPS_GENERATION_METHOD domain defines the following allowed field values:

  • 0 = Survey-Based
  • 1 = Survey-Less

IPS_Quality dataset

You can use the tools in the Quality Assessment toolset to create the IPS_Quality dataset and populate it with data. The Create IPS Quality Dataset tool creates the dataset (to store quality assessment results) and the following feature classes in an existing workspace:

  • Reference_Positions
  • Computed_Positions

The Compute Positioning Quality tool transforms quality recordings into reference positions and computed positions features, which encode information about the performance of a deployment. Reference positions denote points for which a quality assessment is available, while computed positions represent the indoor positions generated by the ArcGIS IPS engine for each of these references.

Feature classes

The following table lists the feature classes that are included in the quality dataset:

Feature classDescription

Reference_Positions

A point feature class that contains a surveyor's actual position at a specific time during a quality recording survey.

Computed_Positions

A point feature class that contains a surveyor's computed position based on a specific Indoor Positioning Data Service at a specific time during a quality recording survey. The computed positions can be matched with their corresponding reference positions by the RECORDING_GUID and IPS_TIME attributes.

Reference_Positions

The following table lists the fields that are included in the Reference_Positions feature class:

Field nameTypeIs nullableDescription

LEVEL_ID

TEXT

True

Records the unique ID of the feature’s associated level and is used to identify the associated level feature in floor-aware maps. A feature can only be related to a single level using the LEVEL_ID field.

RECORDING_GUID

GUID

True

Records the global ID of the quality recording from which the reference positions feature was generated.

IPS_TIME

DATE

True

Defines the date and time in coordinated universal time (UTC) of the reference positions feature.

POSITIONING_GUID

GUID

True

Records the global ID of the indoor positioning dataset that was used to perform the quality recording survey from which the reference positions feature was generated.

BLUETOOTH_POSITIONING

LONG

True

Specifies whether the Indoor Positioning Data Service used during the quality recording supports Bluetooth positioning.

The DOM_BOOLEAN domain describes the allowed values:

  • 0 = False
  • 1 = True

WIFI_POSITIONING

LONG

TRUE

Specifies whether the Indoor Positioning Data Service used during quality recording supports Wi-Fi positioning.

The DOM_BOOLEAN domain describes the allowed values:

  • 0 = False
  • 1 = True

DISTANCE_TO_COMPUTED

DOUBLE

True

Describes the distance between the reference position feature and the corresponding computed positions feature. When there is a level mismatch with corresponding computed positions, the value is set to NULL.

ACCURACY_LEVEL

SHORT

True

Specifies the calculated accuracy level based on the DISTANCE_TO_COMPUTED field.

The DOM_IPS_QA_ACCURACY_LEVEL domain describes the allowed values:

  • 0 = Invalid
  • 1 = Low
  • 2 = Medium
  • 3 = High

Accuracy level is calculated as follows:

  • Invalid—LEVEL_MATCH is FALSE
  • Low—LEVEL_MATCH is TRUE and DISTANCE_TO_COMPUTED is greater than 10 meters.
  • Medium—LEVEL_MATCH is TRUE and DISTANCE_TO_COMPUTED is between 5 and 10 meters.
  • High—LEVEL_MATCH is TRUE and DISTANCE_TO_COMPUTED is less than 5 meters.

LOS_TO_COMPUTED

LONG

True

Specifies whether the reference positions feature is visible from the matching computed positions feature. The value is TRUE if the reference positions feature is on the same floor as the corresponding computed positions feature and there is no obstacle between them. The value is set to NULL if not computed.

The DOM_BOOLEAN domain describes the allowed values:

  • 0 = False
  • 1 = True

LEVEL_MATCH

LONG

True

Specifies whether the reference positions feature and the corresponding computed positions feature are on the same level.

The DOM_BOOLEAN domain describes the allowed values:

  • 0 = False
  • 1 = True

LOCATION_SOURCE

SHORT

True

Specifies the type of positioning source used by the ArcGIS IPS engine to compute the feature during the quality recording.

The DOM_IPS_LOCATION_SOURCE domain describes the allowed values:

  • 0 = Unknown
  • 1 = Bluetooth
  • 2 = Wi-Fi
  • 3 = GNSS
  • 4 = Apple IPS

Computed_Positions

The following table lists the fields that are included in the Computed_Positions feature class:

Field nameTypeIs nullableDescription

LEVEL_ID

TEXT

True

Records the unique ID of the feature’s associated level and is used to identify the associated level feature in floor-aware maps. A feature can only be related to a single level using the LEVEL_ID field.

RECORDING_GUID

GUID

True

Records the global ID of the quality recording from which the reference positions feature was generated.

IPS_TIME

DATE

True

Defines the date and time in coordinated universal time (UTC) when the reference positions feature was computed by the ArcGIS IPS engine.

Related topics