У меня есть массив латов и лонгов, которые я хотел бы отсортировать по их расстоянию между собой. У меня нет начального или конечного лат и длинного, я просто хочу отсортировать массив по возрастанию расстояния.
То, что у меня есть, не работает, потому что у меня нет $ 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. Эти координаты не являются реальными.