1
ST_Distance_Sphereのデフォルトの地球半径はどこから来ますか?
MySQLのドキュメントでは ST_Distance_Sphere 計算では、球状の地球と構成可能な半径を使用します。オプションの半径引数はメートル単位で指定する必要があります。省略した場合、デフォルトの半径は6,370,986メートルです。radius引数が存在するが正ではない場合、ER_WRONG_ARGUMENTSエラーが発生します。 PostGISはのドキュメントで述べてST_Distance_Sphereいます(ドキュメントはもう正確ではありませんが) 球状の地球と6370986メートルの半径を使用します。 どこからデフォルトの6,370,986メートルを取得しましたか? WGS84によると、長軸半径は6,378,137.0 mです。現在、平均半径を使用しているPostGISは、基本的に6371008を使用しています。 コードを見る #define WGS84_MAJOR_AXIS 6378137.0 #define WGS84_INVERSE_FLATTENING 298.257223563 #define WGS84_MINOR_AXIS (WGS84_MAJOR_AXIS - WGS84_MAJOR_AXIS / WGS84_INVERSE_FLATTENING) #define WGS84_RADIUS ((2.0 * WGS84_MAJOR_AXIS + WGS84_MINOR_AXIS ) / 3.0) つまり -- SELECT 6378137.0 - 6378137.0 / 298.257223563; WGS84_MINOR_AXIS = 6356752.314245179498 -- SELECT ( 2.0 * 6378137.0 + …