Ragruppare oggetti con coordinate geografiche vicine | SQL & MySQL

Topic: Pubblico - Composto da 1 Post di 1 Utente.

29 Novembre, 2011 10:00 #1
apocalis
Utente

apocalis
Registrato: Nov, 2011
Posts: 1
Offline

Salve a tutti,

sto realizzando una applicazione che visualizza gli utenti su una mappa nelle vicinanze dell'utente dell'applicazione.

La funzione per il recupero degli utenti nelle vicinanze dell'utente che usa l'applicazione è:

1SELECT geo.reference userId, geo.latitude, geo.longitude, 
26371 * 2 * ASIN(SQRT(POWER(SIN(RADIANS(OrigLat - ABS(geo.latitude))), 2) + COS(RADIANS(OrigLat)) * COS(RADIANS(ABS(geo.latitude))) * POWER(SIN(RADIANS(OrigLon - geo.longitude)), 2))) AS distance 
3FROM GEOLOCALIZATION geo 
4HAVING distance < dist 
5ORDER BY distance;

In questo modo ottengo tutti gli utenti entro un determinato raggio dalle coordinate OrigLat,OrigLon. Nel caso in cui gli utenti sono molti ho la necessità di raggruppare quelli che sono vicini tra loro.

Come è possibile fare tutto ciò?

Grazie a tutti

Ultima modifica 06 Dicembre, 2011 19:31 di g2d

Condividi su:

Loggati o Registrati per replicare