On this page Carat arrow pointing down
Cockroach Labs will stop providing Assistance Support for v21.2 on May 16, 2023. Prior to that date, upgrade to a more recent version to continue receiving support. For more details, see the Release Support Policy.

A MULTIPOLYGON is a collection of Polygons. MultiPolygons are useful for gathering a group of Polygons into one geometry. For example, you may want to gather the Polygons denoting a group of properties in a particular municipality. Another use of MultiPolygons is to represent states or countries that include islands, or that are otherwise made up of non-overlapping shapes.

You can also store a MULTIPOLYGON with the following additional dimensions:

  • A third dimension coordinate Z (MULTIPOLYGONZ).
  • A measure coordinate M (MULTIPOLYGONM).
  • Both a third dimension and a measure coordinate (MULTIPOLYGONZM).

The Z and M dimensions can be accessed or modified using a number of built-in functions, including:

  • ST_Z
  • ST_M
  • ST_Affine
  • ST_Zmflag
  • ST_MakePoint
  • ST_MakePointM
  • ST_Force3D
  • ST_Force3DZ
  • ST_Force3DM
  • ST_Force4D
  • ST_Snap
  • ST_SnapToGrid
  • ST_RotateZ
  • ST_AddMeasure

Note that CockroachDB's spatial indexing is still based on the 2D coordinate system. This means that:

  • The Z/M dimension is not index accelerated when using spatial predicates.
  • Some spatial functions ignore the Z/M dimension, with transformations discarding the Z/M value.


A MultiPolygon can be created from SQL by calling the st_geomfromtext function on a MultiPolygon definition expressed in the Well Known Text (WKT) format.

SELECT ST_GeomFromText('SRID=4326;MULTIPOLYGON(((-87.906471 43.038902, -95.992775 36.153980, -75.704722 36.076944, -87.906471 43.038902), (-87.623177 41.881832, -90.199402 38.627003, -82.446732 38.413651, -87.623177 41.881832), (-84.191605 39.758949, -75.165222 39.952583, -78.878738 42.880230, -84.191605 39.758949)))');
(1 row)

See also

Yes No
On this page

Yes No