0

在我的 MySQL 数据库中,我有三个字段,x,y,z代表一个位置。

我想将这些坐标转换为极坐标az,el,r,并根据这些选择(例如)az在某个区域内的行。

我将如何在 MySQL 中执行此操作?

编辑:
不是关于如何实际进行坐标转换的问题,而是,如果 MySQL 能够基于某种方法转换数据,然后在转换后使用基于转换后比较的标准来选择数据数据。

4

2 回答 2

3

解决三角...

笛卡尔=沿多远和向上多远极坐标=多远和角度

为了转换,您需要解决两个已知边的直角三角形

你需要使用毕达哥拉斯定理来找到长边(斜边)

你需要切线函数来找到角度

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

恕我直言,这实际上是一个球坐标系数学问题,而不是特定于 MySQL 的问题。
MySQL 恰好是这个实例中的数据容器。

对于任何解决方案,您都需要先进行数学运算,然后将方程应用于数据。
我可以帮助使用 MySQL,但我必须用谷歌解决这些方程,而且我的手指很累 =)

于 2013-02-12T15:09:48.583 回答