地図上の2つの位置間の距離を計算しようとしています。私はデータに保存しました:経度、緯度、X POS、Y POS。
以前は以下のスニペットを使用しています。
DECLARE @orig_lat DECIMAL
DECLARE @orig_lng DECIMAL
SET @orig_lat=53.381538 set @orig_lng=-1.463526
SELECT *,
3956 * 2 * ASIN(
SQRT( POWER(SIN((@orig_lat - abs(dest.Latitude)) * pi()/180 / 2), 2)
+ COS(@orig_lng * pi()/180 ) * COS(abs(dest.Latitude) * pi()/180)
* POWER(SIN((@orig_lng - dest.Longitude) * pi()/180 / 2), 2) ))
AS distance
--INTO #includeDistances
FROM #orig dest
ただし、これからのデータは信用できません。わずかに不正確な結果が出ているようです。
必要な場合のサンプルデータ
Latitude Longitude Distance
53.429108 -2.500953 85.2981833133896
誰かが私のコードを手伝ってくれませんか?これを達成するための新しい方法が素晴らしいとしたら、私がすでに持っているものを修正してもよろしいですか?
結果の測定単位を明記してください。