帮我写一个python函数,能够返回两组经纬坐标的地球球面距离
时间: 2023-03-26 21:01:12 浏览: 122
python依据经纬坐标计算两点距离并求图像横纵分辨率(csdn)————程序.pdf
5星 · 资源好评率100%
可以的,以下是一个可以计算两组经纬坐标的地球球面距离的 Python 函数:
```python
from math import radians, sin, cos, sqrt, atan2
def distance_on_earth(lat1, lon1, lat2, lon2):
R = 6371 # 地球半径,单位为千米
lat1, lon1, lat2, lon2 = map(radians, [lat1, lon1, lat2, lon2])
dlat = lat2 - lat1
dlon = lon2 - lon1
a = sin(dlat / 2) ** 2 + cos(lat1) * cos(lat2) * sin(dlon / 2) ** 2
c = 2 * atan2(sqrt(a), sqrt(1 - a))
distance = R * c
return distance
```
其中,`lat1` 和 `lon1` 是第一组经纬度坐标,`lat2` 和 `lon2` 是第二组经纬度坐标,函数返回的是两组坐标之间的地球球面距离,单位为千米。
阅读全文