Kullanıcıdan 2 coğrafi koordinat almak için küçük bir program ayarlıyorum ve daha sonra bunların arasındaki mesafeyi hesaplayın (dünyanın eğriliğini dikkate alarak). Bu yüzden formülün here şeklini inceledim.Coğrafi uzaklığını hesaplama konusunda yardıma mı ihtiyacınız var
Ben temelde buna dayanarak benim piton fonksiyonunu kurmak ve bu ile geldi budur: Sorun sonuçları gerçekten hatalı çıkmasıdır
def geocalc(start_lat, start_long, end_lat, end_long):
start_lat = math.radians(start_lat)
start_long = math.radians(start_long)
end_lat = math.radians(end_long)
end_long = math.radians(end_long)
d_lat = start_lat - end_lat
d_long = start_long - end_long
EARTH_R = 6372.8
c = math.atan((math.sqrt((math.cos(end_lat)*d_long)**2 +((math.cos(start_lat)*math.sin(end_lat)) - (math.sin(start_lat)*math.cos(end_lat)*math.cos(d_long)))**2))/((math.sin(start_lat)*math.sin(end_lat)) + (math.cos(start_lat)*math.cos(end_lat)*math.cos(d_long))))
return EARTH_R*c
. Python için yeniyim, bu yüzden bazı yardım ya da tavsiyeler büyük ölçüde takdir edilecektir! I (d_long) Bir Math.sin cevapsız düşünüyorum https://pypi.python.org/pypi/geopy
somut bir örnek (giriş, beklenen çıktı, gerçek çıktı) elde edin. –
Bu koordinatları (-6.508, 55.071) ve (-8.886, 51.622) girdim. Beklenen çıktı 414 KM idi. Asıl sonuç 6473Km – Darkphenom
idi. Bunun yanlış olduğunu söyleyebilirim, bu yanlış>.
hochl