Как мой вопрос: я ищу функцию/формулу, которая может рассчитать расстояние между двумя точками. Теперь я посмотрел пример и нашел отличные функции, но ни один из них, похоже, не работает, все они возвращаются 0, когда я поставляю 2 набора точек. В основном мне нужно будет передать функции следующие (lat1, lon1, lat2, lon2) и вернуть расстояние. С этого расстояния я могу проверить чек, если поблизости будет еще одна точка.Вычислить расстояние между двумя наборами лон и лат
UPDATE Хорошо, так я теперь с помощью следующей функции,
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
Это прекрасно работает с Километры, но то, что я ищу это метров. Поэтому я знаю, что меняют числа в этой функции, но какие и какие. Любая помощь ?
Er, на каком языке? И [что вы пробовали] (http://mattgemmell.com/2008/12/08/what-have-you-tried/)? – ghoti
Извините, langauge - mysql, у меня есть формула для получения километров. Мне просто нужно выработать счетчики. Спасибо за всю помощь, ребята! –
Чтобы изменить km на m, просто умножьте результат на 1000. Вот что означает «k»: «кило» - это «тысяча». –