Elipsoidde iki koordinat arasındaki mesafeyi mi buldunuz?


18

İki takım enlem ve boylamım var.

Eğer dünyanın mükemmel bir elipsoid (0.0167 eksantrikliği ile) olduğunu varsayarsam, iki konum arasındaki mesafeyi nasıl bulabilirim?

Yanıtlar:


16

Kontrol etmenizi tavsiye ederim:
etmenizi Küresel: http://www.movable-type.co.uk/scripts/latlong.html
Büyük Daire: http://www.movable-type.co.uk/scripts/gis-faq -5.1.html


1
Bu sayfadaki formüllerin merkezciliği yok saydığı görülüyor. Dünyanın bir elipsoid değil bir küre olduğunu varsayarlar.
Jon Bringhurst

Önceden, her zaman ayarlanmış bazı lat uzun noktalar arasındaki mesafeleri bilinen bir kütüphane kullandım ve sonra bilinmeyen noktaların mesafesini hesaplamak için ortalama gerçekleştirdim. Birkaç kişiye bunu soracağım.
Wallbasher

Ah, ikinci halka doğru formüle sahip gibi görünüyor. Teşekkürler!
Jon Bringhurst

1
Cevabınız için teşekkürler @Wallbasher. Ancak, cevapların kendi başlarına durabilmesi en iyisidir. İlgili formülü cevabınızla birlikte gönderirseniz çok yardımcı olacaktır.
RK

7

İki enlem ve boylamınızı biliyorsunuz, diyelim ki

Her biri için kartezyen koordinatları hesaplayabilirsiniz:

xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));

xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));

Ve sonra ikisi arasında büyük daire mesafesini hesaplayın:

MeanRadius * Acos(xa * xb + ya * yb + za * zb);

Bu basitleştirilmiş yaklaşım, x milleri içinde verimli "noktalar" sorguları için bir veritabanında depolanabilen x, y ve z değerlerinin önceden hesaplanmasını sağlar.

Tabii ki, bu mükemmel bir küre olduğunu varsayar ve Dünya mükemmel bir elipsoid bile değildir, bu nedenle doğruluk sadece birkaç metreye kadar olacaktır.


1
Ben de "mükemmel küre şey" işaret edecekti. Bu yöntemin, dünyanın neresinde olduğunuza bağlı olarak size değişen derecelerde doğruluk sağlayacağının farkında olmalısınız.
TroutSlayer

@TrotuSlayer genellikle çoğu uygulama için yeterince iyidir ve her zaman hız ve doğruluk arasında bir denge vardır. Daha doğru olmanız gerekiyorsa, yuvarlanma tekerleğini çıkarmanın veya Dünya'nın sizin verdiğiniz alan için düz olduğu ve 2D mesafelerin yeterli olduğu varsayımlarına başvurmanın zamanı geldi.
Rowland Shaw

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.