2011-04-14 3 views
0

J'ai plusieurs points latéraux et je veux que le centre de tout ce point soit le point de rencontre qui sera le plus proche de tout ce lat.Trouver un point central de lat lat multiple

+0

duplication possible de [Déterminer le centroïde de plusieurs points] (http://stackoverflow.com/questions/353684/determine-the-centroid-of-multiple-points) – Caleb

Répondre

1

Vous devez calculer la position moyenne de cette COORDONNEES:

float lat=0, lng=0; 
for(int i=0; i<num_coords; ++i) { 
    lat += lats[i]; 
    lng += lngs[i]; 
} 

lat /= num_coords; 
lng /= num_coords; 

Lorsque la distance entre les lieux est à moins de 500 miles (800 km), cette méthode donne une approximation proche du vrai milieu géographique.

+1

Ceci est faux. Longitudes -179 degrés et +179 degrés sont très proches. Votre réponse donnera 0, qui est à l'autre bout du monde! –

+1

Cette réponse donne la moyenne qui est incorrecte pour la question. –

+0

J'ai fait une modification à votre réponse. Lorsque le montage sera accepté, je reprendrai mon downvote. –

6

En fait, il y a deux points différents. Regardez here.

  • centre de gravité

Le milieu géographique, parfois appelé le centre de gravité, le centre de masse ou barycentre est la moyenne coordonnée pour un ensemble de points. Si vous marquez plusieurs points sur un globe terrestre avec le point médian géographique, le point médian géographique semble en effet être au centre. Imaginez que plusieurs poids soient placés à différents points sur un globe terrestre, puis que le globe puisse tourner librement jusqu'à ce que la partie la plus lourde du globe soit tirée par gravité jusqu'à ce qu'elle soit tournée vers le bas. Ensuite, le point le plus bas du globe serait le point médian géographique pour tous les emplacements pondérés.

Le point milieu géographique est calculé en trouvant le centre de gravité des emplacements. La latitude et la longitude des emplacements sont converties en coordonnées cartésiennes (x, y, z). Les coordonnées x, y et z moyennes sont calculées. Cette coordonnée moyenne se situe à l'intérieur de la terre et constitue le véritable centre de masse, et une ligne peut être tracée du centre de la terre passant par ce point puis à la surface de la terre qui est le point médian géographique. La coordonnée moyenne x, y et z est convertie en latitude et longitude pour le point médian.

La formule donnée suppose une terre sphérique et des points au niveau de la mer. La réponse est beaucoup plus complexe si un modèle plus précis est nécessaire.

  • Centre de distance minimale

Ce point minimise la distance de Voyage combinée d'un ensemble de points. Le centre de la distance minimale est le point de la distance de déplacement minimale absolue, mais il n'essaie pas d'égaliser la distance parcourue par les autres points.

Il y a des calculatrices here

Les méthodes sont décrites here

Notez que la terre sperical suppose. Si une plus grande précision est nécessaire, la solution serait beaucoup plus complexe.

+0

D'accord, cette méthode moyenne simple n'est pas la meilleure pour les cas, lorsque vous avez besoin de calculer des coords qui peuvent varier beaucoup, mais pour l'application iPhone simple, peu importe la cause, la distance est trop petit (et pour le -179 et 179 - c'est l'océan Pacifique presque partout). – Max

Questions connexes