python输入位置的坐标(即经纬度),计算两点的距离结果保留两位

简介: python输入位置的坐标(即经纬度),计算两点的距离结果保留两位

要计算两点之间的距离,可以使用haversine公式。下面是一个计算两个经纬度之间距离的示例代码:

python复制插入

from math import radians, sin, cos, sqrt, asin
def haversine(lat1, lon1, lat2, lon2):
    # 将经纬度转换为弧度
    lat1 = radians(lat1)
    lon1 = radians(lon1)
    lat2 = radians(lat2)
    lon2 = radians(lon2)
    # haversine公式计算距离
    dlon = lon2 - lon1
    dlat = lat2 - lat1
    a = sin(dlat / 2) ** 2 + cos(lat1) * cos(lat2) * sin(dlon / 2) ** 2
    c = 2 * asin(sqrt(a))
    r = 6371  # 地球平均半径(单位:公里)
    distance = c * r
    return round(distance, 2)
# 示例使用
lat1 = float(input("输入第一个点的纬度:"))
lon1 = float(input("输入第一个点的经度:"))
lat2 = float(input("输入第二个点的纬度:"))
lon2 = float(input("输入第二个点的经度:"))
distance = haversine(lat1, lon1, lat2, lon2)
print("两点之间的距离为:", distance, "公里")

复制插入

在这个示例中,我们定义了一个名为haversine的函数,它接受四个参数:两个点的纬度和经度。函数内部使用haversine公式计算两点之间的距离,并返回结果。我们还使用input函数询问用户输入两个点的经纬度,并将其传递给haversine函数进行计算。最后,我们将结果打印出来,并保留两位小数。

相关文章
|
6天前
|
Python
Datetime模块应用:Python计算上周周几对应的日期
Datetime模块应用:Python计算上周周几对应的日期
27 1
|
7天前
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
27 10
|
6天前
|
数据挖掘 iOS开发 MacOS
利用Python计算农历日期
利用Python计算农历日期
19 4
|
4天前
|
存储 自然语言处理 数据处理
使用Python计算多个集合的交集详解
使用Python计算多个集合的交集详解
14 1
|
6天前
|
小程序 定位技术 Python
Python编程:根据经纬度生成并调用地图
Python编程:根据经纬度生成并调用地图
13 2
|
7天前
|
索引 Python
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧1
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
55 4
|
2天前
|
机器学习/深度学习 算法 数据挖掘
Python 中的计算与应用
Python 中的计算与应用
11 0
|
6天前
|
IDE 开发工具 iOS开发
Python编程案例:中文金额转换并计算
Python编程案例:中文金额转换并计算
12 0
|
2天前
|
存储 人工智能 Java
Python编程入门:从基础到实战
【10月更文挑战第4天】本文旨在为初学者提供一个全面而深入的Python编程学习路径。我们将从Python的基本语法和概念开始,然后逐步深入到更复杂的主题,如数据结构、面向对象编程和异常处理等。最后,我们将通过一些实际的项目案例,帮助读者将理论知识应用到实践中去。无论你是编程新手,还是有一定经验的开发者,都可以在这篇文章中找到适合自己的学习内容。让我们一起开启Python编程的学习之旅吧!
|
1天前
|
存储 人工智能 数据挖掘
探索Python编程:从基础到进阶
【10月更文挑战第5天】在数字时代的浪潮中,掌握编程技能已成为一项宝贵的能力。本文旨在为初学者提供一个深入浅出的Python编程之旅,从基本概念到实际应用,逐步揭示编程之美。无论你是编程新手还是希望深化理解,跟随这篇文章的脚步,你将学会如何用Python语言构建你的第一个程序,并了解代码背后的逻辑。让我们开始吧,解锁编程的秘密,开启你的技术成长之路!