Elevation Profile widget
The Elevation Profile widget generates and displays an elevation profile based on an input path created by drawing or selecting single- or multisegment lines on a web map or scene. The widget can display elevation profile lines for the ground, for 3D mesh layers, and for selected line features. Users can choose distance and elevation units and optionally view slope and elevation statistics.
Use this widget to support app design requirements such as the following:
- You want to draw or select a path to get the ground elevation profile.
- You want to select a line to get its profile relative to the ground using z-values or values from elevation fields.
- You want to view statistics for an elevation profile, such as the slope, the maximum and minimum elevation, and the elevation loss and gain.
This widget requires connecting to a Map widget. To generate an elevation profile for selected line features, the Map widget must be connected to a data source (2D web map or 3D web scene). Line features from map services are not selectable. The widget uses an elevation layer as a surface that provides base heights for the layers in the map. By default, the widget uses the Esri Terrain 3D elevation layer for all web maps and for web scenes without a defined ground layer. You can replace the default Terrain 3D elevation layer with a custom web elevation layer in your map or scene if, for example, you want higher-resolution data for an area of interest.
The Elevation Profile widget includes the following settings:
Source—Select a Map widget.
Customize Settings—Optionally, customize the elevation profile settings for the map and each layer. You can change the display settings for the elevation profile graph and the selectable layers.
Profile Settings—Customize the settings for the elevation profile graph.
Select elevation layer—Use the elevation layer defined in the web scene, or use a custom elevation layer.
Use ground elevation layer from web scene—Select this option to use the elevation layer from the web scene to get the results for a drawn or selected line.
Use custom elevation layer—Change the default Terrain 3D elevation layer by clicking Set layer to provide a service URL for a custom elevation layer.
Units—Choose the units used to display the distance and elevation values for the profile graph. By default, the widget uses the units defined in your organization settings. All distance and elevation values are converted to display with these units. For example, when a user selects a line feature that has an elevation of 200 meters and the selected display unit is feet, the widget converts meters to feet and displays an elevation of 656.168 feet.
Style—Change the display color for the ground elevation profile in the graph and the color used to highlight the selected line features on the web map or scene.
Volumetric objects—Generate an elevation profile for scene layers, integrated mesh layers, and layers with volumetric 3D symbols. This option is only available and supported for web scenes. You can customize the label that appears in the graph's legend.
Show profile statistics—Choose which profile statistics to display for the ground elevation, including options for slope, elevation gain and loss, and more. You can drag selected options to reorder them. The statistics are calculated dynamically every time the elevation profile is updated. Users can view statistics by clicking the widget's Profile Statistics button.
Advanced Layer Settings—Specify the selectable layers and how the elevation profile for each layer displays in the graph. You must turn on this setting to use the customized selection settings; otherwise, all the selected lines draw on the ground, even if the layer supports z-values (elevation values).
Selectable Layers—Choose which line layers can be selected on the map to display an elevation profile. For each selectable layer in the list, configure the following settings:
Elevation Settings—Specify the data source for the elevation values by selecting one of the following Elevation Type options:
- Z Value—Use the z-values stored in the layer's geometry. If no units are defined for the vertical z-value in the layer, the units from the ground spatial reference are used. This option is only available if the layer supports z-values.
- No Elevation—Use the ground elevation for the selected line. (Features with no elevation display on the ground.) This is the default behavior.
- One Field—Use the selected field that contains elevation data for a line and specify the applicable units for its data.
- Two Fields—Use two fields that contain elevation data for the start and the end of a line. Specify the applicable units for the data in the selected fields.
Style—Change the color, style, and width for line features selected in this layer when they appear in the elevation profile graph.
General Settings—Set an active tool for the widget when it opens and customize the appearance of the elevation profile graph.
Activate when widget opens—Choose to automatically activate the Select line or Draw profile tool to specify whether users can immediately draw or select a line on the map to generate a profile. (Select line is only available when the Map widget is connected to a data source with line layers.)
Appearance—Customize the elements displayed in the elevation profile graph.
- Graph grids—Display vertical and horizontal grids for each axis.
- Graph axis titles—Display the titles for the distance and elevation axes.
- Legend—Display a legend below the graph. Users can click elements in the legend to hide them in the elevation profile.
Creating an elevation profile generates an output data source that other widgets can use. For example, you can make a Text widget display the profile's maximum elevation value and have the value dynamically change whenever a new profile is generated. The following is a list of statistical values that can be used with the output data source:
- Maximum distance
- Minimum, maximum, and average elevation
- Elevation loss and gain
- Maximum positive slope and maximum negative slope
- Average positive slope and average negative slope
You can configure message actions to have the Elevation Profile widget interact with other widgets. For example, you can make the Elevation Profile widget automatically generate a profile when the user selects a line from a List widget. To do this, add the Record selection changes trigger in the List widget's settings, select the Elevation Profile widget as the target, and add the Select line action.