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.