Finding distance between two coordinates in ellipsoid?
I would recommend checking out:
Spherical: http://www.movable-type.co.uk/scripts/latlong.html
Great-Circle: http://www.movable-type.co.uk/scripts/gis-faq-5.1.html
So you know your two latitudes and longitudes, lets say
You can calculate the cartesian co-ordinates for each:
xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));
xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));
And then calculate the great circle distance between the two using:
MeanRadius * Acos(xa * xb + ya * yb + za * zb);
This simplified approach allows pre-calculation of the x, y and z values, which can be stored alongside in a database for efficient "points within x miles" queries.
Of course, this assumes a perfect sphere, and the Earth isn't even a perfect elipsoid, so accuracy is only going to be to a few metres.