IndoorsLocationDataSource Class

  • IndoorsLocationDataSource
  • class Esri::ArcGISRuntime::IndoorsLocationDataSource

    Provides an indoor or outdoor position based on device sensor data (radio, GPS, motion sensors). An IPS (indoor positioning system) position is calculated based on radio data and motion sensors. The GPS position is used as a fallback in case an IPS position can't be calculated, or if the IPS position reports a position outside of a building. More...

    Header: #include <IndoorsLocationDataSource.h>
    Since: Esri::ArcGISRuntime 100.13
    Inherits: Esri::ArcGISRuntime::AbstractLocationDataSource

    Public Functions

    IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, QObject *parent = nullptr)
    IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, Esri::ArcGISRuntime::ArcGISFeatureTable *pathwaysTable, QObject *parent = nullptr)
    IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, Esri::ArcGISRuntime::ArcGISFeatureTable *pathwaysTable, Esri::ArcGISRuntime::ArcGISFeatureTable *levelsTable, const QUuid &positioningId, QObject *parent = nullptr)
    IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, const QUuid &positioningId, QObject *parent = nullptr)
    IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, Esri::ArcGISRuntime::ArcGISFeatureTable *pathwaysTable, const QUuid &positioningId, QObject *parent = nullptr)
    virtual ~IndoorsLocationDataSource() override
    Esri::ArcGISRuntime::ArcGISFeatureTable *levelsTable() const
    Esri::ArcGISRuntime::ArcGISFeatureTable *pathwaysTable() const
    QUuid positioningId() const
    Esri::ArcGISRuntime::FeatureTable *positioningTable() const
    Esri::ArcGISRuntime::Error warning() const

    Signals

    void warningChanged(const Esri::ArcGISRuntime::Error &warning)

    Protected Slots

    virtual void onStart() override
    virtual void onStop() override

    Detailed Description

    Note: IndoorsLocationDataSource is only supported on Android and iOS. The data source will fail to start on other platforms with an error.

    Member Function Documentation

    [explicit] IndoorsLocationDataSource::IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, QObject *parent = nullptr)

    Create a new IndoorsLocationDataSource from the given feature table. The IndoorsLocationDataSource will try to determine the latest row in the table and use that to set up IPS.

    • positioningTable - The "ips_positioning" feature table from an IPS-enabled map. Setting this property enables path snapping of locations provided by the IndoorsLocationDataSource.
    • parent - The optional parent QObject.

    IndoorsLocationDataSource::IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, Esri::ArcGISRuntime::ArcGISFeatureTable *pathwaysTable, QObject *parent = nullptr)

    Create a new IndoorsLocationDataSource from the given feature table. The IndoorsLocationDataSource will try to determine the latest row in the table and use that to set up IPS.

    • positioningTable - The "ips_positioning" feature table from an IPS-enabled map.
    • pathwaysTable - An ArcGISFeatureTable that contains pathways as per the ArcGIS Indoors Information Model. Setting this property enables path snapping of locations provided by the IndoorsLocationDataSource.
    • parent - The optional parent QObject.

    [since Esri::ArcGISRuntime 200.1] IndoorsLocationDataSource::IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, Esri::ArcGISRuntime::ArcGISFeatureTable *pathwaysTable, Esri::ArcGISRuntime::ArcGISFeatureTable *levelsTable, const QUuid &positioningId, QObject *parent = nullptr)

    Create a new IndoorsLocationDataSource.

    • positioningTable - The "ips_positioning" feature table from an IPS-enabled map.
    • pathwaysTable - An ArcGISFeatureTable that contains pathways in accordance with the ArcGIS Indoors Information Model. Setting this property enables path snapping of locations provided by the IndoorsLocationDataSource.
    • levelsTable - An ArcGISFeatureTable that contains floor levels in accordance with the ArcGIS Indoors Information Model. Providing this table enables the retrieval of a location's floor level ID.
    • positioningId - An ID that identifies a specific row in the FeatureTable to use for setting up IPS. If it is nullptr, the entry in positioningTable with the most recent date is used.
    • parent - The optional parent QObject.

    This function was introduced in Esri::ArcGISRuntime 200.1.

    IndoorsLocationDataSource::IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, const QUuid &positioningId, QObject *parent = nullptr)

    Create a new IndoorsLocationDataSource from the given feature table and row in the FeatureTable.

    • positioningTable - The "ips_positioning" feature table from an IPS-enabled map.
    • positioningId - An ID which identifies a specific row in the FeatureTable that should be used for setting up IPS.
    • parent - The optional parent QObject.

    IndoorsLocationDataSource::IndoorsLocationDataSource(Esri::ArcGISRuntime::FeatureTable *positioningTable, Esri::ArcGISRuntime::ArcGISFeatureTable *pathwaysTable, const QUuid &positioningId, QObject *parent = nullptr)

    Create a new IndoorsLocationDataSource from the given feature table and row in the FeatureTable.

    • positioningTable - The "ips_positioning" feature table from an IPS-enabled map.
    • pathwaysTable - An ArcGISFeatureTable that contains pathways as per the ArcGIS Indoors Information Model. Setting this property enables path snapping of locations provided by the IndoorsLocationDataSource.
    • positioningId - An ID which identifies a specific row in the FeatureTable that should be used for setting up IPS. If it is nullptr, the entry in positioningTable with the most recent date is used.
    • parent - The optional parent QObject.

    [override virtual] IndoorsLocationDataSource::~IndoorsLocationDataSource()

    Destructor.

    [since Esri::ArcGISRuntime 200.1] Esri::ArcGISRuntime::ArcGISFeatureTable *IndoorsLocationDataSource::levelsTable() const

    Returns an ArcGISFeatureTable that contains levels in accordance with the ArcGIS Indoors Information Model. Providing this table enables the retrieval of the location floor level ID.

    Floor level ID can be obtained from Location::additionalSourceProperties of a Location emitted by the IndoorsLocationDataSource. For more information about the levels table and ArcGIS Indoors Information Model see the ArcGIS Pro documentation.

    This function was introduced in Esri::ArcGISRuntime 200.1.

    [override virtual protected slot] void IndoorsLocationDataSource::onStart()

    Reimplements: AbstractLocationDataSource::onStart().

    Reacts to start requests by starting the simulation.

    Note: You should not call this method directly - use start instead.

    [override virtual protected slot] void IndoorsLocationDataSource::onStop()

    Reimplements: AbstractLocationDataSource::onStop().

    Reacts to stop requests by stopping the simulation.

    Note: You should not call this method directly - use stop instead.

    Esri::ArcGISRuntime::ArcGISFeatureTable *IndoorsLocationDataSource::pathwaysTable() const

    Returns a ArcGISFeatureTable that contains pathways as per the ArcGIS Indoors Information Model. Setting this property enables path snapping of locations provided by the IndoorsLocationDataSource. For more information about the ArcGIS Indoors Information Model see https://pro.arcgis.com/en/pro-app/latest/help/data/indoors/arcgis-indoors-information-model.htm#ESRI_SECTION2_72E0DE4BBEFA435485E2D10CB16D2BE6.

    QUuid IndoorsLocationDataSource::positioningId() const

    Returns an ID that identifies a specific row in the FeatureTable to use for setting up IPS. If it is nullptr, the entry in positioningTable with the most recent date is used.

    Esri::ArcGISRuntime::FeatureTable *IndoorsLocationDataSource::positioningTable() const

    Returns the "ips_positioning" feature table from an IPS-enabled map.

    [since Esri::ArcGISRuntime 100.14] Esri::ArcGISRuntime::Error IndoorsLocationDataSource::warning() const

    Returns an error that describes a problem encountered while starting or running the AbstractLocationDataSource. This property is used to notify user about transient, non-terminal errors, which occur in IndoorsLocationDataSource. Such errors can influence accuracy of the final positioning. Information stored inside reported error contains useful information about its origin. Unlike AbstractLocationDataSource error it does not require IndoorsLocationDataSource to be restarted.

    This function was introduced in Esri::ArcGISRuntime 100.14.

    [signal, since Esri::ArcGISRuntime 100.14] void IndoorsLocationDataSource::warningChanged(const Esri::ArcGISRuntime::Error &warning)

    Signal emitted when the warning property changed.

    • warning - the new non-terminal error, or an empty error if a previous warning condition was cleared and is no longer applicable.

    This function was introduced in Esri::ArcGISRuntime 100.14.

    See also warning.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.