What is an Elevation Layer?
Elevation layers can help with 3D visualizations by creating relief in your 3D scene. Elevation layers are composed of data coming from LIDAR, photogrammetry, spot, or contour sources. The raster elevation model you create from elevation data sources can then be used to publish your elevation layer. Elevation layers can be used as a surface that provide base heights for other layers in your scenes. Before this release, sources for elevation layers in ArcGIS Online came from Esri-provided world elevation layers that covered land terrain and ocean depths. Elevation layers could also be published to an on-premise ArcGIS Server.
With the July release of ArcGIS Online you now have the capability to create your own hosted elevation layers in ArcGIS Online. These elevation layers can be used across the platform in applications like the web scene viewer, ArcGIS Pro, web applications using the 4.0 JS API and in ArcGIS Earth.
Creating a Tile Package in Pro Using Elevation Data
In 1980 Mount St. Helens erupted and drastically changed the landscape of the area. In the photo below you can see the before and after photos showing what Mount St. Helen looked like. I am going to use historical elevation data from the USGS and contemporary data from Esri’s provided elevation layer to create two scenes that show this change.
To create your elevation layer, first you will need to launch ArcGIS Pro 2.2 and open the Mount St. Helens map package provided here. All of the data being used in this blog is in the project’s geodatabase. I’ve already added the USGS raster elevation data showing Mount St. Helens before the eruption. It is set as a visual operational layer in the 2D Layers and also as an elevation source.
In Pro, the ArcGIS Online elevation tiling scheme is provided so we will not have to generate our own tiling scheme file. I will need to use two geoprocessing tools to generate the tile package that we will upload to ArcGIS Online.
The first tool I will use will be the Manage Tile Cache to generate a tile cache of the elevation data. With the Manage Tile Cache tool I will set the folder for the output, name and the tiling scheme I wish to use. For this example the Manage Tile Cache tool will use the ArcGIS Online elevation tiling scheme so it can be used with other ArcGIS Online tiled data in both global and local scenes. I am going to set the min and max cache scales using the dropdown options and then click Run to output the cache. If you want to use your own tiling scheme file you will need to use the Generate Tile Cache Tiling Scheme tool in addition to the Manage Tile Cache in Pro and under the advanced options set the tile format to LERC.
TIP: Limited Error Raster Compression (LERC) is an efficient lossy compression method recommended for single-band or elevation data with a large pixel depth, such as float, 32-bit, 16-bit, or 12-bit data. If you do not set the tile format to LERC you will not be able to generate an elevation layer in ArcGIS Online and will end up creating a tile layer instead. That is, you will create a raster layer that will be displayed in the view rather than an elevation layer that adds relief to the ground surface.
Next we want to package the cache into a tile package that we can upload to ArcGIS Online. Using the Export Tile Cache tool, we will select the cache created in the manage tile cache tool. Then set the output location and name. Finally, select Export As – Tile Package and click Run. The result will be a tpk file on disk that contains the elevation layer cache.
Publish Elevation Layer in ArcGIS Online
Now that we have created a tile package (tpk) of the Mount St. Helens elevation data before the eruption, we will upload the tile package to ArcGIS Online. To do this we can use ArcGIS Pro’s Share Package tool or upload directly through ArcGIS Online sire under My Content. To publish the package as an elevation layer, we will need to sign into our ArcGIS Online account and upload the tpk through Add Item > From My Computer and selecting the tpk we just created and making sure the publish check box has been checked. This will publish the elevation layer as soon as the tpk has been uploaded.
Creating a Local Scene in Pro
I can now use this elevation layer in the scene viewer but, before I publish the scene, I want to define a limited scene extent to highlight the Mount St Helens area.
In ArcGIS Pro I can clip the visible extent of a scene. This extent will be used in the scene viewer and other web applications and allows me to create two scenes that highlight the change in the elevation surface around Mount St. Helens.
Firstly we will create a scene showing the mountain after the eruption by using the modern day surface hosted in the Esri Elevation service. I will remove the default basemap layer currently in the table of contents and then drag the After DEM data from my projects geodatabase into the view. Next, I am will change the color ramp being used under the appearance tab.
To clip the extent of my scene to the DEM layer I need to update the Map Properties of the scene. I right click on the Scene text in the table of contents, click Properties, open the Extent property tab, and select the option to use a custom extent. By checking on the option to Clip layers to extent, the focus of the scene will remain just on the area around Mount St. Helens.
Next I will share this web scene to ArcGIS Online by opening up the Share tab in the ribbon and clicking the Web Scene option. This will create a web scene using Esri’s elevation layer, the custom extent, and the symbolized DEM data.
Secondly I want to create a scene that uses the historic, pre-eruption, elevation layer that I published to ArcGIS Online earlier. To do this I need to switch out my elevation layers. Right-clicking the Scene text in the table of contents and clicking Properties will bring up the properties for the scene. Clicking on Elevation Surface shows that the Esri elevation layer is being used for this scene, so I click on the x button next to it to remove it from the scene.
I then need to add in my new elevation layer that shows the ‘before’ state. To do this I click on the Add Elevation Source button, navigate into My Content in ArcGIS Online (where the elevation layer was published to) and select it.
Now that the surface has been updated, I am also going to update the DEM raster layer. By deleting the ‘After’ layer and dragging the ‘Before’ DEM layer from that same database into the scene, the layer draped on the ground will visually match the elevation surface. I then share this scene to ArcGIS Online – using the same Share > Web Scene process – to create a new web scene that will be used in the same web application as the first web scene we published.
Viewing your web scenes in the Scene Viewer
Now that the web scenes and layers are all published to ArcGIS Online we can now view them in the Scene Viewer. I can open the web scenes by clicking on them under My Content. I can also make changes to these web scenes in the scene viewer. I am going to add a few slides to each of these web scenes to help viewers navigate my web scenes. To create slides simply click on the Slides button, then click Capture Slide and this will save the current view you have in the scene. Once all the slides are captured I will click save to update the web scene.
Using Web Scenes with a 3D Template
In ArcGIS Online there are web apps available that can leverage our 3D web scenes to assist with visual analysis, comparisons and basic viewing. I am going to use the comparison template to view the two web scenes at the same time and highlight the drastic difference side by side. To create this web app I’ll click on the Create button under My Content, then then select App and Using a Template.
I select the option for Display a Scene (3D), to help filter the templates available, and then select the application “Compare Scenes”. Then I will enter in some info about the web application by giving it proper description and tags.
When prompted, I will select the Before Eruption web scene (first) and the After Eruption web scene (second).
I can then optionally customize the application to give it a specific styling and set specific options like hiding the the info panels when the application is launched. I can save my changes and launch the web app and share it with my users so they can see how devastating the Mount St. Helens of 1980 truly was. The scenes are tied to one another so as the viewers pan around in one scene the other scene will update as well. Here is a link to the final application.