RasterLayer Class

  • RasterLayer
  • class Esri::ArcGISRuntime::RasterLayer

    Displays raster data in a map or scene. More...

    Header: #include <RasterLayer.h>
    Since: Esri::ArcGISRuntime 100.0
    Inherits: Esri::ArcGISRuntime::ImageAdjustmentLayer, Esri::ArcGISRuntime::PopupSource, and Esri::ArcGISRuntime::TimeAware

    Public Functions

    RasterLayer(Esri::ArcGISRuntime::Raster *raster, QObject *parent = nullptr)
    RasterLayer(Esri::ArcGISRuntime::Item *item, QObject *parent = nullptr)
    virtual ~RasterLayer() override
    Esri::ArcGISRuntime::Raster *raster() const
    Esri::ArcGISRuntime::RasterRenderer *renderer() const
    void setRenderer(Esri::ArcGISRuntime::RasterRenderer *renderer)

    Reimplemented Public Functions

    virtual Esri::ArcGISRuntime::TimeExtent fullTimeExtent() const override
    virtual bool isPopupEnabled() const override
    virtual bool isSupportsTimeFiltering() const override
    virtual bool isTimeFilteringEnabled() const override
    virtual Esri::ArcGISRuntime::PopupDefinition *popupDefinition() const override
    virtual void setPopupDefinition(Esri::ArcGISRuntime::PopupDefinition *popupDefinition) override
    virtual void setPopupEnabled(bool popupEnabled) override
    virtual void setTimeFilteringEnabled(bool timeFilteringEnabled) override
    virtual void setTimeOffset(const Esri::ArcGISRuntime::TimeValue &timeOffset) override
    virtual Esri::ArcGISRuntime::TimeValue timeInterval() const override
    virtual Esri::ArcGISRuntime::TimeValue timeOffset() const override


    Detailed Description

    RasterLayer adopts the loadable pattern; many of its properties are initialized asynchronously. See Loadable for more information.

    In its simplest form, raster data consists of a matrix of cells (or pixels) organized into rows and columns (or a grid), where each cell contains a value representing information. RasterLayer can support these main raster data sources:

    You can change how a raster layer is visualized by creating a RasterRenderer and applying it to the layer. Each raster layer supports identify on its individual cells when it is displayed in a MapView or SceneView.

    If a raster dataset has just one value associated with each cell it is called a single- band raster. For example, in a digital elevation model (DEM) each cell contains one value representing the elevation at that location.

    A satellite image, however, commonly has multiple bands representing different wavelengths of the electromagnetic spectrum. Landsat imagery, for example, contains seven bands that represent data from the visible and infrared parts of the spectrum. Rasters are particularly useful for remote sensing tasks, such as monitoring vegetation and seeing through smoke to analyze an active fire.

    Raster datasets can be large. The size of the dataset depends on:

    • The geographic extent of the data
    • The size of the cells used (resolution)
    • The number of bands

    As with any data consumed locally, file size can be an issue for storage as well as for transferring datasets over the network.

    Note: The RasterLayer will automatically re-project on-the-fly. For example, this would mean that a RasterLayer that is in WKID 4326 could be added to a Map that is in WKID 3857, and the RasterLayer would project on-the-fly to WKID 3857.

    Learn more about rasters from the ArcGIS Desktop documentation.

    For samples, see:

    See also Layer, ImageAdjustmentLayer, Raster, ImageServiceRaster, GeoPackageRaster, and MosaicDatasetRaster.

    Member Function Documentation

    [explicit] RasterLayer::RasterLayer(Esri::ArcGISRuntime::Raster *raster, QObject *parent = nullptr)

    Constructs a RasterLayer with the provided raster and an optional parent.

    [explicit] RasterLayer::RasterLayer(Esri::ArcGISRuntime::Item *item, QObject *parent = nullptr)

    Constructs a RasterLayer with the given image service raster portal item (item) and an optional parent.

    [override virtual] RasterLayer::~RasterLayer()


    [override virtual, since Esri::ArcGISRuntime 100.3] Esri::ArcGISRuntime::TimeExtent RasterLayer::fullTimeExtent() const

    Reimplements: TimeAware::fullTimeExtent() const.

    Returns the full time extent of the layer.

    This function was introduced in Esri::ArcGISRuntime 100.3.

    [signal] void RasterLayer::fullTimeExtentChanged()

    Signal emitted when the fullTimeExtent changes.

    See also TimeAware.

    [override virtual] bool RasterLayer::isPopupEnabled() const

    Reimplements: PopupSource::isPopupEnabled() const.

    Returns whether the Popup is enabled on the PopupSource.

    [override virtual, since Esri::ArcGISRuntime 100.3] bool RasterLayer::isSupportsTimeFiltering() const

    Reimplements: TimeAware::isSupportsTimeFiltering() const.

    Returns whether the layer supports filtering its contents by time values.

    This function was introduced in Esri::ArcGISRuntime 100.3.

    [override virtual, since Esri::ArcGISRuntime 100.3] bool RasterLayer::isTimeFilteringEnabled() const

    Reimplements: TimeAware::isTimeFilteringEnabled() const.

    Returns whether the layer participates in filtering based on the time extent of its geo view.

    This function was introduced in Esri::ArcGISRuntime 100.3.

    [override virtual] Esri::ArcGISRuntime::PopupDefinition *RasterLayer::popupDefinition() const

    Reimplements: PopupSource::popupDefinition() const.

    See PopupSource.

    See also setPopupDefinition().

    Esri::ArcGISRuntime::Raster *RasterLayer::raster() const

    Returns the Raster with which the layer was constructed.

    Esri::ArcGISRuntime::RasterRenderer *RasterLayer::renderer() const

    Returns the raster renderer for this layer.

    See also setRenderer().

    [override virtual] void RasterLayer::setPopupDefinition(Esri::ArcGISRuntime::PopupDefinition *popupDefinition)

    Reimplements: PopupSource::setPopupDefinition(Esri::ArcGISRuntime::PopupDefinition *popupDefinition).

    Sets the popup definition to popupDefinition.

    See also popupDefinition() and PopupSource.

    [override virtual] void RasterLayer::setPopupEnabled(bool popupEnabled)

    Reimplements: PopupSource::setPopupEnabled(bool popupEnabled).

    Sets whether the PopupSource is enabled to popupEnabled.

    See also isPopupEnabled() and PopupSource.

    void RasterLayer::setRenderer(Esri::ArcGISRuntime::RasterRenderer *renderer)

    Sets the raster renderer for this layer.

    See also renderer().

    [override virtual, since Esri::ArcGISRuntime 100.3] void RasterLayer::setTimeFilteringEnabled(bool timeFilteringEnabled)

    Reimplements: TimeAware::setTimeFilteringEnabled(bool timeFilteringEnabled).

    Sets whether the layer uses the time range defined on the geo view to timeFilteringEnabled.

    This function was introduced in Esri::ArcGISRuntime 100.3.

    See also isTimeFilteringEnabled().

    [override virtual, since Esri::ArcGISRuntime 100.3] void RasterLayer::setTimeOffset(const Esri::ArcGISRuntime::TimeValue &timeOffset)

    Reimplements: TimeAware::setTimeOffset(const Esri::ArcGISRuntime::TimeValue &timeOffset).

    Sets the time offset of the layer to timeOffset.

    The time offset is subtracted from the time extent set on the layer's geo view. This can be used to overlay data from different periods of time for comparison.

    This function was introduced in Esri::ArcGISRuntime 100.3.

    See also timeOffset().

    [override virtual, since Esri::ArcGISRuntime 100.3] Esri::ArcGISRuntime::TimeValue RasterLayer::timeInterval() const

    Reimplements: TimeAware::timeInterval() const.

    Returns a time interval that represents the suggested step size for use when manipulating the time extent.

    This information can be used to set the step size for a time slider control.

    This function was introduced in Esri::ArcGISRuntime 100.3.

    [override virtual, since Esri::ArcGISRuntime 100.3] Esri::ArcGISRuntime::TimeValue RasterLayer::timeOffset() const

    Reimplements: TimeAware::timeOffset() const.

    Returns the applied time offset.

    This function was introduced in Esri::ArcGISRuntime 100.3.

    See also setTimeOffset().

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