Algorithme pour calculer la position la plus proche en fonction de la longitude et de la latitude

j'essaie actuellement de développer un algorithme pour calculer quels emplacements connus sont les plus proches de l'emplacement connu actuel.

j'ai une liste de disons 100 emplacements connus (ce qui signifie que j'ai à la fois long - et la latitude). Sur ces 100 je choisis un endroit, et après avoir choisi cet endroit je veux une liste pour montrer dire les 8 endroits les plus proches connus à ceci.

comment une solution serait-elle possible?

Modifier

Je ne cherche pas pour la façon de calculer les distances. Je cherche comment calculer les emplacements connus les plus proches de l'emplacement actuel.

Exemple:

disons que la liste contient 100 emplacements de cinémas. Je suis au theater 5, et je veux savoir quels autres cinémas dans la liste se trouve à proximité. Pas la distance, mais leur emplacement.

16
demandé sur Ahmed Salem 2011-08-19 15:27:09

4 réponses

Il y a un Matrice de Distance de l'API. Cette API vous permet de calculer les distances entre certaines positions données.

Vous pouvez le faire vous-même avec un haversine formula

17
répondu hsz 2012-05-30 19:35:49

1ère idée: si vos "100 emplacements connus" restent essentiellement les mêmes, vous pouvez diviser les emplacements connus en petits groupes et maintenir la structure. Alors joue avec le groupe le plus proche.

Plus d'approches mathématiques ici

1
répondu PLane 2011-08-19 12:04:27
1
répondu iDevAmit 2014-05-26 12:22:05

essayez d'implémenter l'algorithme de l'arbre k-D avec la recherche du voisin le plus proche.

1
répondu Gul Md Ershad 2016-12-30 07:11:03