Class OutdoorLocationOptions

  • All Implemented Interfaces:

    public class OutdoorLocationOptions
    extends java.lang.Object
    implements android.os.Parcelable
    When you build the LocationRequest, this data object configures the Global Mode (see LocationRequest for details) options: Outdoor positioning, Building Detector and Open Sky Detector parameters.

    Outdoor Positioning in Situm SDK is mainly provided using the GPS signals (and other location providers made available by Android). Configuring the Outdoor Positioning options lets you, in many ways, configure how Situm SDK reads and accesses to GPS signals. Relevant builder methods are: enableOutdoorPositions, computeInterval, updateInterval, minimumOutdoorLocationAccuracy.

    Building Detector is a module that allows to configure how Situm SDK will detect the building where the user is (building detector strategy). Building detectors can set up by passing the OutdoorLocationOptions.BuildingDetector data object to the Builder.buildingDetector method. Other relevant builder methods are centerPositionInBuildingDuringTransition, scansBasedDetectorAlwaysOn and useGeofencesInBuildingSelector.

    Open Sky Detector is a module that determines whether the user is "under roof" or "under open sky" based on the GPS signals received from each satellite. Specifically, it computes the SNR (Signal-Noise Ratio) of each satellite signal and determines that the user is "under roof" if the average SNR is below a (configurable) threshold, and "under open sky" otherwise. The rationale behind this is that in indoor spaces, building structures block GPS signals, therefore reducing the SNR value, while in outdoor spaces there is direct line of sight with the satellites, therefore increasing the SNR values. The typical SNR range of a satellite signal is in the [0, 40] dBm range, where:

    • Typical indoor values are in the [0, 20] dBm range, where 0 dBm is the typical value under a thick roof, 10 dBm under a regular roof and 20 dBm under a glass roof.
    • Typical outdoor values are in the [15, 40] dBm range, where 15 dBm is the typical when the user is outdoors but close or under elements that might block GPS signals (such as big buildings or trees), 25 the typical value under open sky. Values above 30 are rare * except for smartphone with a very good GPS chip.

    These values should be taken as an approximate reference; they depend heavily on the smartphone quality and environment conditions. Relevant builder methods are: enableOpenSkyDetector and averageSnrThreshold

    This object will be passed to the LocationRequest.Builder.outdoorLocationOptions method when building the LocationRequest. After that, you may start positioning as always by calling the LocationManager.requestLocationUpdates.

    Requirements. ACCESS_FINE_LOCATION permission is required when using Situm SDK in Global Mode. See LocationManager for details.