Python 如何根据两个坐标之间的距离添加列表?

Python 如何根据两个坐标之间的距离添加列表?,python,loops,append,geopy,Python,Loops,Append,Geopy,我试图根据两个lat/lon坐标之间的距离添加一个数字列表。如果我有lat和lon的列表,以及点和它们各自的lat和lon的压缩数组,我如何编写一个循环来附加两个坐标之间的距离小于500的点?我尝试了下面的方法,但不断出错。有什么建议吗 import geopy.distance latH = [25.5, 29.0, 27.2, 26.0, 30.1, 25.7, 26.3, 35.5] lonH = [-84.3, -85.0, -85.6, -90.3, -89.0, -89.7, -

我试图根据两个lat/lon坐标之间的距离添加一个数字列表。如果我有lat和lon的列表,以及点和它们各自的lat和lon的压缩数组,我如何编写一个循环来附加两个坐标之间的距离小于500的点?我尝试了下面的方法,但不断出错。有什么建议吗

import geopy.distance

latH = [25.5, 29.0, 27.2, 26.0, 30.1, 25.7, 26.3, 35.5] 
lonH = [-84.3, -85.0, -85.6, -90.3, -89.0, -89.7, -90.5, -86.2]

rain = [([29816.0, 24387, 33155.0, 32062.0, 31251.0],26.1915, -80.4492), ([30954.0, 31251.0, 32366.0, 32062.0] 26.1297, -81.7625)]
rain2 = []
for j in range(len(rain)):
    appendres = []
    for k in range(len(rain[j][0]):
        for i in range(len(latH)):
            if geopy.distance.distance((rain[j][1],rain[j][2]),(latH[i],lonH[i])).km <= 500.0:
                appendres.append(rain[k])
    rain2.append(appendres)
import geopy.distance
板条=[25.5,29.0,27.2,26.0,30.1,25.7,26.3,35.5]
lonH=[-84.3,-85.0,-85.6,-90.3,-89.0,-89.7,-90.5,-86.2]
雨水=[([29816.02438733155.032062.031251.0],26.1915,-80.4492),([30954.031251.032366.032062.0]26.1297,-81.7625)]
rain2=[]
对于范围内的j(长(雨)):
附录=[]
对于范围内的k(len(rain[j][0]):
对于范围内的i(长度(板条)):
如果地理距离((rain[j][1],rain[j][2]),(latH[i],lonH[i]).km这适合你吗

from geopy.distance import distance

latH = [25.5, 29.0, 27.2, 26.0, 30.1, 25.7, 26.3, 35.5] 
lonH = [-84.3, -85.0, -85.6, -90.3, -89.0, -89.7, -90.5, -86.2]

rain = [([29816.0, 24387, 33155.0, 32062.0, 31251.0], 26.1915, -80.4492), ([30954.0, 31251.0, 32366.0, 32062.0], 26.1297, -81.7625)]
rain2 = []

#   Since all your arrays are the same length...
for lat, lon in zip(latH, lonH):
    arr = []
    for data, lat_2, lon_2 in rain:
        if distance((lat, lon), (lat_2, lon_2)).km < 500:
            arr.append(data)
    rain2.append(arr)

print(rain2)
[[[29816.0, 24387, 33155.0, 32062.0, 31251.0], [30954.0, 31251.0, 32366.0, 32062.0]], [[30954.0, 31251.0, 32366.0, 32062.0]], [[30954.0, 31251.0, 32366.0, 32062.0]], [], [], [], [], []]
来自geopy.distance导入距离
板条=[25.5,29.0,27.2,26.0,30.1,25.7,26.3,35.5]
lonH=[-84.3,-85.0,-85.6,-90.3,-89.0,-89.7,-90.5,-86.2]
雨水=[([29816.02438733155.032062.031251.0],26.1915,-80.4492),([30954.031251.032366.032062.0],26.1297,-81.7625)]
rain2=[]
#由于所有数组的长度都相同。。。
对于拉长、拉长拉链(拉长、拉长):
arr=[]
对于数据,lat_2,lon_2在雨中:
如果距离((lat,lon),(lat_2,lon_2)).km<500:
arr.append(数据)
rain2.追加(arr)
打印(rain2)
[[[29816.0, 24387, 33155.0, 32062.0, 31251.0], [30954.0, 31251.0, 32366.0, 32062.0]], [[30954.0, 31251.0, 32366.0, 32062.0]], [[30954.0, 31251.0, 32366.0, 32062.0]], [], [], [], [], []]
我写了一个与你的行为相似的代码,没有任何语法问题,对我来说意图更明确。但由于我们无法启动你的代码,你也没有提供想要的输出…我不能确定