Поскольку мой вопрос говорит, что я ищу функцию / формулу, которая может вычислить расстояние между двумя точками.Теперь я посмотрел на пример и нашел отличные функции, но ни одна из них, похоже, не работает, все они возвращают 0, когда я поставляю 2 набора точек.В основном мне нужно будет передать следующую функцию (lat1, lon1, lat2, lon2) и получить обратно расстояние.С этого расстояния я могу проверить, находится ли рядом другая точка.
ОБНОВЛЕНИЕ Хорошо, теперь я использую следующую функцию,
BEGIN
DECLARE pi, q1, q2, q3 , roundedVal FLOAT ;
DECLARE rads FLOAT DEFAULT 0;
SET pi = PI();
SET lat1 = lat1 * pi / 180;
SET lon1 = lon1 * pi / 180;
SET lat2 = lat2 * pi / 180;
SET lon2 = lon2 * pi / 180;
SET q1 = COS(lon1-lon2);
SET q2 = COS(lat1-lat2);
SET q3 = COS(lat1+lat2);
SET rads = ACOS( 0.5*((1.0+q1)*q2 - (1.0-q1)*q3) );
RETURN FORMAT((6371 * rads) , 1);
END
Это работает нормальнос километрами, но я ищу метры.Так что я знаю, что у меня есть изменение чисел в этой функции, но какие и что делать.Любая помощь?