1

重複の可能性:
3 つの緯度と経度の点、および 3 つの距離を使用した三辺測量

これは、プログラミングの問題というよりも数学の問題です。基本的に、P1:(lat1, lon1)、P2:(lat2, lon2)、P3:(lat3, lon3)、D1、D2、D3、および 4 番目の未知の点 Px:(latx, lonx); があります。また、P1、P2、P3 は大円の同じ経路にはありません。D1 は P1 と Px の間の距離、D2 は P2 と Px の間の距離などです。

Px の座標を知るにはどうすればよいですか?

=返信に基づいて編集=

どうもありがとう!

PS。API を指定する場合は、JavaScript で指定してください。

4

1 に答える 1

3

ここでは、数学的な制約を満たす複数の点があることを理解する必要があります。球上にP1とP2の2つの点があり、P1から距離xとP2から距離yに別の点T1がある場合、別の対称(ミラーリング)になります。 )いわば反対側で同じ距離条件を満たす点T1'。

さらに悪いことに、直径Dの球の場合を考えてみましょう。P1は北極にあり、P2は南極にあります。赤道上のすべてのポイントがあなたの条件を満たすと思いますか?

これをあなたの例に当てはめてください:北極のP1を考えてみましょう。南極のP2を考えてみましょう。Pxまでの距離、つまりD1 = D2 =(2.pie.r)/4を考慮してください。問題がわかりますか?赤道上のすべてのポイントはこれを満たし、単一の一意のポイントではありません。実際、この場合、D1!= D2であっても、点がこれらの制約を満たす、より小さな同心線(赤道に対して同心)があります。

あなたの場合、Pxが多すぎます。1つではありません。球面上の特異点に到達するには、記述の制約がより具体的になります。

最後に、コンテキストの正確さを確立することが重要です。アルゴリズムは、基準を満たすすべてのポイントをサポートする必要がありますか?または、アルゴリズムが常に特異点に評価されるように基準を変更する必要があります。気をつけて。

あなたを助けるためのいくつかのリンク:

ウィキペディア: http: //en.wikipedia.org/wiki/Spherical_coordinates
SO:球の端に点をプロットする

3つのポイントの例に基づいた更新:


繰り返しますが、基準を満たす複数のポイントが存在する可能性があります。P1、P2、P3が同じ円弧上にある場合はどうなりますか?下の図を参照してください。3つのポイントがあっても、距離の基準を満たす4番目のポイントが1つあるという保証はありません。nポイントでもそのような保証はありません。

数学言語では、n個のランダムな点のセット、およびこれらの個々の点からの距離のセットに対して、距離基準を満たす結果の点のセットは複数の要素を持つ場合があります。

ここに画像の説明を入力してください

あなたは考えに騙されるかもしれません:ああ、この男は常に同じ弧上にある点を想定しています。ええと、あなたは特別なアルゴリズムを作っているのではありませんか?あなたのアルゴは一般化された解決策になりますね?

ポイントが同じ円弧上にないことを保証する必要があります(nポイントのセットでは、少なくとも1つのポイントが同じ円弧上にあることはできないと思います)。

ソースポイントを最小限に抑えるには:ポイント間にtraingular関係を確立する必要があります。これは、2つのポイントのみを使用すると、三角形の関係によって正確に1つのポイントが生成されるためです。

どんな三角形?これを視覚化してください。2つのポイントと3番目の未知のポイントがあります。あなたが言及するすべての距離は球形、つまり曲面の距離です。これらのポイントの間にもフラットな距離があることがわかりますか?これらの点を通過し、球をスライスする平面があることを想像できますか?これは、表面の曲率(したがって3Dステラジアン角度)について心配する必要がないことを強調するために言います。下にある2D三角形を見ることができます。その未知の頂点は、球体表面の3番目の点にもなります。

これは視覚化するのが非常に難しいかもしれないことを私は知っています、私はこれのために図を作ってみます。(良いオンラインツールが見つかりません!)。

最後に、これは非常に役立ちます。注意深くお読みください。

Wikipediaからの抜粋:http://en.wikipedia.org/wiki/Great-circle_distance

大円または正統距離は、球の表面のパスに沿って測定された、球の表面上の任意の2点間の最短距離です。 (球の内部を通過するのとは対照的に)。球面幾何学は通常のユークリッド幾何学とは異なるため、距離の方程式は異なる形式を取ります。ユークリッド空間の2点間の距離は、ある点から別の点までの直線の長さです。ただし、球上には直線はありません。非ユークリッド幾何学では、直線は測地線に置き換えられます。球上の測地線は大円(中心が球の中心と一致する球上の円)です。

その他の更新:

長い広背筋からデカルト座標への変換は、Haversineの式で行うことができます。グーグルそれ。ここを参照してください:経度\緯度からデカルト座標への変換 およびここ:http://en.wikipedia.org/wiki/World_Geodetic_System

于 2012-07-16T08:07:37.403 に答える