Я работаю над приложением местоположения, и мне нужно получить все местоположения из моей таблицы местоположений Mysql, которые имеют расстояние в 5 км между ними.
В таблице местоположения Ex есть следующие позиции:
id Latitude Longitude
1 22.7499180 75.8950577
2 22.7498474 75.8950653
3 22.7498035 75.8950424
4 22.7497787 75.8950729
5 22.7498245 75.8950806
6 22.7497902 75.8950272
7 22.7497864 75.8950424
8 22.7497768 75.8950500
9 22.7497864 75.8950577
10 22.7497921 75.8950653
11 22.7497597 75.8950653
12 22.7498283 75.8950653
13 22.7497978 75.8950577
Итак, из таблицы выше, как мне нужно получить результаты, похожие на это
id Latitude Longitude Distance (>=5Km)
1 22.7499180 75.8950577 --
4 22.7497787 75.8950729 6km (From lat long of id 1)
8 22.7497768 75.8950500 8km (From lat long of id 4)
11 22.7497597 75.8950653 6km (From lat long of id 8)
13 22.7497978 75.8950577 10km (From lat long of id 11)
Я много искал, чтобы получить такие результаты, но я получил запрос только для получения результата на основе фиксированного lat/long или фиксированного радиуса. Пожалуйста, помогите с запросом Mysql, если это возможно.
Изменить (из комментария OP)
Мне нужно рассчитать расстояние от последнего выбранного значения... Для Ex. Начать с записи 1. Расстояние 1 сравнивается с записью 2, 5 км, по сравнению с записью 3 также < 5 км, по сравнению с 4 его расстояние > 5 км, поэтому мы храним его в списке. СЛЕДУЮЩИЙ ЗАПИСЬ БУДЕТ СРАВНЕН С ЗАПИСЬЮ 4. так что расстояние 4 будет сравниваться с 5, а если запись 5 будет иметь расстояние > 5 км от 4, то будет сделано следующее сравнение с записью 5 в качестве эталона.