How to perform 3D visual analysis

This section covers how to perform a 3D visual analysis. To run an analysis, you can use ArcGIS APIs, ArcGIS Pro, or Scene Viewer.

Steps to perform 3D visual analysis

The general steps to perform 3D visual analysis are as follows:

  1. Create a scene

  2. Select an operation

  3. Perform the analysis

  4. Display the results

1. Create a scene

To perform a 3D visual analysis, you need to create a scene. A scene provides the geographic context for the analysis and a way to display the results. You can perform analyses on the scene's terrain (represented by an elevation layer) or you can add additional 3D layers with features such as buildings. When the analysis is complete, you use the scene and the scene view to display the results.

The general steps to create a scene are:

  1. Create a global or local scene.
  2. Set the camera height, heading, and tilt.
  3. Set the ground location and zoom level.
  4. Add elevation and terrain layers (if required).
  5. Add other 3D elements and layers (if required).

2. Select an operation

There are several different types of 3D visual analysis operations that you can perform. The operation you use depends on the type of problem you would like to solve. Use the table of categories below to help select the correct operation. For more details about each, go to the links below.

CategoryDescriptionOperationsResultsExample
ViewshedCalculates and displays the visibility of surroundings from an observer's perspective in a scene. Only available with the ArcGIS Runtime APIs.LocationViewshed(Point), LocationViewshed(Camera), GeoElementViewshedA viewshed overlay representing what can and cannot be seen by an observer. viewshed location
Line of sightCalculates if a target location is visible from an observer location in a scene.LocationLineOfSight, GeoElementLineOfSightA line indicating visibility, divided into segments based on what can be seen and what is obstructed. lineofsight location square
Distance MeasurementCalculates and displays the distance between two points in a scene.LocationDistanceMeasurement, DirectLineMeasurementAnalysisAn overlay containing a line feature and its corresponding distance measurement. directline measurement square
Area MeasurementCalculates and displays the area of a polygon in a scene.AreaMeasurementAnalysisAn overlay containing a polygon feature and its corresponding area measurement. area measurement square

3. Perform the analysis

3D visual analysis operations can be performed programmatically using ArcGIS APIs or interactively using ArcGIS tools. Regardless of the mechanism you use, the process for performing the analysis is similar.

All 3D visual analyses require you to define parameters for the operation. All analyses require one or more locations. For example, line of sight analysis requires an observer location as well as target locations to determine if the targets are visible from the observer.

Some 3D visual operations require additional parameters. For example, a viewshed analysis requires several properties that define an observer's perspective and field of view, while area measurement requires a polygon feature that represents the measurement extent.

ArcGIS APIs

You can use ArcGIS Runtime APIs and the ArcGIS API for JavaScript to perform 3D visual analyses. The ArcGIS Runtime APIs support visual analysis using either points or geoelements, while the ArcGIS API for JavaScript only supports points. The ArcGIS API for JavaScript also provides widgets that allow you to perform interactive analyses in a scene view.

The general steps to perform a visual analysis with an ArcGIS Runtime API are:

  1. Select an ArcGIS Runtime API and create a new project in the corresponding programming language.

  2. Add a scene view to your application and include any additional data layers you would like to incorporate into the analysis.

  3. Create a new analysis object for the 3D visual analysis.

  4. Perform the 3D visual operation by supplying the analysis object with the necessary parameters. The parameter type (either location or geoelement) should match the type of the analysis object.

  5. Add the operation to a new AnalysisOverlay, and add the AnalysisOverlay to the scene view to display the results.

ArcGIS software and tools

You can use the Scene Viewer and ArcGIS Pro to perform 3D visual analyses interactively. The Scene Viewer is an interactive web application that allows you to display 3D scenes and execute visual analysis operations. ArcGIS Pro is a desktop application that runs on Windows devices.

The general steps to perform a visual analysis in ArcGIS Scene Viewer are:

  1. Open ArcGIS Scene Viewer in your browser.

  2. Sign in using an ArcGIS Online account.

  3. Create a new scene (either global or local) or open an existing one.

  4. Add any data layers you would like to include in the analysis by going to Add layers. Select a layer hosted in ArcGIS Online or enter the URL of a hosted feature layer.

  5. Perform a 3D visual analysis by going to the Analyze menu and selecting an analysis operation. Line of sight analysis is available from the Add layers menu.

  6. View the results on the scene view.

4. Display the results

You can display the results of a 3D visual analysis with a scene view.

If you are using Scene Viewer, analysis results automatically display on the scene through a graphics layer. You can mange the visibility of line of sight results in the Layers tab.

If you are using the ArcGIS API for JavaScript, you add analysis results to a scene view's analyses to display them as an analysis view.

If you are using an ArcGIS Runtime API, you add the results to an AnalysisOverlay to display them in the scene. To display analysis results, add the AnalysisOverlay to the scene view.

Example

This example displays the results of a line of sight analysis. To learn more go to Line of sight.

ArcGIS API for JavaScriptArcGIS API for JavaScriptArcGIS Runtime API for AndroidArcGIS Runtime API for iOSArcGIS Runtime API for JavaArcGIS Runtime API for .NETArcGIS Runtime API for Qt (C++)ArcGIS Runtime API for Qt (QML)
Expand
Use dark colors for code blocksCopy
                                                                                                                                                                  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
      viewModel.observer = new Point({
        latitude: 37.7462,
        longitude: -119.5743,
        z: 1300
      });

      viewModel.targets = [
        createTarget(37.7339, -119.6377, 2300), // El capitan
        createTarget(37.7459, -119.5332, 2700), // Half dome
        createTarget(37.7130, -119.6046, 2300), // Taft point
        createTarget(37.7566, -119.5969, 2250), // Yosemite falls
        createTarget(37.7569, -119.5599, 2300), // North dome
        createTarget(37.7677, -119.4894, 2800), // Clouds rest
        createTarget(37.7230, -119.5843, 2450), // Sentinel Dome
        createTarget(37.7248, -119.5333, 1800) // Nevada falls
      ];

      function createTarget(lat, lon, z) {
        return {
          location: new Point({
            latitude: lat,
            longitude: lon,
            z: z || 0
          })
        };
      }

Tutorials

API support

Full supportPartial supportNo support
  • 1. Access with geoprocessing task
  • 2. Supports point location line of sight

Tool support

Viewshed analysisLine of sight analysisDistance measurementArea measurement
ArcGIS Pro
ArcGIS Scene Viewer
Full supportPartial supportNo support

    Tools

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.