ndice / consulta espacial (encontrando k pontos mais próximo

Tenho + 10 mil pontos (latitude, longitude) e estou criando um aplicativo que mostra os k pontos mais próximos da localização de um usuári

Acho que esse é um problema muito comum e não quero reinventar a roda. Estou aprendendo sobre Quadtrees. Parece ser uma boa abordagem para resolver esse problema espacial.

Estou usando estas ferramentas:

Python 2.5 MySQL MongoDb

Construir o Quadtree não é tão difícil:http: //donar.umiacs.umd.edu/quadtree/points/pointquad.htm Mas depois de criar a árvore e salvá-la em um db (MySQL ou MongoDb), como executo a consult

Preciso executar consultas como estas:

Encontre todos os pontos a 10 km da localização do usuári Encontre os 6 (ou pelo menos 6) pontos mais próximos da localização do usuári

Qual é a abordagem padrão e comum para fazer isso?

EDIT 1:

Carreguei os + 10k pontos no MongoDB (indexação geoespacial) e ele funciona bem à primeira vista. De qualquer forma eu encontrei PostGis:

@PostGIS é uma extensão do sistema de banco de dados relacional de objetos do PostgreSQL que permite que os objetos GIS (Sistemas de Informações Geográficas) sejam armazenados no banco de dado

Então, acho que vou tentar o PostGis.

Eu também encontrei SimpleGeo. Você pode armazenar pontos / locais na nuvem e consultá-los por meio de uma API:https: //simplegeo.com/docs/tutorials/python#how-do-radial-nearby-quer

questionAnswers(3)

yourAnswerToTheQuestion