Longueur maximale d'un degré décimal de latitude / longitude?

Quelle est la longueur maximale (en kilomètres ou miles - mais veuillez préciser) qu'un degré de latitude et de longitude peut avoir à la surface de la Terre?

Je ne suis pas sûr d'être assez clair, laissez-moi reformuler ça. La Terre n'est pas un cercle parfait, comme nous le savons tous, et un changement de 1,0 de latitude / longitude sur l'Équateur (ou en Équateur) peut signifier une distance alors qu'un même changement aux pôles peut signifier une autre distance complètement différente.

j'essaie de réduire le nombre de résultats retournés par la base de données (dans ce cas MySQL) afin que je puisse calculer les distances entre plusieurs points en utilisant la formule grand cercle . Au lieu de sélectionner tous les points puis de les calculer individuellement, je souhaite sélectionner des coordonnées qui sont à l'intérieur des limites de latitude / longitude, par exemple:

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

PS: il est tard et je pense que mon anglais n'est pas venu comme je m'y attendais, s'il y a quelque chose que vous êtes incapable de comprendre s'il vous plaît dites-le et je vais corriger/améliorer au besoin, merci.

5
demandé sur Alix Axel 2009-12-14 01:06:45

4 réponses

La longueur d'un degré de latitude varie peu , entre 110,6 km à l'équateur, à environ 111.7 près des pôles. Si la terre était une sphère parfaite, il serait constante. Pour des raisons comme obtenir une liste de points dans disons 10 km d'un connu (lat, lon), en supposant une constante 111 km devrait être OK.

mais il une tout autre histoire avec la longitude . Il s'étend d'environ 111,3 km à l'Équateur, 55,8 km À 60 degrés de latitude, 1,9 km à 89 degrés de latitude à zéro au pôle.

vous avez posé la mauvaise question; vous devez connaître la longueur minimum pour vous assurer que votre requête ne rejette pas les candidats valides, et malheureusement la longueur minimum pour la longitude est zéro!

disons que vous prenez le Conseil des autres pour utiliser une constante d'environ 111 km Pour la latitude et la longitude. Pour une requête de 10 km, vous utiliserez une marge de 10 / 111 = 0,09009 degrés de latitude ou de longitude. C'est OK au niveau de l'équateur. Cependant, à la latitude 60 (à propos de L'endroit où se trouve Stockholm, par exemple) voyager à l'est par 0,09 degrés de longitude vous permet de parcourir seulement environ 5 km. Dans ce cas vous rejetez incorrectement environ la moitié des réponses valides !

heureusement les calculs pour obtenir une meilleure longitude liée (qui dépend de la latitude du point connu) est très simple -- voir cette SORTE de réponse , et l'article de Jan Matuschek qu'il référence.

9
répondu John Machin 2017-05-23 12:30:42

à l'Origine, la définition d'un mille marin est la longueur d'une minute de longitude sur l'équateur. Il y avait donc 360 * 60 = 21 600 milles nautiques autour de l'Équateur. De même, la définition originale d'un kilomètre était que 10 000 km = longueur du pôle à l'Équateur. Par conséquent, en supposant une Terre sphérique, il y aurait:

  • 40,000 ÷ 21,600 = 1.852 km par minute
  • 1,852 × 60 = 111,11 km par degré

Permettant un sphérique de la terre au lieu d'une sphère un peu d'ajuster le facteur, mais pas par beaucoup. Vous pouvez être assez sûr que le facteur est moins de 1,9 km par minute ou 114 km par degré.

7
répondu Jonathan Leffler 2009-12-13 22:24:35

si vous pouvez utiliser les extensions spatiales MySQL: http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html , vous pouvez utiliser ses opérateurs et fonctions à la fois pour filtrer les points et calculer les distances. Voir http://dev.mysql.com/doc/refman/5.0/en/functions-that-test-spatial-relationships-between-geometries.html , en particulier les fonctions contient () et distance () .

4
répondu Nils Weinander 2009-12-14 14:39:40

l'ellipsoïde de référence utilisé pour la Terre est le système WGS84, qui signifie que le rayon de la terre pour l'équateur a la longueur de 6 378 137 m ou 3963.19 miles

la longueur maximale de longitude est atteinte à l'équateur et est approximativement (limite supérieure)) 111.3195 km ou 69.1708 miles

la longueur maximale d'un degré de latitude est atteinte entre l'équateur et 1°. C'est presque exactement égale à la longueur maximale de longitude; la première approximation montre que la différence est inférieure à 4.2 mètres donnant

111.3153 km or 69.1682 miles

2
répondu Thorsten S. 2009-12-14 14:31:51