Determinar o centróide de múltiplos pontos
-
20-08-2019 - |
Pergunta
Eu estou escrevendo um aplicativo de mapeamento que estou escrevendo em python e eu preciso para obter a latitude / longitude centróide de N pontos. Digamos que eu tenha dois locais
a.lat = 101
a.lon = 230
b.lat = 146
b.lon = 200
Obtendo o centro de dois pontos é bastante fácil usando uma fórmula euclidiana. eu gostaria para ser capaz de fazê-lo por mais de dois pontos.
Basicamente eu estou procurando fazer algo como http://a.placebetween.us/ onde um pode inserir vários endereços e encontrar um local que é equidistante para todos.
Solução
Tenha um olhar para o documento pdf no link abaixo. Ele explica como aplicar o algoritmo avião figura que Bill o Lagarto menciona , mas na superfície de uma esfera.
miniaturas cartaz e alguns detalhes http://img51.imageshack.us/img51/ 4093 / centroidspostersummary.jpg
Fonte: http://www.jennessent.com/arcgis/shapes_poster.htm < br>
Há também um 25 MB de tamanho completo PDF disponível para download.
O crédito vai para mixdev para encontrar o link para a fonte original, e, naturalmente, para Jenness Empresas para tornar as informações disponíveis. Nota:. Eu estou em nenhuma maneira afiliado com o autor deste material
Outras dicas
Adicionando a resposta Andrew Rollings'.
Você também vai precisar para se certificar de que se você tem pontos em ambos os lados da linha 0/360 longitude que você está medindo na "direção certa"
Is the center of (0,359) and (0, 1) at (0,0) or (0,180)?
Se você está com média de ângulos e tem que lidar com eles cruzando a 0/360, em seguida, é mais seguro para somar o pecado e cos de cada valor e = então Média atan2 (soma de senos, soma dos cossenos)
(Cuidado da ordem argumento em sua função atan2)
A matemática é bem simples se os pontos formam um avião figura . Não há garantia, porém, que um conjunto de latitudes e longitudes são assim tão simples, por isso pode ser necessário primeiro encontrar o convexo casco dos pontos.
EDIT: Como aponta eJames , você tem que fazer correcções para a superfície de uma esfera. A minha culpa por assumindo (sem pensar) que este foi entendido. +1 a ele.
A seguir PDF tem um pouco mais detalhe do que o cartaz de Jenness Enterprises. Ele também lida com a conversão em ambos os sentidos e por um esferóide (como a Terra), em vez de uma esfera perfeita.
Conversão entre 3-D cartesiano e elipsoidais latitude, longitude e altitude coordenadas
Separadamente calcular a média das latitudes e longitudes.