Returns as a double-precision number the area of the
MultiPolygon value
mpoly, as measured in its
spatial reference system.
mysql>SET @mpoly =->'MultiPolygon(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))';mysql>SELECT Area(GeomFromText(@mpoly));+----------------------------+ | Area(GeomFromText(@mpoly)) | +----------------------------+ | 8 | +----------------------------+
The OpenGIS specification also defines the following functions, which MySQL does not implement:

User Comments
The result of Area() depends on the type of Spatial Reference (SRID).
The value above is based on euclidian geometry.
The area of a triangle (and hence of a Polygon and MultiPolygon) is given by Heron's formula
SQRT ( s * (s-a) * (s-b) * (s-c) )
only in planar (euclidian) geometry.
Here a, b and c are the lengths of the sides of a triangle as given by GLength() (see also comment on MultiLineString functions) and s=(a+b+c)/2.
On a sphere where coordinates are lattitude and longitude and the lengths of the sides are measured in radians the formula to use for the area is
AreaInSteradians = 4*atan(sqrt( tan(s/2) * tan((s-a)/2) * tan((s-b)/2) * tan((s-c)/2) ))
AreaInSqMeters = AreaInSteradians * RadiusOfSphere^2
See also my comment on 19.5.2.4 MultiLineString Functions
Add your own comment.