2012-11-08 5 views
0

excel에서 P1 (lat1, long2)과 P2 (lat2 long2)가있는 2 개 지점 사이의 북쪽에서 방향을 계산하고 싶습니다.excel에서 위도와 경도로 표제를 계산

+5

그런 일을하는 데 정확히 어떤 문제가 있습니까? 몇 초가 걸렸습니다. Google이 나에게이 사실을 알렸습니다. http://www.movable-type.co.uk/scripts/latlong.html –

답변

0

저는 햄 라디오 계산에 사용되는 기능이 있습니다. "순수한"공식은 나에게 너무 부피가 크다.

Function BearingFromCoord(lat_base_deg, long_base_deg, lat_dest_deg, long_dest_deg As Single) As Long 
    Dim rad_deg_factor As Single 
    Dim long_diff As Single 
    Dim frac0 As Single 
    Dim frac1 As Single 
    Dim frac2 As Single 
    Dim lat_base As Single 
    Dim long_base As Single 
    Dim lat_dest As Single 
    Dim long_dest As Single 
    Dim bearing As Single 

    rad_deg_factor = 360/(2 * pi()) 

    long_diff = (long_base_deg - long_dest_deg)/rad_deg_factor 
    lat_base = lat_base_deg/rad_deg_factor 
     lat_dest = lat_dest_deg/rad_deg_factor 
      frac0 = Sin(lat_base) * Sin(lat_dest) _ 
       + Cos(lat_base) * Cos(lat_dest) _ 
       * Cos(long_diff) 
      bearing = rad_deg_factor * Application.WorksheetFunction.Acos((Sin(lat_dest) _ 
         - Sin(lat_base) * frac0) _ 
        /(Cos(lat_base) * Sin(WorksheetFunction.Acos(frac0)))) 
      If Sin(long_diff) < 0 Then 
      BearingFromCoord = bearing 
      Else 
      BearingFromCoord = 360 - bearing 
      End If 
End Function 

Private Function pi() As Single 
    pi = 3.1415926535 
End Function 
관련 문제