Oblicz punkt środkowy z szeregu współrzędnych szerokości i długości geograficznej

9

Mam szereg współrzędnych długości i szerokości geograficznej, które reprezentują kontur budynku

na przykład

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

... (punkty pośrednie nie wymienione) ...

-0.5483123769301657,53.22882101914848

Jak mogę obliczyć punkt środkowy? Znalazłem samouczki, które pokazują, jak to zrobić, jeśli masz trzy współrzędne (np. Http://mathforum.org/library/drmath/view/68373.html ), ale w wielu przypadkach mam więcej niż trzy .

Dziękuję Ci

Whuber
źródło
2
Zależy, co rozumiesz przez „punkt środkowy” - masz na myśli centroid ?
3
Zalecenie: podejmij próbę samodzielnie, a następnie poproś o pomoc, gdy nie jest to właściwe - give me the answerpytania są zwykle odrzucane.

Odpowiedzi:

8

Dzięki bliskim sobie współrzędnym możesz traktować Ziemię jako lokalnie płaską i po prostu znaleźć środek ciężkości, jakby były współrzędnymi planarnymi. Następnie po prostu weźmiesz średnią szerokości i długości geograficznej, aby znaleźć szerokość i długość geograficzną środka ciężkości.

Edycja: Jak podkreśla whuber, powyższa metoda nie działałaby, gdyby budynek nie był prostokątem ani regularnym wielokątem. W przypadku dowolnego kształtu wzór tutaj daje poprawny wynik.

murgatroid99
źródło
@murgatroid Spostrzeżenie o niepotrzebowaniu projekcji jest świetne. Niestety uśrednienie współrzędnych wierzchołków nie daje środka ciężkości budynku.
whuber
@whuber Dzięki, zaktualizowałem swój post poprawną metodą.
murgatroid99
Czy potrafisz zdefiniować „blisko siebie”?
kev
4

Jeśli chcesz uzyskać środek budynku, który jest obrysowany przez wielokąt, nie bierz środka wierzchołków. To oczywiście źle. Zamiast tego musisz obliczyć środek ciężkości samego wielokąta. Aby zapoznać się z formułą, zobacz

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

(I zgadzam się z wcześniejszymi plakatami: możesz traktować szerokość i długość geograficzną jako współrzędne kartezjańskie, ponieważ budynek jest niewielki i daleko od bieguna i międzynarodowej linii dat.)

cffk
źródło
+1 za podanie istotnych ograniczeń zakresu tego zbliżenia i za link do formuł. BTW, w ostatnim zaleceniu uwzględniono subtelne (ale poprawne) założenie: istnieje względne zniekształcenie odległości (które można wyleczyć przez pomnożenie długości przez cosinus szerokości), ale w celu obliczenia środka ciężkości to nie ma znaczenia. (W przypadku powiązanych obliczeń, takich jak znajdowanie kątów, miałoby to duże znaczenie.)
whuber
Czy ta technika gwarantuje punkt WEWNĄTRZ wielokąta? Nie wiem, jakie jest ostateczne wykorzystanie danych, ale niektóre zastosowania wymagałyby tego, aby być w środku. W tym scenariuszu średnia arytmetyczna zdecydowanie nie gwarantuje wyniku (na przykład centrum arytmetycznego Chorwacji nie ma nawet w tym kraju)!
Mark Ireland
Nie ma gwarancji, że środek ciężkości wielokąta znajduje się wewnątrz wielokąta (z wyjątkiem oczywiście wielokąta wypukłego).
cffk,
2

Konwertuj ze współrzędnych geograficznych na geocentryczne, uśrednij wektory geocentryczne, a następnie przekonwertuj z powrotem na geograficzne.

Paul Ramsey
źródło
1
W większości zastosowań obliczenia te byłyby bez znaczenia, ponieważ w dużym stopniu zależą od sposobu reprezentacji budynku. Na przykład zagęszczenie segmentów linii może znacznie zmienić odpowiedź bez zmiany wyglądu budynku.
whuber
1

Środek skończonej liczby punktów jest po prostu średnią arytmetyczną każdej ze współrzędnych. Podsumuj więc szerokości i długości geograficzne i podziel przez liczbę punktów.


źródło
3
nie jeśli wielokąt przecina linię danych
Paul Ramsey
@Paul @tskuzzy Również ta recepta nie jest właściwa: budynek nie jest zbiorem jego wierzchołków, jest to wnętrze zamkniętej polilinii wyznaczonej przez te wierzchołki.
whuber