私の MySQL データベースにはx,y,z
、位置を表す 3 つのフィールドがあります。
az,el,r
これらの座標を極座標に変換し、これらに基づいて、(たとえば)az
ある地域内にある行を選択したいと思います。
MySQLでこれを行うにはどうすればよいですか?
編集:
これは、座標変換を実際に行う方法の問題ではなく、MySQL が何らかの方法に基づいてデータを変換し、変換されたデータの比較に基づく基準で変換されたデータを選択できるかどうかという問題ではありません。データ。
私の MySQL データベースにはx,y,z
、位置を表す 3 つのフィールドがあります。
az,el,r
これらの座標を極座標に変換し、これらに基づいて、(たとえば)az
ある地域内にある行を選択したいと思います。
MySQLでこれを行うにはどうすればよいですか?
編集:
これは、座標変換を実際に行う方法の問題ではなく、MySQL が何らかの方法に基づいてデータを変換し、変換されたデータの比較に基づく基準で変換されたデータを選択できるかどうかという問題ではありません。データ。
三角形を解く..。
デカルト=どのくらいの距離とどのくらいの高さの極座標=どのくらいの距離とどの角度
変換するには、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
IMHO これは実際には球座標系の数学の問題であり、MySQL 固有の質問ではありません。
この例では、MySQL がたまたまデータ コンテナーになっています。
最初に数学を計算する必要があるソリューションでは、データに方程式を適用することが問題になります。
私は MySQL を手伝うことができますが、これらの方程式を Google で解かなければならず、私の指は疲れています =)