A layer that can visualize point feature data with additional properties that support the oriented imagery workflow. More...
| Header | #include <Oriented |
| Since | Esri |
| Inherits | Esri |
Public Functions
| Oriented | |
| virtual | ~ |
| void | clear |
(since Esri QString | definition |
(since Esri Esri | display |
| Esri | feature |
(since Esri bool | is |
(since Esri bool | is |
(since Esri Esri | label |
| qint64 | layer |
(since Esri quint64 | refresh |
(since Esri Esri | renderer() const |
(since Esri Esri | rendering |
(since Esri Esri | scene |
| void | select |
| void | select |
| QFuture | select |
| QFuture | selected |
(since Esri void | set |
(since Esri void | set |
(since Esri void | set |
(since Esri void | set |
(since Esri void | set |
(since Esri void | set |
(since Esri void | set |
(since Esri void | set |
(since Esri void | set |
(since Esri Esri | tiling |
| void | unselect |
| void | unselect |
| QUrl | url() const |
Reimplemented Public Functions
(since Esri virtual Esri | floor |
(since Esri virtual Esri | full |
| virtual bool | is |
(since Esri virtual bool | is |
(since Esri virtual bool | is |
| virtual Esri | popup |
(since Esri virtual void | set |
| virtual void | set |
| virtual void | set |
(since Esri virtual void | set |
(since Esri virtual void | set |
(since Esri virtual Esri | time |
(since Esri virtual Esri | time |
Signals
(since Esri void | full |
Static Public Members
| Esri | create( |
| Esri | create( |
Detailed Description
Oriented imagery enables the use of nontraditional images in ArcGIS as described in the ArcGIS Pro "Introduction to oriented imagery". Each image includes location, orientation, and camera metadata that link image pixels to map locations. Supported imagery includes street-level, mobile, oblique, close-range, and 360-degree images.
An oriented imagery layer stores the location where each image was acquired, the path to the image file, and the key metadata required to visualize the imagery within a map or scene. The layer is composed of point features representing camera locations, along with attributes that define image metadata and additional information about the real-world feature it represents.
Member Function Documentation
[explicit] OrientedImageryLayer::OrientedImageryLayer (const QUrl &url, QObject *parent = nullptr)
Creates a new oriented imagery layer object with a URL.
- url - The URL of an individual layer in an ArcGIS map or feature service.
- parent - The optional parent QObject.
The layer will fail to load if the specified URL is not a valid oriented imagery layer endpoint. A valid oriented imagery layer is a feature service layer whose type is "Oriented Imagery Layer" and that includes the required oriented imagery metadata in the layer-level orientedImageryInfo property.
[override virtual noexcept] OrientedImageryLayer::~OrientedImageryLayer ()
Destructor.
void OrientedImageryLayer::clearSelection ()
Clears the list of selected features and clears the visible selection halos from the map or scene view.
[static] Esri::ArcGISRuntime::OrientedImageryLayer *OrientedImageryLayer::create(Esri::ArcGISRuntime::ArcGISFeatureTable *featureTable , QObject *parent = nullptr)
Creates a new oriented imagery layer object from a feature table containing oriented imagery data.
- featureTable - The feature table containing point features representing camera locations, with attributes that define imagery metadata and camera characteristics.
- parent - The optional parent QObject.
If the feature table does not contain oriented imagery data, the layer will fail to load. ArcGISFeatureTable::layerInfo and ArcGISFeatureLayerInfo::serviceType can be checked to verify the feature type before attempting to create an OrientedImageryLayer.
[static] Esri::ArcGISRuntime::OrientedImageryLayer *OrientedImageryLayer::create(Esri::ArcGISRuntime::PortalItem *portalItem , qint64 layerId , QObject *parent = nullptr)
Creates a new oriented imagery layer object from a feature service portal item.
- portalItem - The feature service PortalItem.
- layerId - The layer id for which to create the layer.
- parent - The optional parent QObject.
[since Esri::ArcGISRuntime 300.1] QString OrientedImageryLayer::definitionExpression () const
Returns a SQL expression which limits the features available for query and display on the oriented imagery layer.
The definition expression string should follow standard SQL syntax as detailed in the SQL reference for query expressions used in ArcGIS document.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also setDefinitionExpression().
[since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::DisplayFilterDefinition *OrientedImageryLayer::displayFilterDefinition () const
Defines and returns how features are filtered from the display.
Use this property to reduce the number of features displayed in the map or scene view. The filter aims to improve data visualization and optimize rendering performance. It only affects the display of features so all features are still available for query methods such as selectFeaturesAsync(const Esri::ArcGISRuntime::QueryParameters&, Esri::ArcGISRuntime::SelectionMode, QObject*): Future<FeatureQueryResult>.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also setDisplayFilterDefinition(), ManualDisplayFilterDefinition, and ScaleDisplayFilterDefinition.
Esri::ArcGISRuntime::ArcGISFeatureTable *OrientedImageryLayer::featureTable () const
Returns the feature table associated with the layer.
[override virtual, since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::LayerFloorDefinition *OrientedImageryLayer::floorDefinition () const
Reimplements: FloorAware::floorDefinition() const.
Defines and returns the properties that allow a layer to be floor-aware.
When a layer is configured as floor-aware, it has a floorDefinition property that defines properties that allow a layer to be floor-aware. When it is nullptr (default value) the specific layer does not support floor filtering.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also setFloorDefinition().
[override virtual, since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::TimeExtent OrientedImageryLayer::fullTimeExtent () const
Reimplements: TimeAware::fullTimeExtent() const.
Returns the full time extent of the layer.
If the layer, such as an ArcGISMapImageLayer, has sublayers with different time extents, fullTimeExtent is a union of its sublayer's time extents.
This function was introduced in Esri::ArcGISRuntime 300.1.
[signal, since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::fullTimeExtentChanged ()
Signal emitted when the fullTimeExtent changes for this layer.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also TimeAware.
[since Esri::ArcGISRuntime 300.1] bool OrientedImageryLayer::isLabelsEnabled () const
Returns true if features in the layer are labeled, otherwise false.
This function was introduced in Esri::ArcGISRuntime 300.1.
[override virtual] bool OrientedImageryLayer::isPopupEnabled () const
Reimplements: PopupSource::isPopupEnabled() const.
Returns a flag indicating whether the PopupDefinition defined on the PopupSource is enable / disable.
Will return false if an error occurs.
[since Esri::ArcGISRuntime 300.1] bool OrientedImageryLayer::isScaleSymbols () const
Returns true if the layer's symbols and labels honor the map's reference scale, otherwise false.
If the map has a positive reference scale, and the layer honors it, then symbols and labels are drawn at their specified size when the viewing scale is the same as the reference scale. They will grow or shrink as the view zooms in or out, to keep the symbol a fixed size on the map. If the map has no reference scale, the reference scale is zero, or this oriented imagery layer's scaleSymbols property is false, then the symbols and labels will be drawn at their fixed screen size.
This function was introduced in Esri::ArcGISRuntime 300.1.
[override virtual, since Esri::ArcGISRuntime 300.1] bool OrientedImageryLayer::isSupportsTimeFiltering () const
Reimplements: TimeAware::isSupportsTimeFiltering() const.
Returns true if the layer supports filtering data based on its time values, false otherwise.
This function was introduced in Esri::ArcGISRuntime 300.1.
[override virtual, since Esri::ArcGISRuntime 300.1] bool OrientedImageryLayer::isTimeFilteringEnabled () const
Reimplements: TimeAware::isTimeFilteringEnabled() const.
Returns true if the layer filters data based on its GeoView::timeExtent, false otherwise.
This is only applicable if the layer's isSupportsTimeFiltering value is true. If the GeoView::timeExtent value is empty, no time filtering is applied and all content is rendered.
This function was introduced in Esri::ArcGISRuntime 300.1.
[since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::LabelDefinitionListModel *OrientedImageryLayer::labelDefinitions () const
Returns the collection of LabelDefinition objects that define how labels are displayed.
This function was introduced in Esri::ArcGISRuntime 300.1.
qint64 OrientedImageryLayer::layerId () const
Returns the layer ID that defines the layer within the feature service portal item.
[override virtual] Esri::ArcGISRuntime::PopupDefinition *OrientedImageryLayer::popupDefinition () const
Reimplements: PopupSource::popupDefinition() const.
Returns the pop-up definition.
The PopupDefinition associated with the popup source. A nullptr if an error occurs or if the popup source is not associated with a pop-up definition.
See also setPopupDefinition().
[since Esri::ArcGISRuntime 300.1] quint64 OrientedImageryLayer::refreshInterval () const
Returns the refresh interval used by the layer, in milliseconds.
Layers request features from the service each time this interval elapses
A value of 0 means to never refresh.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also setRefreshInterval().
[since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::Renderer *OrientedImageryLayer::renderer() const
Returns the renderer specifies how the features are symbolized.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also setRenderer().
[since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::FeatureRenderingMode OrientedImageryLayer::renderingMode () const
Returns the mode defines how the oriented imagery layer is rendered.
FeatureRenderingMode::Static mode is better suited for displaying large datasets and for complex symbology because it does not update the layer's display while pan/zoom operations are in progress.
FeatureRenderingMode::Dynamic mode is better suited for small datasets that update frequently or for better interactive experiences when the layer's display is updated continuously while pan/zoom operations are in progress.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also setRenderingMode().
[since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::LayerSceneProperties OrientedImageryLayer::sceneProperties () const
Returns properties that are applied when the layer is rendered in a 3D scene using a SceneView object.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also setSceneProperties().
void OrientedImageryLayer::selectFeature (Esri::ArcGISRuntime::Feature *feature)
Selects the given feature and adds it to the current list of selected features.
- feature - The feature to select.
void OrientedImageryLayer::selectFeatures (const QList<Esri::ArcGISRuntime::Feature *> &features)
Selects the given features and adds them to the current list of selected features.
- features - The features to select.
QFuture<Esri::ArcGISRuntime::FeatureQueryResult *> OrientedImageryLayer::selectFeaturesAsync (const Esri::ArcGISRuntime::QueryParameters ¶meters, Esri::ArcGISRuntime::SelectionMode mode, QObject *parent = nullptr)
Selects the features that match the criteria in the QueryParameters object and adds them to the current list of selected features.
- parameters - The definition of the query to submit to the feature table.
- mode - Defines how the list of currently selected features will be updated with the features returned from the query.
- parent - The optional parent QObject.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
QFuture<Esri::ArcGISRuntime::FeatureQueryResult *> OrientedImageryLayer::selectedFeaturesAsync (QObject *parent = nullptr)
Returns a list of the currently selected features with an optional parent.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
[since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setDefinitionExpression (const QString &definitionExpression )
Sets the definitionExpression to definitionExpression.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also definitionExpression.
[since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setDisplayFilterDefinition (Esri::ArcGISRuntime::DisplayFilterDefinition *displayFilterDefinition )
Sets the displayFilterDefinition to displayFilterDefinition.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also displayFilterDefinition.
[override virtual, since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setFloorDefinition (Esri::ArcGISRuntime::LayerFloorDefinition *floorDefinition )
Sets the floorDefinition to floorDefinition.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also floorDefinition.
[since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setLabelsEnabled (bool labelsEnabled )
Sets the labelsEnabled to labelsEnabled.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also isLabelsEnabled.
[override virtual] void OrientedImageryLayer::setPopupDefinition (Esri::ArcGISRuntime::PopupDefinition *popupDefinition )
Reimplements: PopupSource::setPopupDefinition(Esri::ArcGISRuntime::PopupDefinition *popupDefinition).
Sets the popupDefinition to popupDefinition.
See also popupDefinition.
[override virtual] void OrientedImageryLayer::setPopupEnabled (bool popupEnabled )
Reimplements: PopupSource::setPopupEnabled(bool popupEnabled).
Sets the popupEnabled to popupEnabled.
See also isPopupEnabled.
[since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setRefreshInterval (quint64 milliseconds)
Sets the refresh interval used by the layer to milliseconds.
Layers request features from the service each time this interval elapses
A value of 0 means to never refresh.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also refreshInterval().
[since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setRenderer (Esri::ArcGISRuntime::Renderer *renderer)
Sets the renderer to renderer.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also renderer.
[since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setRenderingMode (Esri::ArcGISRuntime::FeatureRenderingMode renderingMode )
Sets the renderingMode to renderingMode.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also renderingMode.
[since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setScaleSymbols (bool scaleSymbols )
Sets the scaleSymbols to scaleSymbols.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also isScaleSymbols.
[since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setSceneProperties (const Esri::ArcGISRuntime::LayerSceneProperties &sceneProperties )
Sets the sceneProperties to sceneProperties.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also sceneProperties.
[since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setTilingMode (Esri::ArcGISRuntime::FeatureTilingMode tilingMode )
Sets the tilingMode to tilingMode.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also tilingMode.
[override virtual, since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setTimeFilteringEnabled (bool timeFilteringEnabled )
Reimplements: TimeAware::setTimeFilteringEnabled(bool timeFilteringEnabled).
Sets the timeFilteringEnabled to timeFilteringEnabled.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also isTimeFilteringEnabled.
[override virtual, since Esri::ArcGISRuntime 300.1] void OrientedImageryLayer::setTimeOffset (const Esri::ArcGISRuntime::TimeValue &timeOffset )
Reimplements: TimeAware::setTimeOffset(const Esri::ArcGISRuntime::TimeValue &timeOffset).
Sets the timeOffset to timeOffset.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also timeOffset.
[since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::FeatureTilingMode OrientedImageryLayer::tilingMode () const
Returns the mode defines whether feature tiling is used to retrieve the features from the feature service.
The default tiling mode is FeatureTilingMode::EnabledWhenSupported. If the service supports tiling with full resolution, the user can set any of the tiling modes. If the service only supports quantized tiling and if the user sets the tiling mode to FeatureTilingMode::EnabledWithFullResolutionWhenSupported, the oriented imagery layer falls back to FeatureTilingMode::Disabled on load. If the user sets the tiling mode to FeatureTilingMode::EnabledWhenSupported after, we will clear the cache and set the tiling mode to FeatureTilingMode::EnabledWhenSupported. If the service does not support tiling at all and the user sets either of the enabled modes, the oriented imagery layer falls back to FeatureTilingMode::Disabled on load and attempting to set a different value after load is a no-op.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also setTilingMode().
[override virtual, since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::TimeValue OrientedImageryLayer::timeInterval () const
Reimplements: TimeAware::timeInterval() const.
Returns the suggested time slider step size for this time aware layer.
You can use this information to set the step size for a time slider control. The value is empty if no time interval is suggested. The author of the layer's data typically configures this property if the data has been collected on a regular basis. For example, the daily position of a hurricane.
This function was introduced in Esri::ArcGISRuntime 300.1.
[override virtual, since Esri::ArcGISRuntime 300.1] Esri::ArcGISRuntime::TimeValue OrientedImageryLayer::timeOffset () const
Reimplements: TimeAware::timeOffset() const.
Returns the amount of time by which the temporal values of this layer's data points are offset when displaying it in a GeoView.
The time offset is subtracted from the time extent set on the layer's GeoView. This is useful if you want to overlay data in multiple layers that lies within different temporal extents. For example, if you want to compare data in one layer for a certain year with data in the same layer from the subsequent year, you can create two layers that reference the same data's service endpoint but set the TimeValue in one of the layers to be one year.
This function was introduced in Esri::ArcGISRuntime 300.1.
See also setTimeOffset().
void OrientedImageryLayer::unselectFeature (Esri::ArcGISRuntime::Feature *feature)
Unselects the given feature and removes it from the current list of selected features.
- feature - The feature to be unselected.
void OrientedImageryLayer::unselectFeatures (const QList<Esri::ArcGISRuntime::Feature *> &features)
Unselects the given features and removes them from the current list of selected features.
- features - The features to be unselected.
QUrl OrientedImageryLayer::url() const
Returns the URL of the oriented imagery layer.