1

別の場所から指定された距離内にある場所を照会しようとしています。クエリは問題ではありませんが、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 で保存)

これは赤道からの距離 (極円に近い) に関係していると推測していますが、緯度に基づいてこれをより正確に計算する方法が必要ですか、それとも間違っていますか?

4

2 に答える 2

3

「X、Y」を使用してポイントを作成しているようです。
テキストからポイントを作成する場合は、代わりに「Y, X」を使用してください。

詳細については、このMSDN の記事を参照してください。

于 2011-09-17T15:30:13.227 に答える
1

あなたの位置の周りの地球の曲率によりよく適合する別の空間参照識別子を利用してみませんか. SRID 4326 は、他のローカル参照システムほど正確に測定されていない可能性があります

于 2011-08-09T19:56:18.697 に答える