At version 100.2, ArcGIS Runtime introduced analysis and analysis overlay classes to provide fast and dynamic visualization of analysis results in a scene view. The AGSAnalysis classes allow you to define analyses (such as viewshed or line of sight) to be performed using data in the current scene, then render results that are updated dynamically (as layers are added or removed, features are updated, camera position changes, and so on). See Analyze visibility in a scene view for examples of analysis classes.
Add an analysis overlay
One or more analysis objects can be added to an analysis overlay, which is then added to the scene view. The analysis overlay can control result visibility for all analyses it contains, allowing you to manage a set of related analyses as a single overlay displayed in the view. A scene view can contain several analysis overlays.
Some analysis types enforce a maximum number that can be added to a single scene view (the value can vary on mobile devices and desktop platforms). See the documentation for specific analyses to see if a maximum number of analyses exists.
Use the following steps to add an analysis overlay to your scene view:
- Create a new AnalysisOverlay to contain one or more analyses. You might use one overlay to contain all the line of sight analyses for a specific observation point, for example.
- Add the analysis overlay to the scene view's overlay collection. Similar to the graphics overlay collection, a scene view can have zero or several analysis overlays in the collection.
allLinesOfSightOverlay = AGSAnalysisOverlay() sceneView.analysisOverlays.add(allLinesOfSightOverlay)
- Add one or more analysis objects to the overlay. You can add and remove analyses in the overlay whenever you need to.
Controlling analysis visibility
Visibility for scene analyses can be toggled on or off for individual analysis classes (a single line of sight analysis, for example) or for an entire analysis overlay. Toggling the visibility for an analysis overlay will affect all the analyses it contains. This allows you to organize your analyses into logical groups and manage their visibility as a single unit.
You can toggle visibility for an individual analysis to show/hide its results, or toggle visibility for the analysis overlay (and all analyses it contains) as a group. You can also remove it from the analysis overlay if you no longer need it, as well as remove the entire overlay from the scene view.
// Hide an analysis display
lineOfSightRooftopToWindow.isVisible = false
// Show the analysis overlay display (to render all analyses that are also set to visible)
allLinesOfSightOverlay.isVisible = true
// Remove an analysis from the overlay
// Remove the analysis overlay from the scene view analysis overlay collection