ArcGIS Runtime SDK for iOS: AGSArcGISSceneLayer Class Reference
ArcGIS Runtime SDK for iOS  100.7
AGSArcGISSceneLayer Class Reference

Description

A layer that can display 3D features from an ArcGIS Scene service.

An instance of this class represents a layer that can display 3D features in a scene using AGSSceneView. The features are provided by an ArcGIS Scene service such as http://scene.arcgis.com/arcgis/rest/services/Hosted/Building_Basel/SceneServer or a local scene layer package (.slpk file).

Features are rendered according to their distance from the viewpoint's camera; thus, features closer to the camera are more detailed.

Since
100
Inheritance diagram for AGSArcGISSceneLayer:
AGSLayer <AGSRemoteResource> AGSLoadableBase <AGSLayerContent> AGSObject <AGSLoadable>

Instance Methods

(void) - cancelLoad
 
(void) - clearSelection
 
(id< AGSCancelable >) - fetchLegendInfosWithCompletion:
 
(id< AGSCancelable >) - getSelectedFeaturesWithCompletion:
 
(instancetype) - initWithItem:
 
(instancetype) - initWithName:
 
(instancetype) - initWithURL:
 
(BOOL) - isEqualToLayer:
 
(BOOL) - isVisibleAtScale:
 
(void) - loadWithCompletion:
 
(void) - retryLoadWithCompletion:
 
(void) - selectFeature:
 
(void) - selectFeatures:
 
(void) - unselectFeature:
 
(void) - unselectFeatures:
 

Class Methods

(instancetype) + ArcGISSceneLayerWithItem:
 
(instancetype) + ArcGISSceneLayerWithName:
 
(instancetype) + ArcGISSceneLayerWithURL:
 

Properties

double altitudeOffset
 
NSString * attribution
 
BOOL canChangeVisibility
 
AGSCredentialcredential
 
AGSSceneLayerDataType dataType
 
AGSFeatureTablefeatureTable
 
AGSEnvelopefullExtent
 
BOOL identifyEnabled
 
AGSItemitem
 
NSString * layerDescription
 
NSString * layerID
 
NSError * loadError
 
AGSLoadStatus loadStatus
 
double maxScale
 
double minScale
 
NSString * name
 
float opacity
 
AGSRequestConfigurationrequestConfiguration
 
BOOL showInLegend
 
AGSSpatialReferencespatialReference
 
NSArray< id< AGSLayerContent > > * subLayerContents
 
void(^ subLayerContentsChangedHandler )(void)
 
AGSSurfacePlacement surfacePlacement
 
NSURL * URL
 
BOOL visible
 

Method Documentation

§ ArcGISSceneLayerWithItem:()

+ (instancetype) ArcGISSceneLayerWithItem: (AGSItem *)  item

Initialize this layer with an item representing an individual layer in an ArcGIS Scene Service. The item's type should be AGSPortalItemTypeSceneService.

Parameters
itemrepresenting a layer in an ArcGIS Scene service
Returns
A new scene layer.
Since
100

§ ArcGISSceneLayerWithName:()

+ (instancetype) ArcGISSceneLayerWithName: (NSString *)  name

Initialize this layer with the name of a scene layer package within the application bundle or shared documents directory.

Parameters
nameof the scene layer package (without the .slpk file extension) within the application bundle or shared documents directory.
Returns
A new scene layer.
Since
100.1

§ ArcGISSceneLayerWithURL:()

+ (instancetype) ArcGISSceneLayerWithURL: (NSURL *)  url

Initialize this layer with a URL to an individual layer in an ArcGIS Scene Service, e.g. http://scene.arcgis.com/arcgis/rest/services/Hosted/Building_Basel/SceneServer/layers/0 or a URL to scene layer package (.slpk file) on disk.

Parameters
urlURL to an individual layer in an ArcGIS Scene Service or a scene layer package (.slpk file) on disk
Returns
A new scene layer
Since
100

§ cancelLoad()

- (void) cancelLoad
requiredinherited

Cancels loading if it is in progress, otherwise it does nothing. This should be called carefully because other objects could be waiting for loadWithCompletion: or retryLoadWithCompletion: to complete and this will call them all back with the error of NSUserCancelledError

Since
100

§ clearSelection()

- (void) clearSelection

Clears selection on all features.

Since
100.3

§ fetchLegendInfosWithCompletion:()

- (id<AGSCancelable>) fetchLegendInfosWithCompletion: (void(^)(NSArray< AGSLegendInfo * > *__nullable legendInfos, NSError *__nullable error))  completion

Fetches the array of legend infos (AGSLegendInfo) for this layer.

Since
100

§ getSelectedFeaturesWithCompletion:()

- (id<AGSCancelable>) getSelectedFeaturesWithCompletion: (void(^)(AGSFeatureQueryResult *__nullable featureQueryResult, NSError *__nullable error))  completion

Retrieve the list of features that have selection enabled.

Parameters
completionblock that is invoked with the results, or an error if one is encountered.
Returns
operation which can be canceled
Since
100.3

§ initWithItem:()

- (instancetype) initWithItem: (AGSItem *)  item

Initialize this layer with an item representing an individual layer in an ArcGIS Scene Service. The item's type should be AGSPortalItemTypeSceneService.

Parameters
itemrepresenting a layer in an ArcGIS Scene service
Returns
A new scene layer.
Since
100

§ initWithName:()

- (instancetype) initWithName: (NSString *)  name

Initialize this layer with the name of a scene layer package within the application bundle or shared documents directory.

Parameters
nameof the scene layer package (without the .slpk file extension) within the application bundle or shared documents directory.
Returns
A new scene layer.
Since
100.1

§ initWithURL:()

- (instancetype) initWithURL: (NSURL *)  url

Initialize this layer with a URL to an individual layer in an ArcGIS Scene Service, e.g. http://scene.arcgis.com/arcgis/rest/services/Hosted/Building_Basel/SceneServer/layers/0 or a URL to scene layer package (.slpk file) on disk.

Parameters
urlURL to an individual layer in an ArcGIS Scene Service or a scene layer package (.slpk file) on disk
Returns
A new scene layer
Since
100

§ isEqualToLayer:()

- (BOOL) isEqualToLayer: (AGSLayer *)  other

§ isVisibleAtScale:()

- (BOOL) isVisibleAtScale: (double)  scale

Check whether this layer is visible at a given scale.

Since
100

§ loadWithCompletion:()

- (void) loadWithCompletion: (nullable void(^)(NSError *__nullable error))  completion
requiredinherited

Loads data for the object asynchronously. The completion block is invoked upon completion.

You can call this method any number of times, however only one attempt is made to load the data. If it is already loading, it will just continue to load (i.e. not force a reload). If it has already loaded successfully, the completion block will be invoked right away. If it has already failed to load, the completion block will be invoked right away with error previously encountered. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.

Parameters
completionblock that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load.
Note
The completion block is always invoked on the main thread.
Since
100
See also
- cancelLoad to cancel loading
- retryLoadWithCompletion: to force reload

§ retryLoadWithCompletion:()

- (void) retryLoadWithCompletion: (nullable void(^)(NSError *__nullable error))  completion
requiredinherited

Tries to reload when an object has failed to load. This method should be called judiciously. It should be called when:

  1. you didn't have network connectivity earlier when it failed and you want to retry now that you have connectivity
  2. the server was down earlier when it failed and you want to retry
  3. the request is taking too long and you want to cancel it and retry, in which case you will first call cancelLoad and then this method

If the data hasn't started loading, it will start loading. If it is already loading, it will just continue to load. If it has already loaded successfully, calls back right away. If it has already failed to load, tries again. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.

Parameters
completionblock that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load.
Note
The completion block is always invoked on the main thread.
Since
100

§ selectFeature:()

- (void) selectFeature: (AGSFeature *)  feature

Select the specified feature. The scene will be updated to highlight the features with a selection color (cyan by default).

Parameters
featureto select
Since
100.3
Note
Use selectFeatures: to enable selection on a group of features together. It provides better performance as the scene will only need to be updated once.

§ selectFeatures:()

- (void) selectFeatures: (NSArray< AGSFeature * > *)  features

Select the specified features. The scene will be updated to highlight the features with a selection color (cyan by default).

Parameters
featuresto select
Since
100.3

§ unselectFeature:()

- (void) unselectFeature: (AGSFeature *)  feature

Clear selection on the specified feature. The scene will be redrawn to reflect the change.

Parameters
featureto unselect
Since
100.3
Note
Use unselectFeatures: to disable selection on a group of features together. It provides better performance as the scene will only need to be updated once.

§ unselectFeatures:()

- (void) unselectFeatures: (NSArray< AGSFeature * > *)  features

Clear selection on the specified features. The scene will be redrawn to reflect the change.

Parameters
featuresto unselect
Since
100.3

Property Documentation

§ altitudeOffset

- (double) altitudeOffset
readwritenonatomicassign

The layer altitude offset

Since
100.6

§ attribution

- (NSString*) attribution
readnonatomiccopyinherited

Attribution information of the layer

Since
100

§ canChangeVisibility

- (BOOL) canChangeVisibility
readrequirednonatomicassigninherited

Denotes whether the layer can change visibility or not.

Since
100

§ credential

- (AGSCredential*) credential
readwritenonatomicstronginherited

Security credentials to access the remote resource. Only applicable if the resource is secured.

Since
100

§ dataType

- (AGSSceneLayerDataType) dataType
readnonatomicassign

Returns the content data type of the scene layer.

Since
100.5

§ featureTable

- (AGSFeatureTable*) featureTable
readnonatomicstrong

§ fullExtent

- (AGSEnvelope*) fullExtent
readnonatomicstronginherited

Full extent of the layer.

Since
100

§ identifyEnabled

- (BOOL) identifyEnabled
readnonatomicassigninherited

Specifies whether the layer supports identify.

Since
100

§ item

- (AGSItem*) item
readnonatomicstronginherited

The item the layer has been created from.

Since
100

§ layerDescription

- (NSString*) layerDescription
readwritenonatomiccopyinherited

The layer's description

Since
100

§ layerID

- (NSString*) layerID
readwritenonatomiccopyinherited

The layer's ID specified in the web map item of ArcGIS Online or an on-premises portal.

Since
100

§ loadError

- (NSError*) loadError
readnonatomicstronginherited

The error that was encountered during the most recent load operation. Will be nil if the operation succeeded.

Since
100

§ loadStatus

- (AGSLoadStatus) loadStatus
readrequirednonatomicassigninherited

Status of the load operation.

Since
100

§ maxScale

- (double) maxScale
readwritenonatomicassigninherited

The maximum scale at which this layer is visible. If the map or scene is zoomed in beyond this scale, the layer will not be visible. A value of 0 means there is no maximum scale threshold and the layer will be visible at the smallest scale available for the map or scene.

Since
100

§ minScale

- (double) minScale
readwritenonatomicassigninherited

The minimum scale at which this layer is visible. If the map or scene is zoomed out beyond this scale, the layer will not be visible. A value of 0 means there is no minimum scale threshold and the layer will be visible at the largest scale available for the map or scene.

Since
100

§ name

- (NSString*) name
readwritenonatomiccopyinherited

The name of the layer

Since
100

§ opacity

- (float) opacity
readwritenonatomicassigninherited

The opacity of this layer as a value between 0 (fully transparent) and 1 (fully opaque). Default value is 1.

Since
100

§ requestConfiguration

- (AGSRequestConfiguration*) requestConfiguration
readwritenonatomicstronginherited

The AGSRequestConfiguration object which defines the behavior and policies to use when accessing the remote resource. The default will be nil. If it is nil the [AGSRequestConfiguration globalConfiguration] will be used.

Since
100

§ showInLegend

- (BOOL) showInLegend
readwritenonatomicassigninherited

Indicates whether to show legend information.

Since
100

§ spatialReference

- (AGSSpatialReference*) spatialReference
readnonatomicstronginherited

The spatial reference of the layer.

Since
100

§ subLayerContents

- (NSArray<id<AGSLayerContent> >*) subLayerContents
readnonatomiccopyinherited

This layer's sub-layers.

Since
100

§ subLayerContentsChangedHandler

- (void(^ subLayerContentsChangedHandler) (void))
readwritenonatomiccopyinherited

Block that is invoked when the sub layer contents changes.

Note
The block will be invoked on the same thread on which the event occured, which could be any arbitrary thread. You need to dispatch any UI related work to the main thread.
Since
100

§ surfacePlacement

- (AGSSurfacePlacement) surfacePlacement
readwritenonatomicassign

Specifies how data that belongs to the layer should be placed in relation to the scene's surface.

Since
100.6

§ URL

- (NSURL*) URL
readrequirednonatomicstronginherited

The URL of the remote resource.

Since
100

§ visible

- (BOOL) visible
readwritenonatomicassigninherited

Denotes whether the layer is visible or not.

Since
100