0

GPS座標から10進度を計算するために使用している式があります。

GPS 座標: 3800.5825,N 08735.5417,W

方式:

Private Function DMStoDD(ByVal toConvert As Double, ByVal Dir As String) As Double
    Dim DD As Double
    Dim deg As Double
    Dim min As Double
    Dim sec As Double
    deg = CDbl(toConvert.ToString.Substring(0, 2))
    min = CDbl(toConvert.ToString.Substring(2, 2))
    sec = CDbl(toConvert.ToString.Split(".")(1)) * 0.01
    DD = deg + (min / 60) + (sec / 3600)
    'Negative for West
    If Dir = "W" Then DD = DD * -1
    Return DD
End Function

戻り値: 38.0161805555556 -87.5983805555556 (西の負) 結果は非常に近いですが、完全には正しくありません。私は、彼らが実際に落ちるべき場所のほんの少しだけ北西にあると信じています. 私は多くの異なる式を検索して調べましたが、私が読んだものから、私のものは正しいはずだと思います. 助けてくれてありがとう。

4

1 に答える 1

1

あなたの数式は、秒の部分が間違っているように見えます! DMS から度数への変換を試みます。ただし、座標は DM 表記 ( 度 + 10 進数の分) です。

そのため、DM から DEG への変換が必要です。
08735.5417,W = 87度 35.5147 分 W

87 + 35.5147/60 を実行してから、-1 を掛けます。

于 2013-04-11T23:54:05.217 に答える