帮我用python写一个循环代码,用于计算520条轨迹每条轨迹之间的距离,并且打印出来
时间: 2023-03-30 09:01:36 浏览: 93
好的,我可以回答这个问题。以下是用 Python 编写的循环代码,用于计算 520 条轨迹之间的距离并打印出来:
```
import math
# 假设轨迹数据存储在一个列表中,每个元素都是一个包含经纬度信息的元组
traces = [(lat1, lon1), (lat2, lon2), ..., (lat520, lon520)]
# 定义一个函数,用于计算两个经纬度之间的距离
def distance(lat1, lon1, lat2, lon2):
R = 6371 # 地球半径,单位为千米
dlat = math.radians(lat2 - lat1)
dlon = math.radians(lon2 - lon1)
a = math.sin(dlat/2) * math.sin(dlat/2) + math.cos(math.radians(lat1)) \
* math.cos(math.radians(lat2)) * math.sin(dlon/2) * math.sin(dlon/2)
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
return R * c
# 计算每条轨迹之间的距离并打印出来
for i in range(len(traces)):
for j in range(i+1, len(traces)):
dist = distance(traces[i][], traces[i][1], traces[j][], traces[j][1])
print(f"轨迹{i+1}和轨迹{j+1}之间的距离为{dist:.2f}千米")
```
希望这个代码能够帮到你!
阅读全文