0

私の MySQL データベースにはx,y,z、位置を表す 3 つのフィールドがあります。

az,el,rこれらの座標を極座標に変換し、これらに基づいて、(たとえば)azある地域内にある行を選択したいと思います。

MySQLでこれを行うにはどうすればよいですか?

編集:
これは、座標変換を実際に行う方法の問題ではなく、MySQL が何らかの方法に基づいてデータを変換し、変換されたデータの比較に基づく基準で変換されたデータを選択できるかどうかという問題ではありません。データ。

4

2 に答える 2

3

三角形を解く..。

デカルト=どのくらいの距離とどのくらいの高さの極座標=どのくらいの距離とどの角度

変換するには、2つの既知の辺の直角三角形を解く必要があります

ピタゴラスの定理を使用して長辺を見つける必要があります(斜辺)

角度を見つけるにはタンジェント関数が必要です

r = √ ( x2 + y2 )=ピタゴラス θ = tan-1 ( y / x )=接線関数

負の値がないと仮定すると、tan関数の逆関数を取得するか、正の値に変換する必要があります。

MySQLピタゴラス

SQRT((POWER(242-'EAST',2)) + (POWER(463-'NORT',2))) < 50

あなたの座標がこのように見えると仮定して....ここに例があります

http://www.tek-tips.com/viewthread.cfm?qid=1397712

ここでタンジェント関数

http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_tan

于 2013-02-12T15:01:24.490 に答える
1

IMHO これは実際には球座標系の数学の問題であり、MySQL 固有の質問ではありません。
この例では、MySQL がたまたまデータ コンテナーになっています。

最初に数学を計算する必要があるソリューションでは、データに方程式を適用することが問題になります。
私は MySQL を手伝うことができますが、これらの方程式を Google で解かなければならず、私の指は疲れています =)

于 2013-02-12T15:09:48.583 に答える