@arcgis/core/views/layers/PointCloudLayerView
Represents the LayerView of a PointCloudLayer after it has been added to a Map in a SceneView.
The PointCloudLayerView is responsible for streaming and rendering a PointCloudLayer's point cloud in the SceneView.
- See also
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
A list of attribute fields fetched for each point including fields required for layer rendering and additional fields defined on the outFields. | PointCloudLayerView | ||
The name of the class. | Accessor | ||
The point cloud layer being viewed. | PointCloudLayerView | ||
Value is | LayerView | ||
An automatically generated unique identifier assigned to the instance. | LayerView | ||
Indicates if the layer view is making any updates that will impact what is displayed on the map. | LayerView | ||
A reference to the MapView or SceneView associated with the layer view. | LayerView | ||
When | LayerView | ||
When | LayerView | ||
When | LayerView |
Property Details
-
layer
layer PointCloudLayerreadonly
-
The point cloud layer being viewed.
-
updating
InheritedPropertyupdating Booleanreadonly
Inherited from LayerView -
Indicates if the layer view is making any updates that will impact what is displayed on the map. For example, this value is
true
when renderer, definitionExpression, filter or effect is changed or if the layer view is in the process of the fetching data.Watch dataUpdating property instead to only know when the data has been updated (e.g. to run statistics query on all feature available in the layer view).
- Default Value:false
Example// Check for the first time layerView.updating becomes false. Then query for // features that are visible within the view associated with the layer view. await reactiveUtils.whenOnce(() => !layerView.updating); const query = layerView.createQuery(); query.geometry = layerView.view.extent; const result = layerView.queryFeatures(query);
-
Inherited from LayerView
Since: ArcGIS Maps SDK for JavaScript 4.28LayerView since 4.0, view added at 4.28. -
Example
// Check for the first time layerView.updating becomes false. Then query for // features that are visible within the view associated with the layer view. await reactiveUtils.whenOnce(() => !layerView.updating); const query = layerView.createQuery(); query.geometry = layerView.view.extent; const result = layerView.queryFeatures(query);
-
visible
InheritedPropertyvisible Boolean
Inherited from LayerView -
When
true
, the layer is visible in the view. Value of this property is inherited from thelayer.visible
unless the developer overrides it. ThelayerView.visible
will take precedence overlayer.visible
if both properties are set.- Default Value:true
-
visibleAtCurrentScale
InheritedPropertyvisibleAtCurrentScale Booleanreadonly
Inherited from LayerViewSince: ArcGIS Maps SDK for JavaScript 4.30LayerView since 4.0, visibleAtCurrentScale added at 4.30. -
When
true
, the layer is visible in the view at the current scale. This applies to layers that haveminScale
andmaxScale
properties set.Known Limitations
- This property is not supported in 3D SceneView tiled layers.
- Default Value:true
- See also
-
visibleAtCurrentTimeExtent
InheritedPropertyvisibleAtCurrentTimeExtent Booleanreadonly
Inherited from LayerViewSince: ArcGIS Maps SDK for JavaScript 4.30LayerView since 4.0, visibleAtCurrentTimeExtent added at 4.30. -
When
true
, the layer is visible in the view's timeExtent. This applies to layers that have a visibilityTimeExtent.- Default Value:true
- See also
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. | Accessor | ||
Creates query parameter object that can be used to fetch points as they are being displayed. | PointCloudLayerView | ||
Returns true if a named group of handles exist. | Accessor | ||
Highlights the given point(s). | PointCloudLayerView | ||
| LayerView | ||
| LayerView | ||
| LayerView | ||
Promise<Object> | Executes a Query against points in the layer view and returns the 3D Extent of points that satisfy the query. | PointCloudLayerView | |
Promise<Number> | Executes a Query against points in the layer view and returns the number of points that satisfy the query. | PointCloudLayerView | |
Promise<FeatureSet> | Executes a Query against points in the layer view and returns a FeatureSet. | PointCloudLayerView | |
Removes a group of handles owned by the object. | Accessor | ||
Promise |
| LayerView |
Method Details
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, addHandles added at 4.25. -
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); this.addHandles(handle); // Destroy the object this.destroy();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.
-
createQuery
createQuery(){Query}
-
Creates query parameter object that can be used to fetch points as they are being displayed. It sets the query parameter's outFields property to
["*"]
and returnGeometry totrue
. The output spatial reference is set to the spatial reference of the view.ReturnsType Description Query The query object
-
hasHandles
InheritedMethodhasHandles(groupKey){Boolean}
Inherited from AccessorSince: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, hasHandles added at 4.25. -
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType Description Boolean Returns true
if a named group of handles exist.Example// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
highlight
highlight(target, options){Handle}
-
Highlights the given point(s).
Parameterstarget Graphic|Graphic[]|Collection<Graphic>The point(s) to highlight. A graphic representing a point to highlight can be obtained by using SceneView.hitTest().
options ObjectoptionalAn object with the following properties.
Specificationname StringoptionalThe name of the highlight options from the view's highlights collection.
ReturnsType Description Handle Returns a highlight handler with a remove()
method that can be called to remove the highlight.- See also
Example// Use the default highlights collection to apply a highlight to points when you hover over them // A handler can be used to remove any previous highlight when applying a new one let hoverHighlight; view.on("pointer-move", (event) => { // Search for the first feature in the layer at the hovered location view.hitTest(event).then((response) => { if (response.results[0]) { const graphic = response.results[0].graphic; view.whenLayerView(graphic.layer).then((layerView) => { // Remove any previous highlight, if it exists hoverHighlight?.remove(); // Highlight the hit points with the temporary highlight options, which are pre-configured for this use case hoverHighlight = layerView.highlight(graphic, { name: "temporary" }); }); } }); });
-
isFulfilled
InheritedMethodisFulfilled(){Boolean}
Inherited from LayerView -
isFulfilled()
may be used to verify if creating an instance of the class is fulfilled (either resolved or rejected). If it is fulfilled,true
will be returned.ReturnsType Description Boolean Indicates whether creating an instance of the class has been fulfilled (either resolved or rejected).
-
isRejected
InheritedMethodisRejected(){Boolean}
Inherited from LayerView -
isRejected()
may be used to verify if creating an instance of the class is rejected. If it is rejected,true
will be returned.ReturnsType Description Boolean Indicates whether creating an instance of the class has been rejected.
-
isResolved
InheritedMethodisResolved(){Boolean}
Inherited from LayerView -
isResolved()
may be used to verify if creating an instance of the class is resolved. If it is resolved,true
will be returned.ReturnsType Description Boolean Indicates whether creating an instance of the class has been resolved.
-
queryExtent
queryExtent(query, options){Promise<Object>}
-
Executes a Query against points in the layer view and returns the 3D Extent of points that satisfy the query. If query parameters are not provided, the extent and count of all loaded points are returned.
For making attribute based queries on a PointCloudLayerView you need to specify the required fields in the outFields property of the PointCloudLayer to ensure that attribute values are available on the client for querying. You can use availableFields to inspect which fields are available on the client.
Parametersoptional Autocasts from ObjectSpecifies the attributes and spatial filter of the query. When no parameters are passed to this method, all points on the client are returned.
options ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignal|null|undefinedoptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.ReturnsType Description Promise<Object> When resolved, returns the extent and count of the points that satisfy the input query. See the object specification table below for details. Property Type Description count Number The number of points that satisfy the input query. extent Extent The extent of the points that satisfy the query.
-
queryFeatureCount
queryFeatureCount(query, options){Promise<Number>}
-
Executes a Query against points in the layer view and returns the number of points that satisfy the query. If query parameters are not provided, the count of all loaded points is returned.
For making attribute based queries on a PointCloudLayerView you need to specify the required fields in the outFields property of the PointCloudLayer to ensure that attribute values are available on the client for querying. You can use availableFields to inspect which fields are available on the client.
Parametersoptional Autocasts from ObjectSpecifies the attributes and spatial filter of the query. When no parameters are passed to this method, all points on the client are returned. To only return points visible in the view, set the
geometry
parameter in the query object to the view's visible area.options ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignal|null|undefinedoptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.ReturnsType Description Promise<Number> When resolved, returns the number of points satisfying the query.
-
queryFeatures
queryFeatures(query, options){Promise<FeatureSet>}
-
Executes a Query against points in the layer view and returns a FeatureSet. If query parameters are not provided, all loaded points are returned.
For making attribute based queries on a PointCloudLayerView you need to specify the required fields in the outFields property of the PointCloudLayer to ensure that attribute values are available on the client for querying. You can use availableFields to inspect which fields are available on the client.
Parametersoptional Autocasts from ObjectSpecifies the attributes and spatial filter of the query. When no parameters are passed to this method, all points on the client are returned along with their attributes specified in availableFields. To only return points visible in the view, set the
geometry
parameter in the query object to the view's visible area.options ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignal|null|undefinedoptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.ReturnsType Description Promise<FeatureSet> When resolved, a FeatureSet is returned.
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, removeHandles added at 4.25. -
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
Inherited from LayerView
-
when()
may be leveraged once an instance of the class is created. This method takes two input parameters: acallback
function and anerrback
function. Thecallback
executes when the instance of the class loads. Theerrback
executes if the instance of the class fails to load.ParametersReturnsType Description Promise Returns a new promise for the result of callback
that may be used to chain additional functions.Example// Although this example uses MapView, any class instance that is a promise may use when() in the same way let view = new MapView(); view.when(function(){ // This function will execute once the promise is resolved }, function(error){ // This function will execute if the promise is rejected due to an error });