Obliczanie odległości między dwoma punktami (szerokość, długość)

Próbuję obliczyć odległość między dwoma pozycjami na mapie. Zapisałem w moich danych: długość geograficzna, szerokość geograficzna, X POS, Y POS.

Wcześniej korzystałem z poniższego fragmentu.

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

Nie ufam jednak danych pochodzących z tego, wydaje się, że daje nieco niedokładne wyniki.

Niektóre przykładowe dane na wypadek, gdyby były potrzebne

Latitude        Longitude     Distance 
53.429108       -2.500953     85.2981833133896

Czy ktokolwiek mógłby mi pomóc z moim kodem, nie mam nic przeciwko, jeśli chcesz naprawić to, co już mam, jeśli masz nowy sposób na osiągnięcie tego, co byłoby świetne.

Proszę podać, w jakiej jednostce pomiaru znajdują się Twoje wyniki.

questionAnswers(6)

yourAnswerToTheQuestion