タイトルがあいまいな場合は申し訳ありませんが、私の状況に正確にタイトルを付ける方法はありません. GPS を使用する iPhone 用のアプリを作成しています。このdidUpdateLocations:
方法では、任意のサイズの変数に対して位置の水平方向の精度をテストします (50 に設定しました。これが出発点として適しているように思えたからです)。水平精度が 50 未満の場合は、位置を保存し、カウンターをインクリメントして、位置が正常に収集されたことを示します。水平精度がテストに合格しない場合、ロケーション成功カウンターが減少します。水平精度テスト値を調整する式を考え出そうとしています。
精度テストにカウンターを使用するだけであれば、問題は簡単に解決できますが、線形性の低いものを望んでいました。精度テスト変数が最初は急速にゼロに近づき、近づくにつれて遅くなるように、カウンターをある意味で重み付けしたいと思います。
私はこのように機能するものを持っていましたが、精度テスト変数が正確すぎて GPS が一致しなくなると、発振し始めました。その後、1 から 80 程度の値の間をジャンプするだけです。外観は次のとおりです。
int previousCounter = successCounter;
if (location.horizontalAccuracy < accuracy)
{
// save location...
successCounter++;
}
else
successCounter--;
int direction = previousCounter - successCounter;
accuracy = 50 - direction * pow(successCounter, 2);
私はこのことを何時間もいじっていて、実用的なものを手に入れることができないようで、グーグルを検索してみましたが、何を探すべきか正確にはわかりません. ここで誰かが助けてくれることを願っています。