Сортировка Lat и Long Array по расстоянию в mysql - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть массив латов и лонгов, которые я хотел бы отсортировать по их расстоянию между собой. У меня нет начального или конечного лат и длинного, я просто хочу отсортировать массив по возрастанию расстояния.

То, что у меня есть, не работает, потому что у меня нет $ lat и $ long.

SELECT DISTINCT dist.lat,
                dist.lon,
                ( 111.045 * Degrees(Acos(Cos(Radians($lat)) * Cos(
                                         Radians(dist.lat)) * Cos(
                                         Radians(dist.lon) -
                                         Radians($lon)) +
                                         Sin(Radians($lat)) * Sin(
                                         Radians(dist.lat)))) )AS
                distance_in_km
FROM   dist
ORDER  BY distance_in_km ASC;

Что у меня есть:

[[23.454445,-12.33342],[34.45665,-34.555566],[21.222233,-43.444453],
[23.444555,-44.556666],[32.445554,-33.44555788],[23.445598,-67.88909],[54.556677,-66.776655]]

Я хочу отсортировать этот массив по близости.

P.S. Эти координаты не являются реальными.

...