1

タイトルがわかりにくかったらすみません。

私が達成しようとしているのは、実行するルートが事前に定義されている「実行中のアプリ」です。

ランナーが移動しているすべての場所を記録しています。ランナーが終わったら。アプリは場所を WCF サービスに送信します。ここでは、緯度と経度を使用した複数の「座標」に関して定義されたルートがあります。

私がやりたいことは、ランナーが「十分に近い」すべての座標を訪れたかどうかを確認することです。

すべての場所を.NETの「地理空間ポイント」に変換し、すべてのユーザーの場所から座標までの距離をチェックする単純なループは、ここでは重いようです。

このシナリオにアルゴリズムまたはベストプラクティスがあるかどうか疑問に思っているのは何ですか?

そのような質問がstackoverflowに当てはまるかどうか、そうでない場合はわかりません。ごめんなさい。

4

3 に答える 3

1

パスを外れ値、異なるサンプリング周波数、およびオフセットと比較する方法についていくつかのアイデアが必要な場合は、私の論文「The Mean Gaze Path」の第 5 章と第 6 章を参照してください。そこで使用される主なツールは、リサンプリング、最長共通部分文字列の一致、および変換です。 -不変のパス表現。

于 2013-11-06T16:31:41.337 に答える
0

バウンシング バブル (下部のアルゴリズム: http://en.wikipedia.org/wiki/Bounding_sphere ) と呼ばれるクールなアルゴリズムを見ました。これは、一連の点の周りの最小境界球を計算します。

これが役に立つかもしれません:

  1. サーバー上で事前に定義されたルートのバウンス バブルを事前に計算します。
  2. バブル データをアプリに送信します。データは、バブルの中心と半径の 2 つだけです。
  3. 座標が入ってくると、アプリでダイナミック ルートのバウンス バブルの反復を実行します。
  4. バブルの半径と中心を比較して、それらがどれだけ近いかを判断します。ルートが完成に近づくにつれて、バブルは収束します。

より詳細なレポートを作成するには、ルートをセグメントに分割し、セグメントごとに上記を実行します。

于 2013-11-06T16:35:48.897 に答える
0

ランナーのルートは、距離の昇順で座標のリストとして保存されていると仮定します。この場合、バイナリ検索は、各チェックポイントに最も近いアプローチを見つけるのに役立ちます。ランナーが同じチェックポイントを 2 回以上通過する必要がある場合、状況は少し複雑になる可能性がありますが、2 回の訪問の間の中間チェックポイントでルートを分割することで対処できます。(それが理にかなっていることを願っています。)

于 2013-11-06T16:14:30.163 に答える