首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >python的open-elevation api

python的open-elevation api
EN

Stack Overflow用户
提问于 2021-01-16 17:21:24
回答 2查看 652关注 0票数 2

我们可以在python中使用open-elevation吗?我尝试使用request获取API,但没有成功

代码语言:javascript
代码运行次数:0
运行
复制
#overpass api url
elevation_request = "https://api.open-elevation.com/api/v1/lookup\?locations\=10,10\|20,20\|41.161758,-8.583933"
elevation = requests.get(elevation_request)
data_json = elevation.json()

如何将此API与python集成?

EN

回答 2

Stack Overflow用户

发布于 2021-02-15 20:05:05

端点是有效的,但它们的速度很慢,有时甚至没有响应。以下代码是对this answer的修改,用于处理响应状态码和超时:

代码语言:javascript
代码运行次数:0
运行
复制
from requests import get
from pandas import json_normalize

def get_elevation(lat = None, long = None):
    '''
        script for returning elevation in m from lat, long
    '''
    if lat is None or long is None: return None
    
    query = ('https://api.open-elevation.com/api/v1/lookup'
             f'?locations={_lat},{_long}')
    
    # Request with a timeout for slow responses
    r = get(query, timeout = 20)

    # Only get the json response in case of 200 or 201
    if r.status_code == 200 or r.status_code == 201:
        elevation = json_normalize(r.json(), 'results')['elevation'].values[0]
    else: 
        elevation = None
    return elevation
票数 1
EN

Stack Overflow用户

发布于 2021-08-08 01:43:57

我是https://open-elevation.com的作者。

服务现在应该可以更可靠地工作了。

可悲的是,这项服务被免费广泛使用,但捐赠的方式很少,所以我无法正确升级它来处理负载。接下来的一个月的迁移(我每个月都会从口袋里掏出更多的钱)缓解了这种情况,但我不能告诉你它会持续多久。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65748099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档