2017-10-05 11 views
0

Dites que j'ai une latitude de 38.802610 et une longitude de -116.419389 et je veux être en mesure d'ajouter une distance à cela, 20 miles par exemple.Ajouter la distance à une latitude ou longitude

Jusqu'à présent, j'ai venu avec une idée sur la façon dont je ferais ce

  • Tout d'abord, travailler combien de miles sont à 1 ° de latitude, disons par exemple, il était 30

  • Ensuite, diviser une par celui-ci:

    • 1/30 = 0,033333
  • Ajouter à ma latitude d'origine pour obtenir mon maximale ° de latitude:
    • 38,802610 + 0,033333 = 38,8355943
  • Soustraire à ma latitude d'origine pour obtenir mon minimum ° de latitude:
    • 38.802610 - 0.033333 = 38.769277

Mais cela est imparfait parce qu'il semble il n'y a pas de conversion directe pour la longitude car d'après ce que j'ai lu, le calcul varie.

En fin de compte, je dois être en mesure de trouver le:

  • latitude maximale (ma latitude actuelle + distance donnée, par exemple 20 miles)
  • latitude minimum (ma latitude actuelle - distance par exemple donné 20 miles)
  • longitude maximale (ma longitude actuelle + distance donnée, par exemple 20 miles)
  • longitude minimum (ma longitude actuelle - distance donnée, par exemple 20 miles)

Toute aide serait grandement appréciée, merci.

+0

Avez-vous lu cet article http://www.movable-type.co.uk/scripts/latlong.html –

+0

La formule de Haversine devrait vous aider avec cela – Gianlucca

+0

J'ai vu cet article, mais je suis très nouveau à tous ceci donc je ne suis pas vraiment sûr de savoir comment l'appliquer à ma situation? –

Répondre

0

Les distances linéaires (par exemple 20 miles ou 32186,88 m) ne peuvent pas être directement converties en distances en degrés de latitude ou de longitude, car la Terre n'est pas plate. Cependant, il y a deux conversions directes que vous pouvez essayer de projeter un point donné à une distance linéaire et un azimut à un autre point.

La méthode 1 consiste à supposer une Terre sphérique, en utilisant Movable Type's "destination point given distance and bearing from start point". Les équations de underling sont décrites sur le site Web. La différence de latitude est la même dans les directions Nord et Sud, et la différence de longitude est la même dans les directions Est et Ouest, donc vous pouvez faire un minimum de deux calculs pour déterminer les quatre combinaisons min/max et lat/long.

Méthode 2 est assume une sphéroïde Terre (également appelé ellipsoïde de révolution), et calculer une géodésique directe avec GeographicLib, qui présente des liaisons vers plusieurs langages de programmation.La différence de latitude est légèrement différente dans les directions nord et sud, mais la même chose dans les directions est et ouest, donc vous pouvez faire un minimum de trois calculs. Ou supposons simplement que la différence dans les directions Nord ou Sud est approximativement la même et que vous faites deux calculs. Cette méthode a une précision inférieure au millimètre.