现在有个文件里面是许多列的经纬度,需要遍历求其距离
时间: 2024-02-16 15:03:10 浏览: 28
如果您需要遍历一个包含多个经纬度的文件,并计算它们之间的距离,可以使用 Python 中的 pandas 库来读取文件,并使用前面提到的 haversine 函数计算经纬度之间的距离。
以下是一个示例代码,可以读取包含经纬度的 CSV 文件,并计算它们之间的距离:
```python
import pandas as pd
# 读取包含经纬度的 CSV 文件
df = pd.read_csv('locations.csv')
# 计算每个点与其他点之间的距离
for i, row1 in df.iterrows():
for j, row2 in df.iterrows():
if i >= j:
continue
dist = haversine(row1['lon'], row1['lat'], row2['lon'], row2['lat'])
print(f"Distance between ({row1['lon']}, {row1['lat']}) and ({row2['lon']}, {row2['lat']}) is {dist:.2f} km.")
```
在这个示例中,我们使用 pandas 库读取包含经纬度的 CSV 文件,并使用 iterrows() 方法遍历每一行。对于每一对不同的点,我们调用 haversine 函数计算它们之间的距离,并打印出结果。
请注意,这段代码的时间复杂度为 O(n^2),因为它需要计算每一对不同的点之间的距离。对于大型数据集,这可能会很慢。如果您需要更快的计算方法,请考虑使用 KD 树等数据结构来加速计算。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)