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.
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
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.
le lien ci-dessous peut être utile.
http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL
essayez d'implémenter l'algorithme de l'arbre k-D avec la recherche du voisin le plus proche.