5

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

我试过了:

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

因为,这些点是经纬度,我得到了奇怪的结果。

(我无法切换到 Postgre)。有没有办法在 MySQL 中做到这一点?我希望得到以平方米、平方公里或平方英里为单位的结果——这些都可以。

4

1 回答 1

2

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

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

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

此链接表明其他人遇到了这个问题并解决了它。

于 2010-07-27T23:02:12.450 回答