Elevation Profile Widget Version 2.17 - 9/19/2020

03-02-2015 06:56 PM
Labels (1)

Elevation Profile Widget Version 2.17 - 9/19/2020

Live Preview Site   

Web AppBuilder for ArcGIS | Help - Elevation Profile Widget

List of the latest enhancements and changes:

  1. Updated to WAB 2.17
  2. Fixed issue with using this widget in Tab Theme. Profile hiding the close button on the sidebar controller.
  3. Now when used in the Jewlerybox and tab theme it will open those controllers automatically.

Older enhancements or changes

  1. Added ability to select existing line features to profile.
  2. Added ability to choose which segment of the selected polyline to profile.
  3. Added setting to control elevation decimal precision.
  4. Fixed Issue with resizing widget and profile getting cut off.
  5. Moved all widget links to a widget menu instead.
  6. Added the ability to export Profile data to CSV file.
  7. Added the ability to flip the profiles direction of travel.
  8. Added support for doing profiles when basemap is not Web Mercator
  9. Added the ability to export the profile chart as an image (if you are not using Internet Explorer and your browser supports HTML5 Canvas).
  10. Added fix for Launchpad Theme UI issues


  • This is a port over of the Elevation Profile Template.
  • Some modifications have been done to prevent chart indicator text clipping
  • The chart display features like color, font size, etc are all configurable in the widget settings UI
  • Some validation is done on the profile task service url.
  • Full help documentation is provided for configuring and using the widget.



Labels (1)

Hi Robert,

Thank you for this awesome widget. I saw it at ESRI PUG conference last week in a demo.

I was wondering how easy would it be to add an option to select a line instead of drawing it on a map and use that line's location to create an elevation profile?

Or should i perform this task by creating a geoprocessing tool?

Thank you!



  I have considered this in the past but the question becomes how do I hake this configurable in the widget being able to handle which layer in the map is a polyline and how it will get selected becomes a bit of code and work. I may still add this in the future but don't have the time right now.

I Robert,

I wonder if it is already possible to "was wondering if you were planning to make it like the original elevationprofile in which a person could select an existing line?" with the widget?

I try with the "Elevation Profile Widget Version 2.0.1 - 04/26/2016", and i could do it.

Can you help me?

Thank you


  I just answered that question. Look right above your post.

Robert, are there any minimum requirements to deploy this widget? If I want to get the elevation profile from a DEM generated in-house, I guess I need ArcGIS 3D Analyst for Server.Am I correct?


  This widget does not have any requirements beside Web AppBuilder. But if you want to use your own elevation service then you should consult this blog post:

Setting up your own Profile Service | ArcGIS Blog 

Thanks! Just what I needed!!!!


Initial tests suggest that this widget is reporting incorrect profile values when used in WAB Dev 2.1.  Horizontal distances appear to be correct in the Measure tab, but both Elevation in Feet and Distance in Miles (graph axes) are incorrect in the Profile Result tab.

Correct results, WAB Dev 2.0:


Incorrect results, WAB Dev 2.1:


I can provide you with links to old and new apps if you want.




  They likely made some breaking change in 2.1. I will look into this when I get to upgrading it to 2.1.

Thanks, Robert!  :)

New version works perfectly! 

The JS Team reversed internal unit conversion factors on me.

Hi Robert, I've just stood up my own profile service and it appears that what the widget is returning are the 'stretch' values from my DEM, rather than the pixel values. The DEM is a float raster dataset, in local state plane harn with z units in feet.  I adjusted for resolution and measures in the python prior to publication.  I can't seem to find it in the documentation, but do know if the DEM needs to be an integer grid?




  Beyond the info provided in the "How to setup the profile service.docx" I do not have more info on the particulars of the raster data.

Ok thanks I'll post back any findings


   You can Manually configure the location and size of all widgets in WAB by adjusting the widgets position object in the main config.json.


   Sorry on screen widget will always appear relative to where their on screen widget icon is located. Here is a thread that discusses changing the widget postition/size on load:



I made sure to update my Elevation Profile widget from version 2.0 to 2.1 when it came out but it seems I am still getting the issue of crazy values showing up on the axis:

Was wondering if there is a solution or if anyone else was still having this problem?



   Did you update the widget in the apps widget folder as well as the stemapp widgets folder?


I went into the application in the editing mode and removed the old version of the widget and then replaced it with the new one from the stemapp folder.  I usually just have to refresh the cache in my browser for the changes to work.  Am I supposed to actually move the folder over even if it is just an app I am editing (not downloaded yet)?



   To be sure that your app is using the latest version I would recommend manually replacing the widget in the apps widgets folder. You can check which version of the widget your app is using currently by holding the Alt key on the keyboard and then clicking inside the widget.

Hi Robert,

I am experiencing a similar issue with distance values when using my own profile service set up using the download linked above, the distance just seems to be incorrect on the chart as the measurement distance is correct. I have included screen shots below using your demo using the online GP Service and my set up using a local GP Service, measuring the same line.

When I switch to the local config to use the online gpservice the results are also incorrect.

It only appears that the chart is correct in both x and y values if I use meters which is the default value for the GPService



Your Demo:

My Set Up:

Your Demo:

My Set Up:


   The only thing I can think of is that the tutorial was not updated to the same output units that they now use in their elevation profile service. I had to change the widgets code a while back to use a different calculation due to a change to the elevation profile service output. I don't remember is the service provided distances in feet and now it is in meters or vise versa. So my suggestion is if you service produces feet then change it to meters or vice versa.

Robert, Anthony et al - I haven't been able to get back to this, but I too have been having a difficult time with the profile widget when using my own local DEM and GP tool.  Specifically, the widget for the y-axis values is reading the Stretch values of my DEM, as opposed to the Pixel values and the x-axis distances are off as well, although not as dramatically as you show here.  Caching the service may well solve the y-axis issue, we'll see.  But for the x-axis issue, I may have to add a re-project function from stateplane to web mercator.  If none of that works I may have to convert my grid vertical to meters and reproject to webmercator, steps I hope to avoid.


I am getting the same result when using the online gpservice





   What version of WAB are you using. Each version of WAB uses a specific version of the JS API and it was 3.15 or 3.16 that the JS API changed their internal unit conversion equation and I had to update the widget to match. My live preview site has the correct values because the WAB and widget version are the same.


I am using 2.1 WAB and 3.17 API

If that helps




   So let me verify. If you use the default esri elevation service "http://elevation.arcgis.com/arcgis/rest/services/Tools/ElevationSync/GPServer" and the default scalebarUnits of feet in the widgets configuration and you are using WAB 2.1 and v2.1 of the elevation profile widget you are getting correct profiles like seen in my live preview site?

When you switch to your profile gp you are getting bad values. Is your profile service returning values in Meters?


I have done a little more testing and it appears the chart distances are correct for both my local gpservice and the esri elevation gpservice if I use the hosted API in my env.js(//jsdev.arcgis.com/3.17).

If I used a locally hosted version of the API (3.17) they are both incorrect.

Are you able to replicate?




I have just downloaded a fresh version of the 3.17 API and it seems to be ok,

Sorry for any inconvenience



Hi Robert,

I would like to thank you for this widget, it is really useful! I have just set up the elevation widget with a custom profile service which works fine. However, I have a couple of doubts that maybe you can help me with:

1. I have been trying to change the units of the y axis but I have not been able to. Now it says "Elevation in meters" and it should be "Elevation in mm". Is there an easy way to change it?

2. I would like to download the table with the data of each profile. Is it possible?

Many thanks!



1. No you can not use mm as a unit feet and meters are the only option available in this widget.

2. No there is no ability to export the elevation data.


Are there any plans to be able to control how exaggerated the elevation change appears in the widget?  It would be nice to have a controller that allows for people to either provide more exaggeration or less exaggeration in the profile.  Thanks for a great widget!

- Devon


  I can look into it, but I think that the profile GP does not afford this type of control.


Thanks for always being speedy to reply!  I also wanted to mention that when attempting to use this tool (as of this morning) in my app and your live preview site, there is an error showing.  The error (ERROR 000824: The tool is not licensed.) popped up when I attempted to use the tool this morning and so I checked your live preview site to see the same error.  Any ideas?  Thank you, Robert!

- Devon


   ESRI must have screwed something up on the elevation profile gp service. I will look into it.


   The esri license issue has been resolved on their end and the widget is now working again.

I'm getting some haywire numbers from the widget it seems:  Anyone seen anything like this?  I'm using widget version 2.3 in WAB 2.0. cleared the cache and replaced to old widget folder in apps and sitemap.


   Nope I do not see that when using the Live Preview Site. Are you using a different elevation service than the default esri one?

Should be the default one, is there any issue with using and older web app version and newer app version?  Are they compatible? 


   If you are talking about using a WAB Version and a widget version that are not the same then yes that could be an issue.

Hi Robert, love the widget i have added it to maps and i have been getting alot of requests from my users if the profile result can be exported out.

So i though i would through in a suggestion to be able to export the profile result to a pdf or jpeg.

Awesome Work!

I will look into this possibility.

Hi Robert, 

Am I right that this is still not implemented? I was hoping to have the same functionality with your widget as I got with the Elevation template. I would like to select a route and see its profile. 


   Correct the selection of an existing feature has yet to be included in this widget. Sorry I have no timeline for this enhancement.

Thank you Robert for the reply. Looks like I have to try a bit myself. But if it would be that easy then you would have done it already I guess....

Hi - I wonder if anyone can help me?

I installed this widget to WAB 2.3 (developer) and it works until I put in my own cached imagery basemap (web map) when it starts to give a straight line result. I am using the standard ESRI profile task http://elevation.arcgis.com/arcgis/rest/services/Tools/ElevationSync/GPServer because I cannot create my own at the moment.

Working with Esri basemapNot working with my own web map

I'm thinking this is something to do with projections (my basemap is WGS_1984_UTM_Zone_36N) but I don't know enough about the inner workings of the widget. Does anyone have any thoughts on why this is and whether it is possible to fix it?



   Version 2.4.1 has this fixed.

Hi Robert,

I've updated the version and it's done the trick.

Thanks for your help,


Hi Robert,

Do you know if it would be possible to extract and export a table of elevation values from the lines drawn?  I'm thinking you'd have x/y or lat/lon points along the line at set intervals with their corresponding z value but I don't know if the API allows for this.

Version history
Revision #:
1 of 1
Last update:
‎03-02-2015 06:56 PM
Updated by: