views:

748

answers:

4

What is the maximum length (in kilometers or miles - but please specify) that one degree of latitude and longitude can have in the Earth surface?

I'm not sure if I'm being clear enough, let me rephrase that. The Earth is not a perfect circle, as we all know, and a change of 1.0 in the latitude / longitude on the equator (or in Ecuador) can mean one distance while the same change at the poles can mean another completely different distance.

I'm trying to shrink down the number of results returned by the database (in this case MySQL) so that I can calculate the distances between several points using the Great Circle formula. Instead of selecting all points and then calculating them individually I wish to select coordinates that are inside the latitude / longitude boundaries, e.g.:

SELECT * FROM poi
 WHERE latitude >= 75 AND latitude <= 80
   AND longitude >= 75 AND longitude <= 80;

PS: It's late and I feel that my English didn't came up as I expected, if there is something that you are unable to understand please say so and I'll fix/improve it as needed, thanks.

+6  A: 

Originally, the definition of a nautical mile was the length of one minute of longitude on the equator. So, there were 360 * 60 = 21,600 nautical miles around the equator. Similarly, the original definition of a kilometer was that 10,000 km = length from pole to equator. Consequently, assuming a spherical earth, there would be:

  • 40,000 ÷ 21,600 = 1.852 km per minute
  • 1.852 × 60 = 111.11 km per degree

Allowing for a spheroidal earth instead of a spherical one will slightly adjust the factor, but not by all that much. You could be pretty confident the factor is less than 1.9 km per minute or 114 km per degree.

Jonathan Leffler
Awesome, kudos to you! =)
Alix Axel
-1 Read the OP's 3rd paragraph to see what the answer is being used for, and check out what happens at high latitudes.
John Machin
@John: The question title asks for 'the maximum length' of a degree. My answer gives that information.
Jonathan Leffler
@Jonathan: Yes. Yes. The OP asked the wrong question and you answered it blindly even though the "maximum length of a degree" is unsuitable for the filtering purpose stated in the 3rd paragraph of the question.
John Machin
A: 

The reference ellipsoid used for the earth is the WGS84 system, meaning that the earth radius for the equator has the length of 6 378 137 m or 3963.19 miles

The maximum length of longitude is reached at the equator and is approximately (upper bound) 111.3195 km or 69.1708 miles

The maximum length of one degree latitude is reached between the equator and 1°. It is almost exactly equal to the maximum length of longitude; a first approximation shows that the difference is less than 4.2 meters yielding

111.3153 km or 69.1682 miles

Thorsten S.
-1 Addresses the OP's headline question and ignores what the answer is to be used for.
John Machin
Just asking:As the question is *still* tagged under a wrong caption, wouldn't it be the better solution to correct the wrong question insteadvoting down correct answers ? So people *still* get the wrong impression if they only read the headline ? And what about the people who actually want to know the maximum length of longitude/latitude ? So how about using your reputation to edit the question ?
Thorsten S.
+3  A: 

If you can use MySQL spatial extensions: http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html, you can use its operators and functions both to filter the points and calculate distances. See http://dev.mysql.com/doc/refman/5.0/en/functions-that-test-spatial-relationships-between-geometries.html, specifically the functions contains() and distance().

Nils Weinander
+2  A: 

The length of a degree of latitude varies little, between about 110.6 km at the equator to about 111.7 near the poles. If the earth were a perfect sphere, it would be constant. For purposes like getting a list of points within say 10 km of a known (lat, lon), assuming a constant 111 km should be OK.

However it's quite a different story with longitude. It ranges from about 111.3 km at the equator, 55.8 km at 60 degrees latitude, 1.9 km at 89 degrees latitude to zero at the pole.

You asked the wrong question; you need to know the MINIMUM length to ensure that your query doesn't reject valid candidates, and unfortunately the minimum length for longitude is ZERO!

Let's say you take other folk's advice to use a constant of about 111 km for both latitude and longitude. For a 10 km query, you would use a margin of 10 / 111 = 0.09009 degrees of latitude or longitude. This is OK at the equator. However at latitude 60 (about where Stockholm is, for example) travelling east by 0.09 degrees of longitude gets you only about 5 km. In this case you are incorrectly rejecting about half of the valid answers!

Fortunately the calculations to get a better longitude bound (one that depends on the latitude of the known point) is very simple -- see this SO answer, and the article by Jan Matuschek that it references.

John Machin