【830】计算bearing值

发布时间 2023-04-12 10:31:23作者: McDelfino

参考:Formula to Find Bearing or Heading angle between two points: Latitude Longitude


计算三角函数的时候,需要将经纬度的度数转换为弧度制,最后再将计算出来的弧度制转换为角度

def bearing_lonlat(phi_1, phi_2, lambda_1, lambda_2):
    delta = lambda_2 - lambda_1
    X = math.sin(math.radians(delta)) * math.cos(math.radians(phi_2))
    Y = math.cos(math.radians(phi_1)) * math.sin(math.radians(phi_2)) - math.sin(math.radians(phi_1)) * math.cos(math.radians(phi_2)) * math.cos(math.radians(delta))
    b = math.degrees(math.atan2(X, Y)) 
    
    return b