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 |
This class was introduced in Esri::ArcGISRuntime 100.0.
Public Functions
RasterLayer(Esri::ArcGISRuntime::Item *item, QObject *parent = nullptr) | |
RasterLayer(Esri::ArcGISRuntime::Raster *raster, 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 |
Signals
void | fullTimeExtentChanged() |
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:
- Raster files - path to a file on the device
- Remote ArcGIS Image services - see ImageServiceRaster
- Raster files within GeoPackages - see GeoPackageRaster
- Mosaic datasets - see MosaicDatasetRaster
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
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.
RasterLayer::RasterLayer (Esri::ArcGISRuntime::Raster *raster, QObject *parent = nullptr)
Constructs a RasterLayer with the provided raster and an optional parent.
[signal]
void RasterLayer::fullTimeExtentChanged ()
Signal emitted when the fullTimeExtent changes.
See also TimeAware.
[override virtual]
RasterLayer::~RasterLayer ()
Destructor.
[override virtual]
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.
[override virtual]
bool RasterLayer::isPopupEnabled () const
Reimplements: PopupSource::isPopupEnabled() const.
Returns whether the Popup is enabled on the PopupSource.
[override virtual]
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]
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]
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]
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]
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]
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().