概要
vbsの作法調べてみた。
2点間の距離と方位角やってみた。
参考にしたページ
サンプルコード
Dim pi
PI = 4 * Atn(1)
msgbox PI
Function Atan2(y, x)
If x = 0 Then
If y > 0 Then
Atan2 = PI / 2
Else
Atan2 = -PI / 2
End if
Else
Atan2 = Atn(y / x)
If x < 0 Then
If y >= 0 Then
Atan2 = Atan2 + PI
Else
Atan2 = Atan2 - PI
End if
End if
End If
If Atan2 < 0 Then Atan2 = Atan2 + 2 * PI
End Function
Function Dist(i0, k0, i1, k1)
Rx = 6378137
E2 = 6.69437999019758E-03
di = i1 - i0
dk = k1 - k0
i = (i0 + i1) / 2
W = Sqr(1 - E2 * Sin(i * Pi / 180) ^ 2)
M = Rx * (1 - E2) / W ^ 3
N = Rx / W
Dist = Sqr((di * PI / 180 * M) ^ 2 + (dk * PI / 180 * N * Cos(i * PI / 180)) ^ 2)
End Function
Function Dir(i0, k0, i1, k1)
Rx = 6378137
E2 = 6.69437999019758E-03
di = i1 - i0
dk = k1 - k0
i = (i0 + i1) / 2
W = Sqr(1 - E2 * Sin(i * PI / 180) ^ 2)
M = Rx * (1 - E2) / W ^ 3
N = Rx / W
ddi = di * PI / 180 * M
ddk = dk * PI / 180 * N * Cos(i * PI / 180)
a = Atan2(ddi, ddk) * 180 / PI + 360
If (a >= 360) Then a = a - 360
Dir = a
End Function
msgbox Dist(35.0, 140.0, 36.0, 140.0)
msgbox Dir(35.0, 140.0, 36.0, 140.0)
方位角がおかしい。
以上。