У меня небольшая проблема,
Я только что тестировал использование формулы haversine для моего проекта
В проекте я указываю точку и хочу найти все точки в пределах заданного радиуса точки, которую я указал. После долгих поисков я попробовал этот запрос формулы haversine.
SELECT service_id, ( 3959 * acos( cos( radians(51.500152) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(-0.126236) ) + sin( radians(51.500152) ) * sin( radians( latitude ) ) ) ) AS distance
FROM sys_t_taxi_real_time_servce HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;
Я получил широту и долготу Лондона, а затем указал данные, как показано в следующем порядке: (service_id, driver_id, trip_id, долгота, широта, driver_status)
4, 1, , 51.5034, -0.174751, ''
5, 1, 2, 51.477106, -0.137329, ''
Таким образом, для набора результатов, однако, я ничего не получаю, строки не возвращаются
ОДНАКО, когда я удаляю предложение, я получаю следующий набор результатов (service_id, distance)
5, 4655.154600
4, 4658.309966
Я действительно застрял в этой проблеме и не могу двигаться вперед из-за нее, и любая помощь будет принята с благодарностью.
Запрос и т.п. был получен по следующей ссылке
http://code.google.com/apis/maps/articles/phpsqlsearch.html
Кроме того, кто-нибудь знает какой-либо другой метод для решения той же проблемы, я видел вещи, относящиеся к пространству mysql, но выбрал это, поскольку было проще использовать
С уважением,
MilindaD