-2

How do I calculate distance between two latitude, longitude points in miles using standard SQL without trigonometry?

Thomas Dickey
  • 51,086
  • 7
  • 70
  • 105
LearningHero
  • 41
  • 2
  • 6

1 Answers1

0

Without trig you get incorrect results. Find an explanation with answer, formula and example here:

https://jonisalonen.com/2014/computing-distance-between-coordinates-can-be-simple-and-fast

Approximation without precision and trig

DECLARE @SqDegreeLatInMiles  AS REAL = 4774.81
DECLARE @SqDegreeLongInMiles AS REAL = 2809

-- VA, Zip=23452
DECLARE @Point_A_Lat AS REAL = 36.8366
DECLARE @Point_A_Long AS REAL = 76.0952

-- TX, Zip=75225
DECLARE @Point_B_Lat AS REAL = 32.8644
DECLARE @Point_B_Long AS REAL = 96.7946

DECLARE @DistanceInMiles AS REAL

SET @DistanceInMiles = SQRT (@SqDegreeLatInMiles * POWER(@Point_A_Lat - @Point_B_Lat,2) + @SqDegreeLongInMiles * POWER(@Point_A_Long - @Point_B_Long,2))
PRINT @DistanceInMiles
dbCoder
  • 114
  • 5