Hat man in einer Tabelle eine Menge von Standorten, welche durch deren Latitude und Longitude definiert sind, kann man die einem gegebenen Punkt am nächsten gelegenen Standorte folgendermaßen ermitteln:
Angenommen wir haben eine Adressen-Tabelle mit einer Menge an Geschäften, deren Standort durch die Spalten lat und lng gegeben ist. Weiters habe ich die aktuellen Koordinaten aus der Standortermittlung (z.B. Handy-Lokalisierung) in $lat und $lng. Nun möchte ich die 10 am nächsten zu meinem aktuellen Standort gelegenen Geschäfte suchen und dem Benutzer anzeigen. Diese können mit folgendem SQL-Statement rausgesucht werden:
// $lat, $lng enthalten die Koordinaten des gegebenen Standortes $sql = 'SELECT a.*, ((ACOS(SIN( ' . $lat . ' * PI() / 180) * SIN(lat * PI() / 180) + COS(' . $lat . ' * PI() / 180) * COS(lat * PI() / 180) * COS((' . $lng . ' - lng ) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance FROM address a ORDER BY distance asc LIMIT 10';