別の場所から指定された距離内にある場所を照会しようとしています。クエリは問題ではありませんが、geography.STDistance によって返される距離は問題です。
STDistance
赤道に近い場所ではかなり正確な計算ができるようですが、北欧諸国の場所で作業するにはこれが必要です。ノルウェー、スウェーデン、フィンランドなど...
私の計算によると、スウェーデン北部の場所で、距離は約 2.38 倍間違っています?! 期待される結果は 1070 メートルで、返される距離は 2537,28850694302 メートルです
私のクエリは次のようになります。
DECLARE @g geography = geography::STGeomFromText('POINT(65.580254 22.179428)', 4326)
SELECT name, [pos].STSrid as srdi, [pos].STDistance(@g) as d
FROM [GPSCHAT].[dbo].[USERS]
「他の場所」の座標は (65,578541 22,202286) (SRID 4326 で保存)
これは赤道からの距離 (極円に近い) に関係していると推測していますが、緯度に基づいてこれをより正確に計算する方法が必要ですか、それとも間違っていますか?