当多边形的点数为Lats Longs时,如何计算MySQL数据库中多边形的面积?

时间:2010-07-27 22:37:50

标签: mysql polygon latitude-longitude area

如何计算存储在MySql数据库中的多边形的面积?多边形的点是拉特长。因此,度和分钟似乎导致了问题。

我试过了:

SELECT AREA( my_polygon ) 
FROM  `my_table` 
WHERE name =  'Newport'

因为,这些点是长期的,我得到了奇怪的结果。

(我无法切换到Postgre)。有没有办法在MySQL中这样做?我希望得到平方米或平方公里或平方英里的结果 - 其中任何一个都没问题。

1 个答案:

答案 0 :(得分:2)

你必须将这些拉特和长子变成一个更合适的坐标系。

由于地球是一个球体,你所说的是以球坐标计算面积。

文档说MySQL "AREA" function将多边形作为输入。我想说如果你想要像平方英里这样的区域,你应该将你的纬度/经度坐标转换为等效的面(x,y)坐标和正确的单位(例如,英里)。然后将它们传递给AREA函数。

This link表明其他人遇到了这个问题并解决了它。