注意:想要计算地球上两个点的距离可以去看半正矢公式!
计算地球上的两个点之间的经度差和纬度差,以米输出,直接看代码,运行代码后,你会得到纬度误差和经度误差的结果!
import numpy as np
# 地球平均半径,单位:千米
R = 6371.393
# 经纬度数据
lat1 = 39.890115
lon1 = 116.295794
lat2 = 31.212544
lon2 = 121.400053
# 将角度转换为弧度
lat1_rad = np.deg2rad(lat1)
lon1_rad = np.deg2rad(lon1)
lat2_rad = np.deg2rad(lat2)
lon2_rad = np.deg2rad(lon2)
# 计算纬度差(度)
d_lat = lat2 - lat1
# 计算经度差(度)
d_lon = lon2 - lon1
# 计算纬度误差(以米为单位)
lat_errors = d_lat * 111.2018 * 1000 # 每度纬度差的实际距离为 111.2018 公里
# 计算纬度中间值的余弦值
mid_lat_rad = (lat1_rad + lat2_rad) / 2
# 计算经度误差(以米为单位)
lon_errors = d_lon * 111.3195 * np.cos(mid_lat_rad) * 1000 # 每度经度差的实际距离调整为米
# 输出结果
print(f'两点之间的纬度误差(米):{lat_errors:.2f}')
print(f'两点之间的经度误差(米):{lon_errors:.2f}')
代码解释
-
地球半径:
- 设定地球平均半径 RRR 为 6371.393 千米。
-
经纬度数据:
- 设定两个点的经纬度数据。
-
角度转换为弧度:
- 使用
numpy
的np.deg2rad
函数将角度转换为弧度。
- 使用
-
计算纬度差:
- 直接计算两个点的纬度差,并转换为米。
-
计算经度差:
- 使用经度差和纬度的平均值来计算经度误差。经度误差的实际距离随着纬度变化而变化。
-
输出结果:
- 打印计算得到的纬度和经度误差。