In a previous article, we explained how Situm can produce both Indoor & Outdoor geolocations. Related to this concept, Situm considers two geolocation modes:
Building Mode, which computes the geolocation of an user but only if a building has been explicitly selected beforehand. This position will always be Indoor.
Global Mode, which is able to detect (automatically) the building where the user is and provide Indoor positioning within that building. Positioning can also be Outdoors if the user is not in any known building.
The following table describes their main differences:
- | Building Mode | Global Mode |
---|---|---|
Automatic Building Detection | No, one building must be selected manually. | Yes |
Automatic Transition between Buildings | No, the user must manually select the building to which they’re transitioning to. | Yes |
Yes | Yes | |
No | Yes | |
Recommended if... | You only have one building or you are in a testing/development environment | Most cases |
1. Building Mode
On Building Mode, Situm can only geolocate the user on a single building, which had to be previously set up with Situm’s technology. It works as follows:
Manual building selection. The user explicitly indicates the building which they wish to be geolocated in. They can change their selection anytime.
Indoor Positioning. Then, Situm will provide the user’s location on the selected building using any of the available indoor positioning modes. In case the system does not have enough information to compute this geolocation, Situm will inform that the user is not in any known building.
As an example, in the following figure the user can be located either in Building A or Building B, but he has to manually select the building. The location will be restricted to either venue boundaries, although of course GPS can be used to improve the location estimate in outdoor spaces within the venue.
2. Global Mode
Contrary to the Building Mode, the Global Mode can determine the building in which the user is located automatically. As an example, in the following figure Situm detects automatically if the user is in Building A or Building B, providing the Indoor location within their boundaries. In other case, the GPS Outdoor location will be rendered.
This mode works as shown in the following diagram. First, Situm detects automatically the building where the user is. Then, Situm computes the Indoor Location continuously (using any of the indoor positioning modes), but only if the user is still in that building. Otherwise, Situm tries to detect the building where the user is again. In case the user is not in any known building, an Outdoor Location will be rendered.
- GPS Based building detector
Essentially, when using this detector, the user will be geolocated in the nearest building from those within a certain maximum GPS distance. This is the default detector, although not the recommended one. This is because it only works properly if the GPS signal is good, which is not often the case if the user is indoors. It also works best if buildings are far away from each other (at least a few hundred meters): otherwise, any GPS error might derive in the detection of a wrong building.
This detector works as follows:
- First, Situm computes the GPS location and its distance to all the buildings' bounds.
- Then, Situm selects the closest building and starts Indoor Positioning in it.
- Indoor Locations will be computed continuously unless Situm detects that the user has gone out of the selected building. This may happen if:
- The GPS location goes out of the buildings bounds (plus a safety margin), or
- A valid indoor location can not be computed anymore.
- In any of these cases, Situm will deselect the building, stop Indoor Positioning in it, and start the building detection process again.
Take the following figure as an example. The GPS location (red) is close to two buildings (Building 1 and Building 2). Each building has a canvas (green) and a margin (blue). Situm computes the distance to the boundaries of each building (distance 1 and distance 2). Since the distance to the Building 1 is the lowest, Situm will select Building 1 and start Indoor Positioning in it. While the GPS location falls within the margin area (and the indoor position is valid), Situm will not deselect this building.
- WiFi/BLE based detector
Essentially, when using this detector, the user user will be geolocated inside the building whose calibration signals match better with those perceived by the user smartphone. This is the recommended detector. It provides the highest accuracy and fastest transitions. Works well as long as WiFi/BLE signals are received correctly and the building has been calibrated. If buildings are too close (e.g. less than 100 meters away), WiFi/BLE signals may be "overheard" between them, which may cause false detections or transitions.
The following figure contains an intuitive depiction of how this mode works. We have 2 buildings: Building 1 & Building 2. Each building's signals (WiFi and/or BLE) will be heard within its inner walls and surroundings: areas A and B (respectivelly) in the figure. If buildings are too close, there may be an area where their WiFi/BLE coverage overlaps (areas C+D+E in the figure).
The following table explains the detector behaviour in this example:
User is in area ... | Situm selects ... |
---|---|
A | Building 1, since it is the only match |
B | Building 2, since it is the only match |
C | Building 1. Both buildings match, but Building 1 provides the strongest math (highest match score) |
D | Building 2. Both buildings match, but Building 2 provides the strongest math (highest match score) |
E | Building 1 or Building 2. Both buildings match with a similar score, differences are so small that small noises can bias the selection one way or the other. |
More in detail, this detector works as follows:
- First, Situm compares the signals perceived by the smartphone with those gathered during the calibration phase of each building. From this comparison, Situm computes a matching score for each building.
- Then, Situm selects the building with the highest matching score. Essentially, this is the building whose calibration signals have the highest simmilarity with the WiFi/BLE signals perceived by the smartphone.
- Situm starts Indoor Positioning in the selected building.
- Indoor Locations will be computed continuously unless a valid indoor location can not be computed anymore. Usually, this means that the user has gone out of the building.
- In this case, Situm will deselect the building, stop Indoor Positioning in it, and start the building detection process again.
Always on mode (Android only): Fast building transitions
The WiFi/BLE based detector may be a bit slow to perform the transition between 2 buildings when the user goes from one of them to the other. After all, Situm will only deselect a building that has been selected if a valid indoor location can not be computed anymore. This only happens when the user goes out of the WiFi/BLE coverage area of that building. In extreme cases, two buildings may be so close (e.g. less than 100 meters away) that their WiFi/BLE signals can be heard from the other one: in this case, Situm may not be able to transition from one to the other.
This issue is specially relevant when using WiFi signals, not so much when using BLE. This is because WiFi range can account for hundreds of meters, while BLE will not be heard more than 50-100 meters away from the building. Therefore, this issue affects Android devices much more than iOS ones (iOS devices can not scan WiFi signals).
To solve this issue, Situm provides the "Always on mode" (Android only), which allows a faster building transition by recomputing & reevaluating continuously the WiFi/BLE match for all the buildings. See the following image as an example of how this mode works. On the left ("Always on mode = off"), the user goes from Building 1 to Building 2, but even after she reaches Building 2 the Building 1 is still selected. This is because the Building 1 signals are still heard in Building 2, and therefore a valid indoor location can still be computed in Building 1. As an alternative, on the right ("Always on mode = on"), the user performs the same journey. However, this time Situm recomputes continuously the WiFi/BLE match of both buildings, and as soon as Building 2 has a higher match score, changes the building selection. This means a faster transition, but you also may expect some volatility in areas where the matching scores are similar (phase 2 in the figure).
More in detail, this detector worksas follows:
- First, Situm compares the signals perceived by the smartphone with those gathered during the calibration phase of each building. From this comparison, Situm computes a matching score for each building.
- Then, Situm selects the building with the highest matching score. Essentially, this is the building whose calibration signals have the highest simmilarity with the WiFi/BLE signals perceived by the smartphone.
- Situm starts Indoor Positioning in the selected building.
- Indoor Locations will be computed continuously unless:
- A valid indoor location can not be computed anymore. Usually, this means that the user has gone out of the building, or
- A highest WiFi/BLE matchin score is found for another building.
- In this case, Situm will deselect the building, stop Indoor Positioning in it, and start the building detection process again.
- GPS + WiFi/BLE based detector
This detector is only available when using the Uncalibrated GPS Indoor positioning mode. The user will be geolocated inside the building where: 1) Calibration signals match better with those perceived by the user smartphone, and/or 2) GPS signal falls within one of the GPS-configured geofences of the building. In other words, this mode is just like the WiFi/BLE detector explained in the previous section, but it will also consider that the user is within a certain building if she is within one of those special geofences of that building.
This mode is recommended if the Uncalibrated GPS Indoor positioning mode is being used. Its pros/cons similar to those of the WIFI/BLE method.