Calcular o ponto médio a partir de uma série de coordenadas de latitude e longitude


9

Eu tenho uma série de coordenadas de longitude e latitude que representam um esboço de construção

por exemplo

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

... (pontos intermediários não listados) ...

-0.5483123769301657,53.22882101914848

Como posso calcular o ponto médio? Encontrei tutoriais que mostram como fazer isso se você tiver três coordenadas (por exemplo, http://mathforum.org/library/drmath/view/68373.html ), mas em muitos casos tenho mais de três .

Obrigado


2
Depende do que você quer dizer com "ponto médio" - você quer dizer centróide ?

3
Recomendação: faça você mesmo uma tentativa e peça ajuda quando não estiver certo - as give me the answerperguntas geralmente são mal vistas aqui.

Respostas:


8

Com coordenadas próximas umas das outras, você pode tratar a Terra como localmente plana e simplesmente encontrar o centróide como se fossem coordenadas planares. Então você simplesmente mede a média das latitudes e a média das longitudes para encontrar a latitude e a longitude do centróide.

Edit: Como whuber aponta, o método acima não funcionaria a menos que o edifício seja um retângulo ou um polígono regular. Para uma forma arbitrária, a fórmula aqui fornece o resultado correto.


@murgatroid A observação de não precisar de uma projeção é ótima. Infelizmente, calcular a média das coordenadas dos vértices não fornece o centróide do edifício.
whuber

@whuber Obrigado, atualizei meu post com o método correto.
murgatroid99

Você pode definir "próximos um do outro"?
kev

4

Se você deseja o centro do edifício delineado por um polígono, não use a média dos vértices. Isto está obviamente errado. Você precisa calcular o centróide do próprio polígono. Para a fórmula, consulte

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

(E, eu concordo com os pôsteres anteriores: você pode tratar a latitude e a longitude como coordenadas cartesianas porque o edifício é pequeno e está longe de um poste e da linha de data internacional.)


+1 por fornecer as restrições importantes no escopo dessa aproximação e por fornecer um link para fórmulas. BTW, há um pressuposto sutil (mas correto) envolvidos na última recomendação: não há uma distorção relativa de distâncias (que pode ser curada através da multiplicação dos longitudes por co-senos das latitudes), mas para fins de cálculo do centróide este não importa. (Para cálculos relacionados, como encontrar ângulos, isso importaria muito.)
whuber

Essa técnica garante um ponto DENTRO do polígono? Não sei qual é o uso final dos dados, mas alguns usos exigiriam que o ponto estivesse dentro. Nesse cenário, a média aritmética definitivamente não garante um resultado (por exemplo, o centro aritmético da Croácia nem está naquele país)!
Mark Ireland

Não há garantia de que o centróide de um polígono esteja dentro do polígono (exceto se o polígono for convexo, é claro).
Cffk

2

Converta de coordenadas geográficas em geocêntrico, calcule a média dos vetores geocêntricos e depois converta novamente em geográfico.


11
Na maioria das aplicações, esse cálculo não faria sentido porque depende muito de como o edifício é representado. Por exemplo, densificar os segmentos de linha pode alterar consideravelmente a resposta sem alterar a aparência do edifício.
whuber

1

O centróide de muitos pontos finitos é simplesmente a média aritmética de cada uma das coordenadas. Então, apenas resuma as latitudes e longitudes e divida pelo número de pontos.


3
Não se o polígono cruza a linha da data
Paul Ramsey

@Paul @tskuzzy Além disso, esta receita não é apropriada: o edifício não é o conjunto de seus vértices, é o interior da polilinha fechada traçada por esses vértices.
whuber

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.