Advertisement
Willcode4cash

Find coordinates within a given radius

Jul 3rd, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 0.85 KB | None | 0 0
  1. -- 60       => minutes/degree
  2. -- 1.1515   => statute miles/nautical mile
  3. -- 1.609344 => km/mile
  4. -- Town table is where your latitude and longitude information are stored
  5.  
  6. DECLARE @Latitude                       FLOAT = 40.646667,
  7.         @Longitude                      FLOAT = -83.608611,
  8.         @MinutesPerDegree               FLOAT = 60.0,
  9.         @StatuteMilesPerNauticalMile    FLOAT = 1.1515,
  10.         @KilometersPerMile              FLOAT = 1.609344,
  11.         @multiplier                     FLOAT = @MinutesPerDegree * @StatuteMilesPerNauticalMile * @KilometersPerMile
  12.  
  13. SELECT * FROM (
  14.     SELECT
  15.         TownID,
  16.         Name,
  17.         (((
  18.             ACOS(
  19.                 SIN((@Latitude * pi() / 180)) *
  20.                 SIN((Latitude  * pi() / 180)) +
  21.                 COS((@Latitude * pi() / 180)) *
  22.                 COS((Latitude  * pi() / 180)) *
  23.                 COS((@Longitude - Longitude) * pi() / 180))
  24.             ) * 180 / pi()
  25.         ) * @multiplier
  26.     ) AS DistanceKM
  27.     FROM Town
  28. ) t
  29. WHERE Distance <= 75
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement