2 つの GPS 座標間の距離を計算する関数があります。次に、データベースからすべての座標を取得し、それらをすべてループして現在の座標と前の座標の間の距離を取得し、それを特定の GPS デバイスの配列に追加します。何らかの理由で NaN が返されます。 double、整数に変換し、数値を四捨五入してみました。
これは私の PHP コードです:
sin() と cos() の範囲は -1 から 1 です。したがって、$dist が初めて評価されるとき、結果の範囲は -2 から 2 になります。次に、これは acos() に渡され、その引数は -1 から 1 までの値でなければなりません。たとえば、 acos(2) は NaN を返します。そこにある他のものはすべて NaN になります。
sin()
cos()
$dist
acos()
acos(2)
式がどうなるのかはわかりませんが、NaN はそこから来ています。三角関数を注意深く確認してください。
データベースから抽出した値が文字列である可能性があり、それがこの問題の原因となります。
Kolink が投稿で尋ねた質問も確認してください。
sin()
とcos()
の範囲は -1 から 1 です。したがって、$dist
が初めて評価されるとき、結果の範囲は -2 から 2 になります。次に、これはacos()
に渡され、その引数は -1 から 1 までの値でなければなりません。たとえば、acos(2)
は NaN を返します。そこにある他のものはすべて NaN になります。式がどうなるのかはわかりませんが、NaN はそこから来ています。三角関数を注意深く確認してください。
データベースから抽出した値が文字列である可能性があり、それがこの問題の原因となります。
Kolink が投稿で尋ねた質問も確認してください。