可以使用geopy库来计算两点之间的距离。你可以按照以下步骤安装这个库:

在命令行中运行以下命令:

pip install geopy
 

安装完成后,可以使用下面的代码来计算两点之间的距离并保留两位小数:

from geopy.distance import geodesic

# 输入两点的经纬度
lat1 = float(input("请输入第一个位置的纬度: "))
lon1 = float(input("请输入第一个位置的经度: "))

lat2 = float(input("请输入第二个位置的纬度: "))
lon2 = float(input("请输入第二个位置的经度: "))

# 使用geodesic函数计算两点之间的距离
distance = round(geodesic((lat1, lon1), (lat2, lon2)).km, 2)

# 输出结果
print("两点之间的距离为:", distance, "公里")
 

这个代码会先要求输入两个点的纬度和经度,然后使用geodesic函数计算两点之间的距离,并保留两位小数。最后输出结果。

在 Python 中,你可以使用 math 模块中的 radians 函数将经纬度从度数转换为弧度,然后使用 Haversine 公式来计算两点之间的地理距离。Haversine 公式考虑了地球的曲率,因此非常适合用于计算经纬度之间的距离。

以下是一个示例代码,它接受两个点的经纬度作为输入,并计算它们之间的距离,结果保留两位小数:

 

python复制代码

import math
def haversine(lon1, lat1, lon2, lat2):
# 将经纬度从度数转换为弧度
lon1, lat1, lon2, lat2 = map(math.radians, [lon1, lat1, lon2, lat2])
# Haversine 公式
dlon = lon2 - lon1
dlat = lat2 - lat1
a = math.sin(dlat/2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon/2)**2
c = 2 * math.asin(math.sqrt(a))
# 地球半径(以千米为单位)
R = 6371
# 计算距离
distance = c * R
return round(distance, 2) # 保留两位小数
# 示例输入
lon1, lat1 = input("请输入第一个点的经度(longitude)和纬度(latitude),用空格分隔: ").split()
lon2, lat2 = input("请输入第二个点的经度(longitude)和纬度(latitude),用空格分隔: ").split()
# 将输入转换为浮点数
lon1, lat1, lon2, lat2 = float(lon1), float(lat1), float(lon2), float(lat2)
# 计算距离
distance = haversine(lon1, lat1, lon2, lat2)
print(f"两点之间的距离是: {distance} 千米")

在这个代码中,haversine 函数接受四个参数:两个点的经度和纬度。它首先将这些值从度数转换为弧度,然后使用 Haversine 公式计算两点之间的球面距离。最后,使用 round 函数将结果保留到小数点后两位。

注意,这个计算假设地球是一个完美的球体,并且忽略了地球表面的地形变化。对于大多数应用场景来说,这种假设是足够的。如果你需要更高的精度,可能需要考虑使用更复杂的地球模型或专门的地理空间库。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐