私の質問は、私は2つのポイント間の距離を計算することができる関数/数式を探していると述べています。今私は例を見て、偉大な機能を見いだしましたが、それらのどれも、2点のセットを供給すると、すべて0に戻りません。基本的には、次の関数(lat1、lon1、lat2、lon2)を渡して距離を戻す必要があります。この距離から、別のポイントが近くにあるかどうかをチェックすることができます。lonとlatの2つのセットの間の距離を計算する
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"は "kilo"が "thousand"であることを意味します。 –