微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

循环坐标列表并将坐标列表中的位置加一以执行请求

如何解决循环坐标列表并将坐标列表中的位置加一以执行请求

我正在尝试遍历坐标列表以生成路线,我无法一次使用所有坐标,因为我需要单独生成某些值。

所以我的坐标列表被定义为“coords”,看起来像这样:

[[14.21055347,47.5674345],[16.39356558,48.17711001],[14.21055347,[16.29236955,48.15006768],[16.32467573,48.13840484],[16.147533399999997,48.3067388],[14.502926,48.19992600000001],[16.30826472,48.13786834],[15.92248574,47.65823679],[16.40964033,48.18617251],[16.393805666666665,48.26835166666667],[16.393009142857142,48.26821028571428],[16.19483273,47.75397909],[13.717176157894738,48.01453281578947]]

调用路由数据的代码为:

body = {"coordinates":coords,"attributes":["percentage"],"extra_info":["waycategory"]}

headers = {
    'Accept': 'application/json,application/geo+json,application/gpx+xml,img/png; charset=utf-8','Content-Type': 'application/geo+json; charset=utf-8'
}
call = requests.post('http://127.0.0.1:8080/ors/v2/directions/driving-hgv/geojson',json=body,headers=headers)

weiter = call.text

data = json.loads(weiter)

上面的代码获取整个坐标列表并请求路由并生成数据。我实际上需要为每个坐标对 (coords[x,x+1]) 生成路由和打印数据。所以我会生成以下请求:

[[14.21055347,48.17711001]],[[16.39356558,47.5674345]],etc.

所以我的猜测是有一个循环来遍历身体:

i = 0

while i < len(coords):
    
    body = {"coordinates":coords[int(i),int(i+1)],"extra_info":["waycategory"]}

    headers = {
    'Accept': 'application/json,'Content-Type': 'application/geo+json; charset=utf-8'
    }
    call = requests.post('http://127.0.0.1:8080/ors/v2/directions/driving-hgv/geojson',headers=headers)

    weiter = call.text

    data = json.loads(weiter)

    print(data)

我尝试过的这种方法和其他方法都不起作用 - 如果您对我如何继续提出建议,我将不胜感激!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。