1

垂直面で移動した距離を記録するアプリの関数を作成しようとしています。より具体的には、デバイスが「落下」した距離を記録したいと思います。これは、腕の長さで床に落とされた、またはエレベーターで 10 階を下るときにユーザーと一緒にゆっくりと落とされたことを意味します。これを比較的高い精度で計算するための最良の方法についてのアドバイスを探しています。

コアモーションを使用して移動距離を正確に測定することの難しさについて少し読んだことがあります-特に、移動中にデバイスが回転しても機能する必要があるためです。私が調査したところ、コアモーションを使用してこれを達成することは不可能、または少なくとも非常に困難であるように思われます.

代わりに Core Location を使用してこの効果を達成できますか? 車での移動中など、横方向の距離の計算に関する投稿を見たことがありますが、垂直方向の距離については何もありません。

「開始高度 - 終了高度 = 移動距離」と同じくらい簡単ですか?

もしそうなら - Core Location の高度測定はどのくらい正確ですか? また、この動作をどのように開始できますか? 私はiOSプログラミングにかなり慣れていないので、必要な機能を実現するための最も適切な方法についての指針をいただければ幸いです。

ありがとう

4

1 に答える 1

1

どちらのアプローチにも重大な制限があります。

加速度計を使用して移動距離を測定するには、加速度を非常に正確かつ正確にリアルタイムで測定する必要があります。加速度の読み取り値に誤差があると、速度の計算に誤差が生じ、位置の読み取り値が実際の位置からずれてしまいます。ドリフトは時間の経過とともに悪化し、誤差が実際の位置の読み取りを圧倒するところまで進みます。

私のテストによると、iOS GPS デバイスの高度の読み取り値は非常に悪いです。+/- 100 メートル以上も珍しくありません。屋内での GPS の読み取り値は非常に悪くなる傾向があり、高度の読み取り値はまずまずです。

于 2013-11-10T01:02:52.413 に答える