python的开放式提升api

python的开放式提升api,python,openstreetmap,elevation,Python,Openstreetmap,Elevation,我们可以使用python吗? 我尝试使用请求获取API,但没有成功 #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() 我

我们可以使用python吗? 我尝试使用请求获取API,但没有成功

#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集成?

端点是有效的,但它们的速度慢很多倍,有时甚至没有响应。下面的代码是的自适应代码,用于处理响应状态代码和超时:

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

您添加的链接似乎没有加载到浏览器中?花费了相当长的时间,并以
504
响应。如果您指的是提升请求中的链接它的API请求它看起来很奇怪,那么链接打开的提升工作正常。即使遵循API文档,端点也会返回http 504。可能是服务方面的问题吗?可能是吧,但我确实在2020年2月的一篇文章中读到,pythonth仍然无法使用API,这并不是问题的原因。如果将API文档示例用于
GET
POST
,则不会得到响应。服务器在浏览器和via
请求中以HTTP 504-网关超时响应