問題タブ [bearing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
34093 参照

algorithm - 方位と距離から座標を計算する

ここで説明されている機能の実装に問題があります。

これは私のJava実装です:

関数を呼び出す前に、方位角をラジアンに変換し、距離 (km) をラジアン距離に変換します。これは問題ではありません。

ただし、次のような座標を入力すると: lat = 49.25705; 経度 = -123.140259; 方位225(南西)、距離1km

これが返されます: lat: -1.0085434360125864 lon: -3.7595299668539504

明らかに正しくありません。誰かが私が間違っていることを見ることができますか?

ありがとう

0 投票する
1 に答える
2798 参照

android - Location.distanceBetween() から返される初期方位の縮尺

Location.distanceBetween() を呼び出して最初と最後の方位を取得する場合、方位はどの縮尺ですか? 私は負の値を取得していますが、これは私には意味がありません。方位は 0 から 360 度です (相対角度か絶対角度かは関係ありません)。考えられる唯一のことは、N から E から S は 0 から 180 度、N から W から S は 0 から -180 度です。

誰かがこれに光を当てることができますか?

0 投票する
0 に答える
485 参照

iphone - iPhone コンパス GPS 方向

重複の可能性:
iPhone コンパス GPS 方向

こんにちは、iPhone の GPS とコンパスを使用して、ある種のポインターを特定の場所に向けるアプリケーションを開発しようとしています (コンパスが常に北を指すように)。場所は固定されており、ユーザーがどこにいても、その特定の場所を指すポインターが常に必要です。私はこの場所の緯度/経度座標を持っていますが、コンパスと GPS を使用してその場所を指す方法がわかりません... http://www.youtube.com/watch?v=iC0Xn8hY80wこのリンク 1 のように: 20' 私はすでにいくつかの手続き見出しを知っています = atan2( sin(lon2-lon1)*cos(lat2), cos(lat1)*sin(lat2) - sin(lat1)*cos(lat2)*cos(lon2-lon1) ) 次に 180/π を掛けてから、-(CLLocationDirection)directionToLocationCLLocati on *)location {

CLLocationCoordinate2D coord1 = self.coordinate; CLLocationCoordinate2D coord2 = location.coordinate;

CLLocationDegrees deltaLong = coord2.longitude - coord1.longitude; CLLocationDegrees yComponent = sin(deltaLong) * cos(coord2.latitude); CLLocationDegrees xComponent = (cos(coord1.latitude) * sin(coord2.latitude)) - (sin(coord1.latitude) * cos(coord2.latitude) * cos(deltaLong));

CLLocationDegrees ラジアン = atan2(yComponent, xComponent); CLLocationDegrees 度 = RAD_TO_DEG(ラジアン) + 360;

fmod(度、360)を返します。矢印を設定し、矢印を回転させたい。しかし、結果は正しくありません。また、現在の見出しは使用しません。矢印を回転させるには、現在の見出しを結果と組み合わせて使用​​する必要があると思います。

誰でも私にいくつかの解決策を教えてください。

0 投票する
11 に答える
130178 参照

android - Androidの位置へのコンパス方位/機首方位を計算します

グーグルマップビューの自分の場所に矢印を表示して、目的地の場所(北ではなく)を基準にした方向を表示したいと思います。

a)磁力計と加速度計のセンサー値を使用して北を計算しました。Googleマップビューで使用されているコンパスと一致しているので、これが正しいことはわかっています。

b)myLocation.bearingTo(destLocation);を使用して、現在地から目的地までの初期方位を計算しました。

最後のステップがありません。これらの2つの値(aとb)から、宛先の場所を基準にして電話が指している方向を取得するためにどの式を使用しますか?

心を落ち着かせるための助けに感謝します!

0 投票する
1 に答える
12357 参照

android - MapView で進行方向を示す矢印を描画するにはどうすればよいですか?

その Google マップ コンポーネントMapViewを Android アプリケーションで使用します。GPS 位置情報を使用して、自分の位置をドットで表示できます。しかし、代わりに、駆動方向 (ベアリング) を示す矢印を表示したいと思います。bearing値を使用して矢印の角度を取得できると思います。

どうやってやるの?

0 投票する
4 に答える
11494 参照

python - ポイント、方位、距離を指定してgps座標を計算する

しばらくの間、あるプロジェクトに引き戻される問題があります。

私は基本的に、私が書いたスクリプトによって描かれたx、yポイントを使用してポリゴンをトラップしようとしています。lat、lonはポリゴンの中央のGPSコードであり、周囲のポリゴンを探しています。

これがPythonの私のコードの一部です:

私の入力は次のようになります:

  • lat、lon-は10進数で指定されます。
  • dr-は、マイル単位の距離を地球の半径(= 3958.82)で割って計算された角度です。
  • 方位-0〜360度。

ただし、入力の場合:

私は出力を受け取ります: [-1.3485899508698462, -76.8576637627568]しかし[42.2516666666667, -76.8097222222222]、それは正しい答えです。

角距離については、マイル単位の距離を地球の半径(= 3958.82)で割って計算します。

誰か?

0 投票する
4 に答える
46563 参照

android - コンパスを含むAndroid携帯の向きの概要

私はしばらくの間、Androidの向きセンサーに頭を悩ませようとしてきました。わかったと思いました。それから私はそうしなかったことに気づきました。今、私は(願っています)私はそれに対して再び気分が良くなったと思いますが、それでも私は100%ではありません。私はそれについての私のパッチの理解を説明しようとします、そしてうまくいけば、私が部分的に間違っているか、空白を埋めるならば、人々が私を訂正することができるでしょう。

経度0度(本初子午線)と緯度0度(赤道)に立っていると思います。この場所は実際にはアフリカの沖合の海にありますが、私には耐えてください。電話の底が私の足を指すように、電話を顔の前に持っています。私は北を向いている(グリニッジを向いている)ので、電話の右側は東をアフリカに向けています。この方向(下の図を参照)では、X軸は東を指し、Z軸は南を指し、Y軸は空を指します。

これで、電話のセンサーを使用して、この状況でのデバイスの向き(場所ではなく)を把握できます。この部分はいつも私を混乱させてきました。おそらく、それが正しく機能することを受け入れる前に、何かがどのように機能するかを理解したかったからです。電話は2つの異なる技術の組み合わせを使用してその向きを解決しているようです。

その前に、緯度と経度が0度で、上記の方向に立っている架空の土地に戻って立っていることを想像してみてください。また、目隠しをして、靴が遊び場のラウンドアバウトに固定されていると想像してみてください。誰かがあなたを後ろに押し込んだ場合、あなたは前に(北に向かって)倒れ、両手を出してあなたの転倒を壊します。同様に、誰かがあなたの左肩を押した場合、あなたはあなたの右手に倒れます。内耳には「重力センサー」(youtubeクリップ)があり、前方/後方に落下しているか、左/右に落下しているか、落下(または上向き!!)しているかを検出できます。したがって、人間は電話と同じX軸とZ軸の周りの位置合わせと回転を検出できます。

ここで、誰かがラウンドアバウトであなたを90度回転させて、あなたが今東を向いていると想像してください。Y軸を中心に回転しています。この軸は、生物学的に検出できないため、異なります。ある程度の角度があることはわかっていますが、惑星の磁北極との関係で方向がわかりません。代わりに、外部ツール...磁気コンパスを使用する必要があります。これにより、私たちがどちらの方向を向いているかを確認できます。同じことが私たちの電話にも当てはまります。

現在、電話には3軸加速度計もあります。私は持っていませそれらが実際にどのように機能するかを考えますが、私が視覚化する方法は、重力を空から降る一定で均一な「雨」として想像し、上の図の軸を流れる雨の量を検出できるチューブとして想像することです。電話を直立させた状態で、すべての雨がY'チューブ'を通って流れます。画面が空に向くように電話を徐々に回転させると、Yを流れる雨の量はゼロに減少し、Zを流れる音量は、最大の雨が流れるまで着実に増加します。同様に、電話を横向きに傾けると、Xチューブは最終的に最大量の雨を集めます。したがって、3つのチューブを流れる雨の量を測定することにより、電話の向きに応じて、向きを計算できます。

電話には、通常のコンパスのように動作する電子コンパスもあります。その「仮想針」は磁北を指しています。Androidは、これら2つのセンサーからの情報をマージして、SensorEventTYPE_ORIENTATIONが生成されるたびに、values[3]配列の
値が[0]:方位角-(磁北の東にあるコンパス)
値[1]:ピッチ、x軸を中心とした回転(電話です)前傾または後傾)
値[2]:y軸を中心に回転、回転(電話は左側または右側に傾いています)

したがって、Androidが3番目の加速度計の読み取り値ではなく方位角(コンパス方位)を提供する理由は、コンパス方位の方が便利だからだと思います(つまり、わかりません)。SensorEventタイプのsのシステムにリスナーを登録する必要があるように思われるため、なぜこのタイプのセンサーが非推奨になったのかわかりませんTYPE_MAGNETIC_FIELD。イベントのvalue[]配列をメソッドに渡してSensorManger.getRotationMatrix(..)、回転行列(以下を参照)を取得し、それをメソッドに渡す必要がありSensorManager.getOrientation(..)ます。Androidチームが非推奨になった理由を誰かが知っていますSensor.TYPE_ORIENTATIONか?それは効率的なものですか?これは、同様の質問へのコメントの1つに含まれていることですが、別のタイプのリスナーを登録する必要があります。development / samples / Compass / src / com / example / android / compass/CompassActivity.javaの例。

ここで、回転行列について説明します。(これは私が最も確信が持てないところです)したがって、上記のAndroidドキュメントからの3つの図は、A、B、およびCと呼びます。

A = SensorManger.getRotationMatrix(..)メソッドの図であり、世界の座標系を表します

B = SensorEventAPIで使用される座標系。

C = SensorManager.getOrientation(..)メソッド図

したがって、私の理解では、Aは「世界の座標系」を表します。これは、惑星上の場所がオプションの(高度)との(緯度、経度)カップルとして与えられる方法を指していると思います。Xは「東」座標、Yは「北」座標です。Zは空を指し、高度を表します。

電話の座標系を図Bに示します。固定されています。そのY軸は常に上を指します。回転行列は電話によって常に計算されており、2つの間のマッピングが可能です。それで、回転行列がBの座標系をCに変換すると考えるのは正しいですか?したがって、SensorManager.getOrientation(..)メソッドを呼び出すときは、図Cに対応する値の配列を使用values[]します。電話が空を指す場合、回転行列は単位行列(数学的に1に相当する行列)です。これは、デバイスが位置合わせされているため、マッピングが不要であることを意味します。世界の座標系で。

Ok。今はやめたほうがいいと思います。私が前に言ったように、私がどこで人々を台無しにしたか、または人々を助けた(またはさらに人々を混乱させた!)人々が私に教えてくれることを願っています

0 投票する
10 に答える
180784 参照

python - Python の Haversine Formula (2 つの GPS ポイント間の方位と距離)

問題

2 つの GPS ポイント間の距離と方位を取得する方法を知りたいです。ハーバシンの公式について調べてみました。誰かが、同じデータを使って方位を見つけることもできると教えてくれました。

編集

すべてが正常に機能していますが、ベアリングはまだ正しく機能していません。方位は負を出力しますが、0 ~ 360 度の間である必要があります。設定されたデータは、水平方向のベアリングを作成する必要があり、次の96.02166666666666 とおりです。

ここに私の新しいコードがあります:

0 投票する
2 に答える
14112 参照

python - 2 点間の方位

私はgeopyパッケージを使用していますが、これは素晴らしい仕事をしていますが、得られる結果のいくつかは矛盾しているか、比較的大きな変位を伴います.問題はベアリングの計算にあると思われます:

方位を計算する必要があります。st center_x と center_y はピボットです。その後、geopy を使用して GPS 座標をリバース エンジニアリングします。

誰かが私が間違っているかもしれないことを指摘できますか?