Bir dizi enlem ve boylam koordinatından orta noktayı hesaplama


9

Bir bina taslağını temsil eden bir dizi boylam ve enlem koordinatım var

Örneğin

-0.5485381346101759,53.2285150736142
-0.5482220594232723,53.22842450827133
-0.5482298619861881,53.22841205254449

... (ara noktalar listelenmemiş) ...

-0.5483123769301657,53.22882101914848

Orta noktayı nasıl çalıştırabilirim? Üç koordinatınız varsa (ör. Http://mathforum.org/library/drmath/view/68373.html ) nasıl yapılacağını gösteren öğreticiler buldum , ancak çoğu durumda üçten fazla var .

teşekkür ederim


2
"Orta nokta" ile ne demek istediğine bağlı - centroid mi demek istiyorsun ?

3
Öneri: kendiniz bir girişimde bulunun, ardından doğru olmadığında yardım isteyin - give me the answersorular genellikle burada kaşlarını çatıyor.

Yanıtlar:


8

Birbirine yakın koordinatlarla, Dünya'yı yerel olarak düz olarak ele alabilir ve basitçe sanki düzlemsel koordinatlarmış gibi sentroidi bulabilirsiniz. Sonra sadece enlemlerin ortalamasını ve sentroidin enlemini ve boylamını bulmak için boylamların ortalamasını alırsınız.

Düzenleme: Whuber belirttiği gibi, bina bir dikdörtgen veya normal bir çokgen olmadığı sürece yukarıdaki yöntem işe yaramaz. Rasgele bir şekli, formül buraya doğru sonuçlar verir.


Murgatroid Bir projeksiyona ihtiyaç duyulmaması ile ilgili gözlem harika bir şeydir. Ne yazık ki, köşelerin koordinatlarının ortalaması binanın centroidini vermez.
whuber

@whuber Teşekkürler, yazımı doğru yöntemle güncelledim.
murgatroid99

"Birbirine yakın" tanımlayabilir misiniz?
kev

4

Bir poligonla özetlenen binanın merkezini istiyorsanız, köşelerin ortalamasını almayın. Bu kesinlikle yanlış. Bunun yerine çokgenin kendisinin sentroidini hesaplamanız gerekir. Formül için bkz.

http://en.wikipedia.org/wiki/Centroid#Centroid_of_polygon

(Ve daha önceki posterlere katılıyorum: enlem ve boylamı Kartezyen koordinatları olarak değerlendirebilirsiniz, çünkü bina küçüktür ve bir direkten ve uluslararası tarih çizgisinden uzaktır.)


+1, bu yaklaşımın kapsamındaki önemli kısıtlamaları sağlamak ve formüllere bir bağlantı sağlamak için. BTW, son tavsiyede yer alan ince (ancak doğru) bir varsayım var: mesafelerin göreli bir çarpıklığı var (bu, boylamların enlemlerin kosinüsleri ile çarpılmasıyla iyileştirilebilir), ancak centroidi hesaplamak amacıyla bu önemli değil. (Açıları bulmak gibi ilgili hesaplamalar için çok önemli olacaktır.)
whuber

Bu teknik çokgenin İÇİNDE bir noktayı garanti ediyor mu? Verilerin son kullanımının ne olduğunu bilmiyorum, ancak bazı kullanımlar noktanın içinde olmasını gerektirecektir. Bu senaryoda aritmetik ortalama kesinlikle bir sonucu garanti etmez (örneğin Hırvatistan'ın aritmetik merkezi o ülkede bile değildir)!
Mark Ireland

Bir çokgenin sentroidinin çokgenin içinde olduğuna dair bir garanti yoktur (çokgenin dışbükey olması hariç).
cffk

2

Coğrafi koordinatlardan coğrafi merkezli'ye dönüştürün, coğrafi merkezli vektörlerin ortalamasını alın, ardından tekrar coğrafi konuma dönüştürün.


1
Çoğu uygulamada bu hesaplama anlamsız olacaktır, çünkü büyük ölçüde binanın nasıl temsil edildiğine bağlıdır. Örneğin, çizgi parçalarının yoğunlaştırılması, binanın görünüşünü hiç değiştirmeden cevabı kayda değer ölçüde değiştirebilir.
whuber

1

Sonlu birçok noktanın sentroidi, her bir koordinatın aritmetik ortalamasıdır. Yani enlemleri ve boylamları toplayın ve puan sayısına bölün.


3
çokgen datelini geçerse değil
Paul Ramsey

@Paul @tskuzzy Ayrıca, bu reçete uygun değildir: bina köşelerinde bir set değildir, bu köşelerde izlenen kapalı çoklu çizginin iç kısmıdır.
whuber

0

Daha geniş aralıklarda çalışıyorsanız, küresel enterpolasyona ihtiyacınız vardır .


Bunun nasıl yardımcı olacağını görmek zor. Detaylar?
whuber
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.