Re: Optimised way to search over 2 milllion poi data in mysql
Posted by:
Rick James
Date: September 16, 2014 11:34PM
1. Yes, that is for converting degrees to radians ("_deg2rad") and also compensate for the *10000 when converting to MEDIUMINT.
2. @deg2dist -- Yes that is for converting degrees to miles or kilometers. Again the *10000 is already factored in.
If you don't use *10000 into MEDIUMINT, then these constants need changing.
3,4. @lon2lat -- Latitude lines are a constant distance apart (about 69 miles). Longitude lines are not. This factor is used in one place to adjust to make the "square" really close to being a square not a rectangle. At 60 degrees latitude (@my_lat), it takes 2 degrees of longitude to equal 69 miles. So, if the "square" is 1 degree of latitude (@dlat), it needs to be 2 degrees of longitude (@dlon). Only at the equator will @dlon = @dlat; that comes from @lon2lat = 1.0.
Part of the confusion here is that there are multiple ways of expressing the same "distance":
* Degrees of latitude (-90 to +90)
* Degrees of latitude scaled into a MEDIUMINT between (-900000 to +900000)
* Miles
* and the confusion over degrees of longitude.
Notice that I say "All computations done in Latitude degrees."
Subject
Written By
Posted
September 01, 2014 11:42AM
September 01, 2014 08:04PM
September 01, 2014 09:40PM
September 02, 2014 12:11AM
September 02, 2014 02:11AM
September 02, 2014 07:22PM
September 04, 2014 04:48PM
September 04, 2014 08:58PM
September 06, 2014 10:18PM
September 07, 2014 12:25AM
September 07, 2014 04:09AM
September 07, 2014 10:40AM
September 10, 2014 02:36AM
September 10, 2014 03:42PM
September 12, 2014 04:41AM
September 12, 2014 11:20AM
September 12, 2014 02:21PM
September 16, 2014 10:15PM
Re: Optimised way to search over 2 milllion poi data in mysql
September 16, 2014 11:34PM