MultiSurfaceZM Data Type
A MultiSurfaceZM can contain between 1 to N surfaces of the types PolygonZM or CurvePolygonZM with any combination of these types. In the WKT of MultiSurfaceZM the first ordinate is X, the second is Y, the third is Z, and the fourth is M.
Examples:
Without specifying SRID:
CREATE TABLE surfaces (name VARCHAR(30), msurf MULTISURFACEZM);
With specifying SRID:
CREATE TABLE surfaces (name VARCHAR(30), msurf MULTISURFACEZM SRID 4326);
Show a collection of curves that may or may not be related:
CREATE TABLE surfaces (id INT, msurf MULTISURFACEZM);
INSERT INTO surfaces (id, msurf) VALUES (1, GeomFromText('MULTISURFACEZM(((0 0 0 1, 0 4 0 1, 4 4 0 1, 4 0 0 1, 0 0 0 1)), CURVEPOLYGONZM(COMPOUNDCURVEZM((0 0 1 2, 2 0 1 2), CIRCULARSTRINGZM(2 0 1 3, 2 1 2 3, 4 0 2 3))))'));