2011-03-31 41 views
6

Para una aplicación de Google Maps, necesito crear una consulta que seleccione todos los elementos en mi base de datos que caigan dentro de un cierto radio de una latitud/longitud dada, dada la latitud/longitud de cada punto. ¿Hay una manera eficiente de hacer esto en el ORM de Django?Obtener todos los puntos dentro de cierto radio en Django

La mejor manera que he encontrado hasta ahora es seleccionar todos los puntos que caerán dentro de un cuadrado delimitador de ese círculo (con __range) y luego llamar a una función iterativa en todos los listados seleccionados para determinar si realmente caen en el circulo

Mi sensación es que podría haber una manera más eficiente: ¿cómo lo harías?

Respuesta

8
+0

Niza, eso es sin duda la mejor respuesta. Solo por el interés, ¿alguna idea de cómo lo resolverías de manera eficiente en Django? –

+0

puede utilizar una consulta sin formato como esta publicación http://stackoverflow.com/questions/1916953/filter-zipcodes-by-proximity-in-django-with-the-spherical-law-of-cosines – Galen

+1

¿Es posible? usar los methos de GeoDjango en una aplicación normal de Django? – Gocht

Cuestiones relacionadas