编写一个计算并打印地球上两点的大圆弧距离的Python程序。该程序接收用户的4个输入x1、y1、x2、y2(分别表示地球上两个点的纬度和经度,单位是度)。大圆弧距离计算公式为(单位是英里) 其中R=69.1105英里,1英里=1.609km。请计算所给坐标之间的大圆弧距离,单位是千米。(注意,sin、cos函数输入的是弧度值, 而程序中给的是角度值,需要转换。arccos结果是弧度值,需要转化成角度值)。
时间: 2023-05-29 20:05:49 浏览: 235
python依据经纬坐标计算两点距离并求图像横纵分辨率(csdn)————程序.pdf
5星 · 资源好评率100%
```python
import math
x1 = float(input("请输入第一个点的纬度:"))
y1 = float(input("请输入第一个点的经度:"))
x2 = float(input("请输入第二个点的纬度:"))
y2 = float(input("请输入第二个点的经度:"))
R = 69.1105
x1 = math.radians(x1)
y1 = math.radians(y1)
x2 = math.radians(x2)
y2 = math.radians(y2)
d = R * math.acos(math.sin(x1) * math.sin(x2) + math.cos(x1) * math.cos(x2) * math.cos(y1 - y2))
d_km = d * 1.609
print("所给坐标之间的大圆弧距离为:", d_km, "千米")
```
示例输出:
```
请输入第一个点的纬度:39
请输入第一个点的经度:116
请输入第二个点的纬度:40
请输入第二个点的经度:117
所给坐标之间的大圆弧距离为: 183.8053721837037 千米
```
阅读全文