使用python计算两地之间的距离

编程入门 行业动态 更新时间:2024-10-27 06:28:24

使用python计算<a href=https://www.elefans.com/category/jswz/34/1675592.html style=两地之间的距离"/>

使用python计算两地之间的距离

已知两地经纬度的情况下,可以使用Python中的geopy库来计算两地之间的距离,具体代码如下:

from geopy.distance import geodesic# 两地经纬度
lat1 = 39.9042     # 纬度1
lon1 = 116.4074    # 经度1
lat2 = 31.2304     # 纬度2
lon2 = 121.4737    # 经度2# 创建位置
location1 = (lat1, lon1)
location2 = (lat2, lon2)# 计算距离
distance = geodesic(location1, location2).kilometers
print("两地的距离为:", distance, "千米")

如果想以“米”为单位计算两地的距离,只需把

distance = geodesic(location1, location2).kilometers

修改为:

distance = geodesic(location1, location2).meters

即可。

如果 有一个包含了很多个经纬度的DataFrame,我们想要计算其两两之间的距离,并将距离存入新的df中,并按距离的生序进行排列,可使用如下代码实现:

import pandas as pd
from geopy.distance import geodesic# 创建示例DataFrame
df = pd.DataFrame({'Latitude': [39.9042, 31.2304, 40.7128],'Longitude': [116.4074, 121.4737, 74.0060]
})# 创建新的DataFrame来存储距离
distance_df = pd.DataFrame(columns=['LocationA', 'LocationB', 'Distance'])# 计算两两之间的距离
for i in range(len(df)):for j in range(i+1, len(df)):location_a = (df['Latitude'][i], df['Longitude'][i])location_b = (df['Latitude'][j], df['Longitude'][j])distance = geodesic(location_a, location_b).kilometersdistance_df = distance_df.append({'LocationA': i, 'LocationB': j, 'Distance': distance},ignore_index=True)# 按距离生序排列
distance_df = distance_df.sort_values('Distance')print(distance_df)

更多推荐

使用python计算两地之间的距离

本文发布于:2024-02-08 22:04:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1675589.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:两地   距离   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!