地図上にグリッドが表示されています。私はあなたの場所と地図上の2つのオブジェクトの場所を知っています。グリッド線が交差する場所にオブジェクトが表示されます。地図上のエリアはわずかな距離なので、世界は平らで丸いものではないと考えてください。パフォーマンス上の理由から、三角法と乗算を使用せずに、どのオブジェクトがあなたに最も近いかを判断したいと思います。私は球場表示を取得するだけでなく、正確さを求めているわけでもありません。現在の位置からの緯度と経度の差の最短距離を求めることができるはずです。私のテーブルには、場所は、次のようになります。私の場所は、40 =緯度であると経度= 60T-SQL:マップグリッド上のオブジェクトの最も近い場所を見つける
ID Latitude Longitude
1 50 70
2 30 40
場合は、ID = 1の場所は私に近いだろう。
自分の位置が「緯度= 30」、「経度= 60」の場合、おそらく両方の場所がほぼ同じ距離にあるため、1つだけを選択します。
私の場所が緯度= 30、経度= 50の場合、ID = 2の場所は近くなります。
どのバージョンのSQLがありますか? 2008年の場合は、ジオメトリ関数 – Dibstar
2008を使用することができます。ジオメトリ関数は、直線的な整数比較を行うだけではパフォーマンスが低下しませんか?私の座標は常に整数です。 – AndroidDev
はい、通常はそうですが、51.5228、-0.1028と50.5374、-3.5173と51.228、-0.1028と52.5374、-1.5173 – Dibstar