0

i am trying to create a web service for our mobile developers.

I have database of coordinates of locations. How do I return the result of nearby coordinates given a coordinate? Lets say within a radius of 100 miles.

Any idea?

JayVDiyk
  • 4,277
  • 22
  • 70
  • 135

1 Answers1

1
  1. Create an empty array.
  2. For each location, test whether the location is say within a radius of 100 miles of your coordinate. If it is, add that location to the array.
  3. Convert the array to a format applicable for the webservice, e. g. SOAP or JSON.
  4. Output the converted array

The distance in meters between to points with coordinates (lat1|lng1) and (lat2|lng2) can be calculated using

      arccos(sin(lat1)sin(lat2)+cos(lat1)cos(lat2)cos(lng1-lng2))
-----------------------------------------------------------------------
sqrt((cos(0.5(lat1+lat2))/6378137)^2 + (sin(0.5(lat1+lat2))/6356752)^2)

The numerator calculates the respective distance on a sphere with radius 1. The denominator adjusts for the radii of the earth across the minor and major axis.

Oswald
  • 31,254
  • 3
  • 43
  • 68