ThinkGeo Cloud Elevation

ThinkGeo Cloud Elevation is a web service that provides elevation and grade data for points, lines and areas, with global coverage and customizable result resolution.
 

Elevation Around You

Draw a line on the map below to see how elevation of the surface changes along that path.
Use ctrl + scroll to zoom the map

To access ThinkGeo Cloud Elevation, you'll need a ThinkGeo account and a ThinkGeo Cloud API key which you'll use to authenticate your tile requests. Don't have a ThinkGeo account? Start building today and get a free 60-day evaluation of all ThinkGeo Cloud services, including Vector Tiles, Raster Tiles, Geocoding, Reverse Geocoding and WMS.

Whole-Planet Coverage

Elevation of all the world’s landmass is provided by NASA’s Shuttle Radar Topography Mission (SRTM). Inside the continental United States, get even more precise coverage via the National Elevation Dataset (NED).

Projection Support Built-In

Need the elevation for points or features in a local projection? Simply specify the spatial reference system ID and ThinkGeo’s Cloud Elevation service does the rest.

Submit Queries in Batches

Do you have multiple points or paths to query? Save overhead by sending them to the ThinkGeo Cloud Elevation Service in batches and get back all the results in one group.

Automatic Area Grid Interpolation

Pass in an area polygon and specify a distance interval, and the ThinkGeo Cloud Elevation Service will automatically give you back a grid of result points at the resolution you requested.

 

The All-In-One Elevation Service

See everything the ThinkGeo Cloud Elevation service can do for your mapping or GIS project.

FEATURES

More Than Your Typical Elevation Service

Anywhere on the surface of the Earth. Elevation data is available for all landmasses on Planet Earth. Depending on the exact point you request, the service may interpolate and return an average elevation value using the four nearest locations.

Elevation for coordinates, paths and areas. ThinkGeo Cloud Elevation can provide the elevation of a single point, the change in elevation along a path, or a grid of sample points in an area you specify. You can also discover the grade in degrees of any arbitrary line.

Projection built-in. Whatever project your coordinates or features are in, the only thing you need to know is the spatial reference system ID. The ThinkGeo Cloud Elevation service will perform all necessary internal calculations and automatically return results in the matching projection.

Elevation-Gisservice

CONTOUR & DEM READY

Elevation Results that Power Your Creations

The ThinkGeo Cloud Elevation area service can deliver the data you need to create high-impact maps like these:

Contour maps. A topographic map on which the shape of the land surface is shown by contour lines, the relative spacing of the lines indicating the relative slope of the surface.

DEM maps. A digital elevation model (DEM) is a 3D CG representation of a terrain's surface, created from elevation data.

Contour

Cloud-Based GIS Server

ThinkGeo Cloud can be accessed from anywhere using simple RESTful web requests, so you can serve up great looking maps, or provide routing or geocoding to a variety of client applications.
More Details Start Building

Always Online

No Infrastructure to Maintain

Simple Transaction Model

 

See How It Works

Get comprehensive elevation results anywhere you can make a web request. Enjoy a rich development experience in .NET or JavaScript with our custom ThinkGeo Cloud API clients, with more languages coming soon.

    <script src="https://cdn.thinkgeo.com/cloudclient-js/1.0.0/thinkgeocloudclient-dev.js"></script>
    <script>
        var elevationClient = new tg.ElevationClient("YOUR-API-KEY");
        var opts = {
                'pointX': -115.689893,
                'pointY': 36.284432,
                'srid': 4326,
                'elevationUnit': "Feet",
            };
        var elevation = elevationClient.getElevationOfPoint(opts, function (status, data) {
            console.log(JSON.stringify(data))
        })
        //output: {"data":{"elevation":10543.3068890437,"wellKnownText":"POINT(-115.689893 36.284432)"},"status":"success","elapsedTime":"00:00:00.0778575"}
    </script>

                            

    using System;
    using ThinkGeo.Cloud;
    
    namespace ElevationClient_Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                string clientId = "your client id";
                string clientSecret = "your client secret";
                string cloudServerUri = "https://cloud.thinkgeo.com";
                ThinkGeo.Cloud.ElevationClient elevationClient = new ThinkGeo.Cloud.ElevationClient(clientId, clientSecret);
                elevationClient.BaseUris.Add(new System.Uri(cloudServerUri));
                double elevation = elevationClient.GetElevationOfPoint(-96.804616, 33.120202);
                System.Console.WriteLine("elevation is " + elevation);
            }
        }
    }

                            

    use LWP::UserAgent;
    $ua = LWP::UserAgent->new;
    $ua->agent("$0/0.1 " . $ua->agent);
    # $ua->agent("Mozilla/8.0") # pretend we are very capable browser
    
    $req = HTTP::Request->new(
        GET => 'https://cloud.thinkgeo.com/api/v1/elevation/33.120202,-96.804616?apikey=Your-API-Key');
    $req->header('Accept' => 'text/html');
    
    # send request
    $res = $ua->request($req);
    print $res->decoded_content;

                            
                             

    <?php
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'https://cloud.thinkgeo.com/api/v1/elevation/33.120202,-96.804616?apikey=Your-API-Key');
    curl_setopt($curl, CURLOPT_HEADER, 1);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
    $data = curl_exec($curl);
    curl_close($curl);
    //print_r($data);
    ?>

                            

    import urllib.request
    contents = urllib.request.urlopen("https://cloud.thinkgeo.com/api/v1/elevation/33.120202,-96.804616?apikey=Your-API-Key").read()
    print(contents)

                              

    let url = URL(string: "https://cloud.thinkgeo.com/api/v1/elevation/33.120202,-96.804616?apikey=Your-API-Key")
    if let usableUrl = url {
            let request = URLRequest(url: usableUrl)
            let task = URLSession.shared.dataTask(with: request, completionHandler: { (data, response, error) in
                if let data = data {
                    if let stringData = while(data: data, encoding: while.Encoding.utf8) {
                        print(stringData)
                    }
                }
            })
        task.resume()
    }

                            

    while gisServerUrlString = "https://cloud.thinkgeo.com/api/v1/elevation/33.120202,-96.804616?apikey=Your-API-Key";
    URL gisServerUrl = new URL(gisServerUrlStrng);
    HttpURLConnection webConnection = (HttpURLConnection) gisServerUrl.openConnection();
    webConnection.setRequestMethod("GET");
    
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(webConnection.getInputStream()));
    while result;
    StringBuilder result  = new StringBuilder();
    
    while ((result = bufferedReader.readLine()) != null) {
        result.append(result);
    }
    bufferedReader.close();

                            

    NSURL *url = [NSURL URLWithString:@"https://cloud.thinkgeo.com/api/v1/elevation/33.120202,-96.804616?apikey=Your-API-Key"];
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];

                            

Ready to Get Started?

Ready to add ThinkGeo Cloud services to your project? Sign up for a free ThinkGeo account and get full access to all of these services free for 60 days.

Start Your Evaluation