Elevation Server Object Extension

Blog Post created by rcarmichael-esristaff Employee on Oct 7, 2010
Elevation Server Object Extension

A few years ago we published a sample Geoprocessing Service to create elevation profile charts on the server and send back a URL to the chart image.  This sample service has been very popular and some of the core components have been implemented in various production environments.  Some common requests have been to expand this functionality to return the elevation values so additional work could be done on the client applications, and the ability to easily use this functionality against users own elevation data sources.

In response to these many requests, we’ve just shared an updated version of this functionality as a 10.0 REST Server Object Extension (here) on the ArcObjects Resource Center Gallery.  The REST SOE is implemented in .NET and Java and includes samples for the various Web APIs and ArcGIS Explorer 1500.  In addition to the creation of profile charts on the server via the GetElevationProfile operator (now updated to better handle bathymetry), the Elevations SOE also exposes three new operators: GetElevationAtLonLat, GetElevations and GetElevaitonData. These new operators return elevation values to the client applications.

The Elevations SOE is simple to deploy and can be easily attached to any Map Service that contains a single band raster elevation layer by enabling the ‘Get Elevations’ capability when creating the Map Service.  The functionality can be inspected via the ‘Supported Extensions’ entry at the bottom of the Services Directory page of the Map Service.   Accessing the Elevations SOE functionality is done via these newly exposed REST URLs, and it will be up to each developer to properly call and make use of the results.  The provided samples (available here) make use of a public instance of the Elevations SOE.  This instance of the Elevations SOE is attached to a Map Service that includes a sample global elevation dataset that combines three data sources: SRTM, GTOPO30 and GEBCO bathymetry.Caveat: The Elevations SOE is just a sample implementation, and should NOT be used in production environments and/or mission critical situations.  This sample implementation doesn’t attempt to handle every possible scenario and there are still many times when this functionality needs to be customized and deployed in production environments by our professional services team.3/20/2013 - 10.1 Update!
An updated 10.1 version of the Elevations SOE can now be found in this ArcGIS.com group.  It is important to review the associated readme for details on breaking changes.  ArcGIS.com users can request to become members of this group and share their apps and services based on the Elevations SOE.Contributed by John G.