在我的MySQL数据库中,我有三个字段x,y,z
代表一个位置。从数据库中的笛卡尔坐标选择极坐标
我想将这些坐标转换为极坐标az,el,r
,并基于这些坐标选择其中(例如)az
位于某个区域内的行。
我该如何去做这个在MySQL?
编辑:
这不的如何真正做问题坐标变换,而是,如果MySQL能够根据某种方法转换数据,然后选择数据,一旦它的用基于变换数据的比较的标准来变换。
在我的MySQL数据库中,我有三个字段x,y,z
代表一个位置。从数据库中的笛卡尔坐标选择极坐标
我想将这些坐标转换为极坐标az,el,r
,并基于这些坐标选择其中(例如)az
位于某个区域内的行。
我该如何去做这个在MySQL?
编辑:
这不的如何真正做问题坐标变换,而是,如果MySQL能够根据某种方法转换数据,然后选择数据,一旦它的用基于变换数据的比较的标准来变换。
解决三角...
笛卡尔=多远沿多远了 极地=多远,什么角度
为了转换你需要解决两个直角三角形众所周知双方
你需要用勾股定理找到长边(斜边)
需要正切函数找到角度
r = √ (x2 + y2)
=毕达哥拉斯 θ = tan-1 (y/x)
=正切函数
假设没有负值 - 那么你将不得不采取正切函数的逆,或将它们转换为他们的积极对应
Mysql的Pythagorus
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
然后我回答你的问题在我的参考? – Hituptony 2013-02-12 21:08:23