Public Function Radian(a As Double) As Double
  Dim Ra As Double
  Dim c As Double
  Dim FS As Double
  Dim Ib As Integer
  Dim Ic As Integer
  Ra = pi / 180#
  Ib = Int(a)
  c = (a - Ib) * 100#
  Ic = Int(c)
  FS = (c - Ic) * 100#
  Radian = (Ib + Ic / 60# + FS / 3600#) * Ra
End Function
'弧度化角度
Public Function Degree(a As Double) As Double
  Dim B As Double
  Dim Fs1 As Double
  Dim Im1 As Integer
  Dim Id1 As Integer
  B = a
  Call DMS(B, Id1, Im1, Fs1)
  Degree = Id1 + Im1 / 100# + Fs1 / 10000#
End Function
Public Sub DMS(a As Double, ID As Integer, IM As Integer, FS As Double)
  Dim B As Double
  Dim c As Double
  c = a
  c = 180# / pi * c
  ID = Int(c + 0.0000005)
  B = (c - ID) * 60 + 0.0005
  IM = Int(B)
  FS = (B - IM) * 60
End Sub
'计算两点间的方位角
Public Function azimuth(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Single
  Dim dx As Double
  Dim dy As Double
  Dim fwj As Double
  dx = x2 - x1
  dy = y2 - y1
  If dy <> 0 Then
    fwj = pi * (1 - Sgn(dy) / 2) - Atn(dx / dy)
    azimuth = Degree(fwj)
  Else
    If dx > 0 Then
      azimuth = 0
    Else
      azimuth = 180
    End If
  End If
End Function