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 version | Schema item | Change | Description |
---|---|---|---|
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:
| 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 class | Description |
---|---|
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 name | Type | Is nullable | Description |
---|---|---|---|
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:
|
BLUETOOTH | Long | True | Specifies whether the recording contains Bluetooth data. The DOM_BOOLEAN domain defines the following allowed field values:
|
WIFI | Long | True | Specifies whether the recording contains Wi-Fi data. The DOM_BOOLEAN domain defines the following allowed field values:
|
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 name | Type | Is nullable | Description |
---|---|---|---|
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 name | Type | Is nullable | Description |
---|---|---|---|
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:
|
WiFi | Long | False | Specifies whether the recording contains Wi-Fi data. The DOM_BOOLEAN domain defines the following allowed field values:
|
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:
|
IPS_Positioning_Points
The following table lists the fields that are included in the IPS_Positioning_Points feature class:
Field name | Type | Is nullable | Description |
---|---|---|---|
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:
Table | Description |
---|---|
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 name | Type | Is nullable | Description |
---|---|---|---|
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:
|
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:
|
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 class | Description |
---|---|
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 name | Type | Is nullable | Description |
---|---|---|---|
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:
|
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:
|
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:
Accuracy level is calculated as follows:
|
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:
|
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:
|
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:
|
Computed_Positions
The following table lists the fields that are included in the Computed_Positions feature class:
Field name | Type | Is nullable | Description |
---|---|---|---|
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. |