How accurate is the Open-Elevation API?

I'm trying to follow this example (except with s=1000 to get high-accuracy data), and get the following elevation profile:


However, using Google Earth Pro, I get a much finer elevation profile (the accuracy of the start and end points appear OK):


Do we know why that is? Does Google use a different dataset, or does it essentially apply some interpolation to the results I get with the open-elevation API? The location is Greece in case that matters.

I'm also unable to set s=2000 or higher for some reason, so I can't increase the resolution more apparently:

Traceback (most recent call last):
  File "/Users/username/Desktop/Radio Astronomy/linkCoverage/example_elevation.py", line 64, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 641, in http_response
    'http', request, response, code, msg, hdrs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 503, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request

The example you cribbed from claims that OpenElevation API uses 1 arc-second SRTM data (about 30M spacing), which should give a result much closer to what you are seeing from Google. However, a comment to this answer on GIS.SE says that the host-your-own package provides a script to load 250M data, which would give a result more like what you're seeing. Perhaps that's what the public API is providing as well.

OpenTopoData.org has a very similar interface, though it does limit you to 100 points per call, 1 call per second, 1000 calls per day. They have 30M or better resolution world-wide.

  • When you say "give a result much closer to what you are seeing from Google", do you mean the SRTM dataset is coarser/finer than Google's, or something else? I'm guessing OpenElevation (whether via the Public API or self-hosted) cannot give me much finer results. I'll look into OpenTopoData in the hopes of getting more accurate elevation profiles, cheers! – 0xCoto May 3 at 16:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.