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. It also contains the data structures required to assess indoor positioning performance.
The ArcGIS IPS model consists of two parts:
- Core tables and feature classes—The tables and feature classes are 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 ArcGIS IPS 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 following table describes the changes that were made to the ArcGIS IPS model in the recent software release:
ArcGIS Pro version | Schema item | Change | Description |
---|---|---|---|
3.5 | IPS_Positioning_Datasets | Enable attachments | The IPS_Positioning_Datasets feature class stores attachments that include extra data used by the ArcGIS IPS engine. |
3.4 | IPS_Beacons feature class | New field added: MAC_ADDRESS LEVEL_ID field is now nullable. | The MAC address can 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. |
ArcGIS IPS model
You can use the Create IPS Data Model tool to create the ArcGIS IPS model in an existing Indoors workspace. The ArcGIS IPS model includes the following components that 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 the feature class.
Feature classes
The following table lists the feature classes that are included in the ArcGIS IPS model:
Feature class | Description |
---|---|
IPS_Recordings | A polyline feature class where the ArcGIS IPS Setup app stores indoor positioning survey and quality recordings. |
IPS_Beacons | A point feature class that describes the geographic location and attributes of beacons in a facility. |
IPS_Positioning_Datasets | A polygon feature class that represents IPS positioning datasets. Each polygon represents an area's footprint where the dataset can provide indoor positioning. Each feature in this feature class contains one IPS positioning dataset, other attributes describing the dataset, and attachments that include data used by the ArcGIS IPS engine. |
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 | Nullable | Description |
---|---|---|---|
SITE_ID | Text | True | The unique ID for the feature’s associated site that is 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 | The unique ID for the feature’s associated facility that 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. This ID is used to identify the feature’s associated level feature in floor-aware maps. A feature can only be related to a single level in the LEVEL_ID field. |
SURVEY_DATE | Date | True | The date the survey path was recorded in the IPS Setup app. |
COMMENT | Text | True | The user’s comments about the recording when it was created using the IPS Setup app. |
SURVEYOR | Text | True | The username of the user who was signed in to the IPS Setup app when the survey was performed. |
DEVICE | Text | True | The device name and model that was used to create the recording. |
APP_VERSION | Text | True | The version of the IPS Setup app that was used to create the recording. |
RECORDING_TYPE | Text | True | The type of recording. The DOM_IPS_RECORDING_TYPE domain defines the following allowed field values:
|
BLUETOOTH | Long | True |
Indicator of whether the recording contains Bluetooth data. The DOM_BOOLEAN domain allow the following field views:
|
WIFI | Long | True |
Indicator of whether the recording contains Wi-Fi data. The DOM_BOOLEAN domain allows the following field values:
|
GLOBALID | Global ID | False |
The unique ID for a feature or table row in a geodatabase and across geodatabases. It is a store registry-style string consisting of 36 characters in curly brackets in a geodatabase. |
PLANNING_DATE | Date | False | 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 varies by 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. The UUIDs can be generated locally and configured for Bluetooth beacons because there is no central authority or registration. 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 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 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 (RSSI) 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 | Records the unique ID of the feature’s associated level. This ID is used to identify the feature’s associated level feature in floor-aware maps. A feature can only be related to a single level in the LEVEL_ID field. |
BATTERY_LEVEL | Float | True | The residual battery level of the beacon as a percentage of total battery power. |
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 |
The unique ID for a feature or table row in a geodatabase and across geodatabases. It is a store registry-style string consisting of 36 characters 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 | The unique ID for a feature or table row in a geodatabase and across geodatabases. It is a store registry-style string consisting of 36 characters 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 |
Indicator of whether the recording contains Bluetooth data. The DOM_BOOLEAN domain allow the following field views:
|
WiFi | Long | False | Indicator of whether the recording contains Wi-Fi data. The DOM_BOOLEAN domain allows the following 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 ID for of the dataset. |
DATASET_NAME | Text | False | The name of the dataset. |
GLOBALID | Global ID | False |
The unique ID for a feature or table row in a geodatabase and across geodatabases. It is a store registry-style string consisting of 36 characters in curly brackets in a geodatabase. |
LEVEL_ID | Text | False | Records the unique ID of the feature’s associated level. This ID is used to identify the feature’s associated level feature in floor-aware maps. A feature can only be related to a single level in the LEVEL_ID field. |
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 ArcGIS IPS model is listed below:
Table | Description |
---|---|
IPS_Positioning_Signals | A table that stores radio signals used for creating IPS positioning points. Although 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 | Nullable | Description |
---|---|---|---|
GLOBALID | Global ID | False |
The unique ID for a feature or table row in a geodatabase and across geodatabases. It is a store registry-style string consisting of 36 characters in curly brackets in a geodatabase. |
POINT_GUID | GUID | False | The globally unique ID for a specific IPS positioning point. |
DATASET_NAME | Text | False | The name of the dataset. |
TRANSMITTER_ID | Text | False |
The ID for a specific radio source in a network. It can 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 using all the identical signals received from the same transmitter for a specific IPS positioning point. |
GENERATION_METHOD | Short | False | 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 that stores quality assessment results. The tool also creates 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 that are available for a quality assessment. 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 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 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. This ID is used to identify the feature’s associated level feature in floor-aware maps. A feature can only be related to a single level in the LEVEL_ID field. |
RECORDING_GUID | GUID | True | The global ID for the quality recording from which the reference positions feature was generated. |
IPS_TIME | DATE | True | The date and time in coordinated universal time (UTC) of the reference positions feature. |
POSITIONING_GUID | GUID | True | The global ID of the indoor positioning dataset that was used to perform the quality recording survey that generates the reference positions feature. |
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 | The distance between the reference position feature and the corresponding computed position feature. When a level mismatch occurs, the value is set to NULL. |
ACCURACY_LEVEL | SHORT | True | 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 allows the following 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 allows the following 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 allows the following values:
|
Computed_Positions
The following table lists the fields 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. This ID is used to identify the feature’s associated level feature in floor-aware maps. A feature can only be related to a single level in the LEVEL_ID field. |
RECORDING_GUID | GUID | True | The global ID for the quality recording that generated the reference positions feature. |
IPS_TIME | DATE | True | The date and time in coordinated universal time (UTC) when the reference positions feature was computed by the ArcGIS IPS engine. |