Advertisement

python 计算经纬度和大地的距离

阅读量:

python 计算经纬度距离,大地距离

近期在进行GPS轨迹数据挖掘相关工作时,需要计算两个点之间的球面距离,即大地距离。在网络上未能找到合适的代码实现,因此自行编写了该算法。

首先给出计算公式:
对于点A与点B而言,
两点间的距离D可通过以下方式计算:D = arccos[(sin北纬A × sin北纬B) + (cos北纬A × cos北纬B × cosAB两地经度差)] × 地球平均半径(Shormin)。其中,地球的平均半径取值为6371.004 km,单位为千米。

代码实现如下:

复制代码
    // An highlighted block
    import numpy as np
    
    def get_dis(pt1_:np.ndarray,pt2_:np.ndarray):
    """并行计算多点 距离"""
    R = 6371.004 # 地球半径
    pt1, pt2 = np.copy(pt1_[:,:2]), np.copy(pt2_[:,:2])
    pt1[:,1], pt2[:,1] = 90-pt1_[:,1], 90-pt2_[:,1] # 公式要求对纬度处理
    pt1, pt2 = np.radians(pt1), np.radians(pt2) # 角度转弧度
    a = 

全部评论 (0)

还没有任何评论哟~