Elevation Profile Widget - custom elevation layer

2258
14
Jump to solution
02-18-2022 07:47 AM
StephenKing3
New Contributor III

Hi,

I'm trying to set up the elevation profile widget in Experience Builder and would like to use a custom elevation layer, however, when I insert the URL for the custom layer, it is not accepted - I get the error 'Enter the URL for a valid elevation layer service'.

I created the elevation layer service from ArcGIS Pro using 'share as web service' from my elevation surfaces ground layer and this has uploaded as a tiled elevation service on ArcGIS online.

Can anyone advise what else is required?

Thank you.

0 Kudos
2 Solutions

Accepted Solutions
AlixVezina
Esri Regular Contributor

Hi @StephenKing3 , right now elevation layers without the "Elevation" cacheType property are not supported in the web map or as a custom elevation service for this widget, but they are supported in the web scene. We are investigating to see if we can support them in the web map in the future.

As a workaround, you may add the service to a web scene and use that web scene in your ExB application, or you can create a a tile package and elevation layer with the "Elevation" cacheType property by following the steps provided here, under: Create a tile package for a web elevation layer . The tiling scheme must use LERC compression.

 

View solution in original post

AlixVezina
Esri Regular Contributor

Hi @StephenKing3 ,

I just wanted to loop back and confirm: after looking into this more, we've concluded the official guidance will be to publish the service following the guidance here Share a tile package—ArcGIS Pro | Documentation as indicated in my previous comment.

There is currently an issue with .tpkx packages where the cacheType: Elevation property is not being added to the the tile package. Due to this, the elevation layer created is missing this information in the REST endpoint.

I would recommend following the steps above, making sure to use LERC compression and the .tpk format to create your tile package and publish your tiled elevation service. Then, the service should be usable as a custom service in your web map for the Elevation Profile widget in Experience Builder.

View solution in original post

14 Replies
AlixVezina
Esri Regular Contributor

Hi @StephenKing3 ,

To create a web elevation layer, please follow these steps: Share a web elevation layer—ArcGIS Pro | Documentation

This would create an Elevation Layer item into your organization, for example: NZ Elevation - Overview (arcgis.com). You will want to then use the service's URL for the widget, for example: https://services1.arcgisonline.co.nz/arcgis/rest/services/Elevation/New_Zealand_Elevation/ImageServe...

Notice the service ends with "ImageServer".

0 Kudos
StephenKing3
New Contributor III

Hi @AlixVezina, thank you, that's what I have done. In ArcGIS Online the elevation layer is visible and it is categorized as 'Elevation Layer (hosted)'. The URL is https://tiles.arcgis.com/tiles/..../ImageServer, but it doesn't seem to work. I can add the layer in scene viewer and it allows me to generate an elevation profile from the tool in the viewer. Experience Builder does not like the URL for some reason.

AlixVezina
Esri Regular Contributor

@StephenKing3  please would you be able to verify that your service has a cacheType of Elevation? For example:

AlixVezina_0-1645202793758.png

 

0 Kudos
StephenKing3
New Contributor III

@AlixVezina , no, it doesn't have any reference to cacheType.

0 Kudos
AlixVezina
Esri Regular Contributor

@StephenKing3  that would be the reason why the Elevation Profile cannot use that service. Let me look into this a little more and I'll get back to you.

0 Kudos
AlixVezina
Esri Regular Contributor

Hi @StephenKing3 , right now elevation layers without the "Elevation" cacheType property are not supported in the web map or as a custom elevation service for this widget, but they are supported in the web scene. We are investigating to see if we can support them in the web map in the future.

As a workaround, you may add the service to a web scene and use that web scene in your ExB application, or you can create a a tile package and elevation layer with the "Elevation" cacheType property by following the steps provided here, under: Create a tile package for a web elevation layer . The tiling scheme must use LERC compression.

 

StephenKing3
New Contributor III

Hi @AlixVezina, the web scene in ExB provides a good solution for now. Many thanks.

AlixVezina
Esri Regular Contributor

Hi @StephenKing3 ,

I just wanted to loop back and confirm: after looking into this more, we've concluded the official guidance will be to publish the service following the guidance here Share a tile package—ArcGIS Pro | Documentation as indicated in my previous comment.

There is currently an issue with .tpkx packages where the cacheType: Elevation property is not being added to the the tile package. Due to this, the elevation layer created is missing this information in the REST endpoint.

I would recommend following the steps above, making sure to use LERC compression and the .tpk format to create your tile package and publish your tiled elevation service. Then, the service should be usable as a custom service in your web map for the Elevation Profile widget in Experience Builder.

RandyMcGregor3
Occasional Contributor III

I don't see the Elevation Profile widget in ExB. I'm using Portal for ArcGIS. Is it only available for ArcGIS Online?

0 Kudos