Algorithme pour trouver tous Latitude Longitude endroits à l'intérieur d'une certaine distance à partir d'un Lat de Gnl emplacement

Donné une base de données de lieux avec la Latitude + Longitude endroits, tels que 40.8120390, -73.4889650, comment pourrais-je trouver tous les emplacements à l'intérieur d'une certaine distance d'un lieu spécifique?

Il ne semble pas très efficace pour sélectionner tous les emplacements à partir de la DB et ensuite passer par un par un, en obtenir la distance de l'emplacement de départ pour voir si elles sont à l'intérieur de la distance spécifiée. Est-il un bon moyen pour limiter le départ des endroits choisis à partir de la DB? Une fois que j'ai (ou pas?) une rétréci vers le bas emplacements, dois-je quand même passer par un par un pour vérifier la distance, ou est-il un meilleur moyen?

La langue-je faire dans n'importe pas vraiment. Merci!

  • C'est peut être ce dont vous avez besoin: en.wikipedia.org/wiki/K-d_tree
  • Ne pourrait-on pas de requête SQL pour le résoudre? SÉLECTIONNEZ * à PARTIR de Lieux OÙ (Lat :Lat)^2 + (Long :Long)^2 <= :Distance^2 (bce, certains autres mathématiques est impliqué avec la Terre étant sphérique et à tous, ceci est juste un exemple)
  • Avez-vous trouver aucune réponse pour l'instant @ valera?
  • u ne finalisé toute approche. Je suis à la recherche de quelque chose de similaire? Toute aide sera appréciée.
  • nOiAd, Malheureusement, j'ai dû abandonner ce projet, donc je n'ai pas de fin jusqu'à la cueillette d'une solution. Les gars si vous utilisez l'une des solutions dans vos projets, avec d'autres, je voudrais vraiment l'apprécier vos commentaires à ce sujet ici.
InformationsquelleAutor Valera | 2011-02-17