MySQL Forums

Re: Zip Code Proximity search - Examples II
Posted by: p dontthink
Date: June 06, 2006 04:09AM

> it seems that I will need to convert these lat/long coordinates so that
> I can do a radius search using miles as the distance units?

yep. you have to do a little of your own legwork.

note that lat/long are given in degrees (decimal degrees or degrees/minutes/seconds)

problem is that while a degree of latitude remains mostly constant everywhere on earth (69.172 miles, do your own math from there), longitudinal distances are quite different depending on where you are, what latitude you are talking about. it goes from I think 69.172 at the equator to 0 at the poles, so usually you have to use a formula for this figure along the lines of:

cos(latitude) * 69.172

this is all very rough anyway, so, say if you expect all your lookups to be in a given country, you could calculate that number with the latitude of the middle of that country and call it a day.

this way, you have your "sloppy" rectangle for parsing your initial dataset, and then you can refine the search if needed (and sort it) in your application with more accurate distance formulas.

BTW, no one on this thread has mentioned that a commonly used formula for distance computations that is reasonably quick and is much more accurate than the great circle/Haversine formulas being shown in this thread is the Vincenty formula. Google it and you're good to go.

oh, also in case you need it, some random conversion factors:

convert degrees/minutes/seconds to decimal degrees:
decimal degrees = degrees + (minutes + seconds / 60) / 60

convert from decimal degrees to radians:
radians = degrees * (pi / 180)
or:

3437.7467707849392526 appears to be the factor to convert from nautical miles to radians

and apparently:
statute (land) miles = nautical miles * 1.150779

Subject
Views
Written By
Posted
28101
October 19, 2004 06:04AM
10856
October 19, 2004 07:55AM
9258
October 19, 2004 11:14AM
10292
October 21, 2004 09:28AM
9179
October 19, 2004 06:59PM
7633
October 20, 2004 07:39AM
7646
October 21, 2004 09:10AM
8855
October 22, 2004 07:17AM
6799
October 23, 2004 02:48AM
6242
October 23, 2004 03:09AM
6340
October 23, 2004 03:12AM
6226
October 23, 2004 02:59PM
8005
October 24, 2004 12:34PM
5534
October 24, 2004 01:31PM
13135
October 21, 2005 10:21AM
7270
October 24, 2005 05:07PM
5589
January 28, 2006 05:24AM
5131
March 02, 2006 04:24PM
7227
October 09, 2007 09:28AM
5757
December 06, 2005 05:34AM
7027
December 06, 2005 06:36AM
5327
December 24, 2005 01:10PM
8845
December 26, 2005 03:49PM
5449
October 09, 2007 09:36AM
7157
December 26, 2005 03:51PM
14308
December 26, 2005 04:21PM
16121
January 20, 2006 10:26AM
7551
January 11, 2006 06:37AM
10393
February 26, 2006 05:31PM
15813
March 02, 2006 05:23PM
5503
May 02, 2006 03:09PM
8083
May 03, 2006 08:59AM
Re: Zip Code Proximity search - Examples II
8580
June 06, 2006 04:09AM
29358
December 13, 2007 04:10PM
5549
August 15, 2008 01:52AM
6193
April 05, 2006 02:59PM
4720
May 02, 2006 03:22PM
5686
May 05, 2006 09:44AM
14531
June 25, 2006 09:32PM
5512
August 30, 2006 12:54PM
6002
July 14, 2007 01:09AM
7646
November 03, 2006 10:25AM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.