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

Lax*_*idi 5 mysql polygon area latitude-longitude

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

我试过了:

SELECT AREA( my_polygon ) 
FROM  `my_table` 
WHERE name =  'Newport'
Run Code Online (Sandbox Code Playgroud)

因为,积分是拉特长,我得到奇怪的结果.

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

duf*_*ymo 2

您必须将这些纬度和经度转换为更合适的坐标系。

由于地球是一个球体,因此您正在谈论计算球坐标中的面积。

文档说MySQL “AREA”函数将多边形作为其输入。我想说,如果您想要面积像平方英里这样的东西,您应该将您的纬度/经度坐标转换为具有正确单位(例如英里)的等效表面(x,y)坐标。然后将它们传递到 AREA 函数中。

此链接表明其他人也遇到过此问题并已解决。