import DimensionAnalysis from "@arcgis/core/analysis/DimensionAnalysis.js";const DimensionAnalysis = await $arcgis.import("@arcgis/core/analysis/DimensionAnalysis.js");- Since
- ArcGIS Maps SDK for JavaScript 4.25
DimensionAnalysis enables the creation and display of measurement annotations for lengths and distances in a 3D SceneView.
The analysis can contain multiple dimensions. These can be created interactively or programmatically, and the analysis can be added directly to either SceneView.analyses or to the DimensionLayer.source in a SceneView.map.
// create analysis with dimensionsconst dimensionAnalysis = new DimensionAnalysis({ dimensions: [ new LengthDimension({ startPoint: new Point({ }), endPoint: new Point({ }) }) ], style: new DimensionSimpleStyle({ color: "white" }),});
// add the analysis to the viewview.analyses.add(dimensionAnalysis);Use the DimensionAnalysisView3D to retrieve the analysis results.
// retrieve measured results from the analysis viewconst analysisView = await view.whenAnalysisView(dimensionAnalysis);const results = analysisView.results;To place a length dimension interactively, use the DimensionAnalysisView3D.place() method.
const abortController = new AbortController();
try { await analysisView.place({ signal: abortController.signal });} catch (error) { if (error.name === "AbortError") { console.log("Placement operation was cancelled."); }}
// cancel the placement operation at some later pointabortController.abort();To edit existing dimensions interactively, set the
DimensionAnalysisView3D.interactive property
true and select a dimension by hovering and clicking on their offset manipulator.
// allow existing dimensions in the analysis to be selected and editedanalysisView.interactive = true;DimensionAnalysis can be saved to a WebScene as part of a DimensionLayer.
Known Limitations
This analysis is only supported in a 3D SceneView.
Constructors
Constructor
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| properties | | |
Properties
origin
- Type
- AnalysisOriginWebScene | null | undefined
The origin of the analysis. The origin can be of type web-scene when the analysis was applied from the
WebScene.initialViewProperties or a
Slide.
style
- Type
- DimensionSimpleStyle
The style defines how the dimension objects of this analysis are displayed.
uid
- Type
- string
- Since
- ArcGIS Maps SDK for JavaScript 4.33
An automatically generated unique identifier assigned to the instance. The unique id is generated each time the application is loaded.
valid
- Type
- boolean
- Since
- ArcGIS Maps SDK for JavaScript 4.33
Indicates whether the analysis is ready to be computed and interacted with in the view. It requires each of the dimensions to be valid, that is, to have both a start and end point If the analysis has no dimension, it is considered valid.
Methods
fromJSON
- Signature
-
fromJSON (json: any): any
Creates a new instance of this class and initializes it with values from a JSON object
generated from an ArcGIS product. The object passed into the input json
parameter often comes from a response to a query operation in the REST API or a
toJSON()
method from another ArcGIS product. See the Using fromJSON()
topic in the Guide for details and examples of when and how to use this function.
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| json | A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. | |
- Returns
- any
Returns a new instance of this class.
clear
- Signature
-
clear (): void
- Since
- ArcGIS Maps SDK for JavaScript 5.0
Clears the analysis by removing all dimensions.
- Returns
- void
clone
- Signature
-
clone (): this
Creates a deep clone of this object. Any properties that store values by reference will be assigned copies of the referenced values on the cloned instance.
- Returns
- this
A deep clone of the class instance that invoked this method.
equals
- Signature
-
equals (other: this): boolean
- Since
- ArcGIS Maps SDK for JavaScript 5.0
Compares this analysis with another analysis to determine whether they are equivalent.
toJSON
- Signature
-
toJSON (): any
Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.
- Returns
- any
The ArcGIS portal JSON representation of an instance of this class.