0

ランナーのトラックルートを保存するためのAndroidアプリを開発しました。実行中のアプリなので、10秒ごとに場所を報告する必要があります。つまり、10秒ごとに、デバイスのsqliteとWebサービス呼び出しを使用してWebサーバーにローカルコピーとしてlanglatが保存されます。

アプリの目的は、特定の時間ごとの正確な位置と人の速度を表示することです。

友人と私はアプリを3週間インストールし、ほぼ毎日数時間使用しました。データベースには約6,000,000レコードが殺到しました。サーバーのスペースがなくなるため、各レコードを実行し続けることができなくなります。

トラックの任意のポイントでの人の正確な位置と彼の速度を知ることを可能にする、位置または他のアーキテクチャまたはアルゴリズムを保存できる他の方法はありますか?

4

2 に答える 2

0

3(週)* 7(日)* 3(時間)* 60(分)* 6(10秒間隔)=ランナーあたり22680レコードだけではいけませんか?

1つのアプローチは、実行データを文字列として保存し、「実行」ごとに1つのレコードをdbに保存することです(または1時間ごとに1つ、またはn分)。

文字列は、次のように開始位置とオフセットのみを格納するようにフォーマットできます: "36.234234234、-114.3434434,0.004,0.006,0.002,0.000 .. ..

于 2012-10-11T00:27:15.843 に答える
0

トラックログのスペース要件を減らすには、さまざまな方法があります。基本的に、近くの場所を1つのポイントにクラスター化してフィルタリングできます。また、mif loggerが2つ以上の結果の読み取りで同じポイントに留まる場合は、新しいカウンターを作成する代わりに、ポジションレコードのカウンターをインクリメントできます。

トラックの先頭にタイムスタンプを付け、残りをスキップします。読み取りは一定の間隔で行われるため、時間情報を計算できます。

追加情報については、次のpdfを参照してください。

[http://www.activelivingresearch.org/files/DataReduction_GPS_Workshop.pdf]

于 2012-10-12T18:51:01.557 に答える