System.Device.Location.GeoCoordinate.GetDistanceTo(...) を逆コンパイルしたところ、計算ステップの 1 つとして地球の半径を指定する Haversine 式が使用されていることがわかりました。
逆コンパイルされたコードで指定された半径は6376500.0
(メートル) です。
MSDN では、GetDistanceTo のドキュメントに次のコメントがあります。
Haversine 式は地球の曲率を説明しますが、楕円体ではなく球状の地球を想定しています。
ウィキペディアは次のように述べています
地球を球としてモデル化するいくつかの異なる方法は、それぞれ平均半径 6,371 キロメートルをもたらします
また、どこを検索しても、半径をkmと指定している人はほとんど見つかりません。6,376.5
そのため、かなり近いにもかかわらず、GetDistanceTo
では6,376.5
km を使用しますが、広く受け入れられている半径は6,371
km です。違いはなぜですか?の作成者はGetDistanceTo
、地球の半径を近似するためのより良い方法を見つけましたか?