Syntax
------

Polygon(ls1,ls2,...)

Description
-----------

Constructs a WKB Polygon value from a number of WKB LineString arguments. If
any argument does not represent the WKB of a LinearRing (that is, not a closed
and simple LineString) the return value is NULL.

Note that according to the OpenGIS standard, a POLYGON should have exactly one
ExteriorRing and all other rings should lie within that ExteriorRing and thus
be the InteriorRings. Practically, however, some systems, including MariaDB's,
permit polygons to have several 'ExteriorRings'. In the case of there being
multiple, non-overlapping exterior rings ST_NUMINTERIORRINGS() will return 1.

Examples
--------

SET @g = ST_GEOMFROMTEXT('POLYGON((1 1,1 5,4 9,6 9,9 3,7 2,1 1))');

CREATE TABLE gis_polygon   (g POLYGON);
INSERT INTO gis_polygon VALUES
  (PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),
  (PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10
20,10 10))')),
  (PolyFromWKB(AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30,
30), Point(0, 0))))));

Non-overlapping 'polygon':

SELECT ST_NumInteriorRings(ST_PolyFromText('POLYGON((0 0,10 0,10 10,0 10,0 0),
 (-1 -1,-5 -1,-5 -5,-1 -5,-1 -1))')) AS NumInteriorRings;
+------------------+
| NumInteriorRings |
+------------------+
|                1 |
+------------------+

URL: https://mariadb.com/kb/en/polygon/