Forum Discussion

Ron Vincent's avatar
Ron Vincent
Icon for Microsoft rankMicrosoft
Dec 04, 2020

Preview of new Azure Maps Elevation service REST APIs

This blog post was authored by Igor Vodov, Principal Program Manager, Azure Maps. 

 

We're excited to announce that new geospatial featuresare coming to Microsoft Azure Maps.  With these new features, developers will be able to add elevation data to their applications and start supporting scenarios that require ground truth terrain information.  Read on to learn more about the latest elevation features and integrations with Airbus digital elevation model for Azure Maps.   

 

As urbanization continues to grow, cities must adapt their urban planning and infrastructure operation strategies to address physical and economic challenges.  To unlock their full economic potential, cities can use digital technologies to transform and interconnect key areas of their ecosystem, such as roads, buildings, energy grids, and water networks.  The ground truth elevation data can be used to build the digital twins to validate the predictions against the underlying physical-based models.  For example, when a water department of a city creates a water network and must determine where to lay out the water pipelinesthey can use elevation data to understand the layout and health of water pipelines in the event of a flood.  By using elevation data in their flood analysis, city engineers can correct the water pipeline layout to minimize impact in the event of a rupture.  Also, it will be possible for them to predict the impact to local businesses when a water pipe breaks down.  If they are able to translate the downtime of a business to actual economic losses, they can develop strategies to make cities around the world more livable, sustainable, and economically viable.   

 

Similarly, energy companies can use elevation data to analyze where to place their power-generating equipmentAlso, construction companies can use elevation data to determine where to build roads or bridges.  The ability retrieve elevation data at a global scale is powered by Azure Maps. Azure Maps uses the 24-meter WorldDEM4Ortho dataset from Airbus WorldDEM portfolio, which covers the Earth’s entire land surface.  The dataset represents a consistent and accurate elevation model at a global scale, meaning that regardless of the area you’d like to query, the dataset features 4-meter vertical accuracy in a 24-meter raster.  Identified disturbing terrain artifacts are removed, and bodies of water like lakes or seas are flattened. Rivers are stepped with a flow that follows the surrounding shorelines.  Adaptive smoothing processes are also applied to different landscapes and land-use such as urban areas.   

 

You can use the new elevation features in your development environment through easy-to-use Azure Maps APIs.  You can pass in latitude and longitude pairs into the APIs or define a polyline described by latitude and longitude pairs.  One of the interesting features of this API is the ability to provide elevation data as a bounding box for a region on the Earth’s surface. The elevation values are calculated using the geoid sea level Earth model.  The geoid sea level mode uses the Earth Gravitational Model 2008 (EGM2008) and computes a sea level based on the local value of gravity.  This screenshot shows how to use the map control to display elevation data at a coordinate point. 

 
 

 

You can also use Azure Maps Render v2 API to retrieve elevation data in tile format.  With terrain tiles, you have the power to customize the visual appearance of your map on the fly and perform complicated analysis on the client.   

 

Some example use cases for this API are: 

  • Provide the end-user with elevation information at specific points  
  • Visualize the elevation profile along a pre-computed route line 
  • Provide end-user with a 3D experience by generating hill-shades 

 

Here is an example of API call to look up elevation for two latitude and longitude pairs: 

 

https://atlas.microsoft.com/elevation/point/json?subscription-key={Azure-Maps-Primary-Subscription-key}&api-version=1.0&points=-73.998672,40.714728|150.644,-34.397 

 

{ 

"data": [ 

    { 

        "coordinate": { 

            "latitude": 40.714728, 

            "longitude": -73.998672 

        }, 

        "elevationInMeter": 12.142355447638208 

    }, 

    { 

        "coordinate": { 

            "latitude": -34.397, 

            "longitude": 150.644 

        }, 

        "elevationInMeter": 384.47041445517846 

    } 

] 

} 

 

These capabilities are now in Public Preview, with many more features to follow soon.  To  start experimenting with these new capabilities in your organization, see our How to Request Elevation Data in Azure Maps.  We can’t wait to see what you build with these APIs.   

 

   

 

  • HadiM2235's avatar
    HadiM2235
    Copper Contributor

    Ron Vincent 
    Thank you for this article. Is the API call mentioned as an example outdated? I tried it but it gives a Not-Found error.

Share