2011-10-25 7 views
1

森に隠されていると仮定しましょう。ビーコンがあります。私はヘリコプターで森の上を飛行し、ランダムな間隔でビーコンにpingします。それぞれのpingに対して、私は緯度/経線のペアと、その点でのビーコンの信号強度(ただし方向はありません)を取得します。PHP:緯度/経度/信号強度データを使用してビーコンの位置を見つける

  1. PHPでビーコンの位置を計算するにはどうすればよいですか?

  2. ビーコンの現在の見積もりにどのように追加すればよいでしょうか?

注:私たちは森の信号強度に影響を及ぼしているのか分からないが、私たちは効果が均一であると仮定することができます - ビーコンはクリアであること、または石の下に埋葬ことができます。

+0

うーん...私には宿題のような疑いがあります。 –

+0

1.できません。あなたが最初に提供した値のどれもベクトルではありません。 2つの値のペアでも、できません。あなたはビーコンの強さに比べて距離を与える何らかの種類のテーブルを持たなければならないでしょう。 – John

+0

@Brian、宿題ではなく、私を信頼してください。これは実際の生活のアプリケーションを持っています –

答えて

1

私はあなたがpingの緯度と経度を取得していると仮定しています。

2 x 2の正方形のグリッド(できるだけ近く)に、少なくとも4つのpingが必要です。より多くのpingが役に立ちますが、測定エラーを処理する必要があります。

ここでは強度値が作成されたアスキー画が貧弱です。北が上がっていると仮定します。

X (6 strength)    X (4 strength) 
. 
. 
. 
X (5 strength)    X (3 strength) 

まったく数学をやってなければ、ビーコンは、あなたがこれらの測定値を取ったところの中心部の北西西にどこかにあると判断することができます。

信号の強さ(およそ)で距離を計算することができれば、マップ上のある場所で推測することができます。

距離を計算できない場合は、スポットがあると思われる別の2 x 2平方グリッドをpingしてください。ある時点で、強さはほぼ等しくなり、ビーコンがあなたの四角形の中央付近にあると仮定することができます。

私はこれが役立ち、ヘリコプターで時間を費やすことはないと思っています。

編集内容:ビーコンの信号強度は、距離の2乗に反比例します。 (distance = sqrt(x factor/signal strength)) xファクタ(12)を既に決定しているので、信号強度9が地図上の半径1.1インチの円を表し、信号強度3が半径2.0インチの円を表すことがわかっているとします地図。

したがって、左下のpingを取得すると、pingをマップに配置し、半径1.5インチの円を描くことができます。左上のpingを取得すると、pingをマップに配置し、半径が1.4インチの円を描くことができます。

ここで、これらの2つの円はマップのどこかで交差します。その交差点のどこかがビーコンの場所になります。

ヘリコプターが回転し、右上にpingが表示されます。半径1.7インチの円を描きます。次に、右下にpingが表示され、 は半径2インチの円を描画します。

4つの円の交点は、小さな粗い四角形を構成する必要があります。

四角形の中央に飛んで別のpingを実行します。あなたはかなり高い信号強度を得るべきです。ロープを下ろして、ビーコンと孤立したハイカーを見つけ、ロープに戻って、ヘリコプターがあなたと孤立したハイカーを安全に引っ張るようにしてください。

+0

さまざまな読み値の相対的な位置がわからない場合は、これが機能しますか? –

+0

@Adrien Hingert:私はあなたの質問を理解していません。 pingの緯度と経度はありませんか? pingを地図上にプロットして、pingの相対位置を確認することができます。 –

+0

あなたが提供した情報でどのように数学をするのか分かりません。 –

関連する問題