ST_CoordDim function
The ST_CoordDim function takes a geometry as an input parameter and returns the dimensionality of its coordinates.
If the specified geometry does not have Z and M coordinates, the dimensionality is 2. If it has Z coordinates and no M coordinates, or if it has M coordinates and no Z coordinates, the dimensionality is 3. If it has Z and M coordinates, the dimensionality is 4. If the geometry is null, then null is returned.
Syntax
Parameter
- geometry
- A value of type ST_Geometry or one of its subtypes that represents the geometry to retrieve the dimensionality from.
Return type
INTEGER
Example
This example creates several geometries
and then determines the dimensionality of their coordinates.
CREATE TABLE sample_geoms (id CHARACTER(15), geometry ST_Geometry)
INSERT INTO sample_geoms VALUES
('Empty Point', ST_Geometry('point EMPTY',0))
INSERT INTO sample_geoms VALUES
('Linestring', ST_Geometry('linestring (10 10, 15 20)',0))
INSERT INTO sample_geoms VALUES
('Polygon', ST_Geometry('polygon((40 120, 90 120, 90 150,
40 150, 40 120))' ,0))
INSERT INTO sample_geoms VALUES
('Multipoint M', ST_Geometry('multipoint m (10 10 5, 50 10
6, 10 30 8)' ,0))
INSERT INTO sample_geoms VALUES
('Multipoint Z', ST_Geometry('multipoint z (47 34 295,
23 45 678)' ,0))
INSERT INTO sample_geoms VALUES
('Point ZM', ST_Geometry('point zm (10 10 16 30)' ,0))
SELECT id, ST_CoordDim(geometry) COORDDIM
FROM sample_geoms
Results:
ID COORDDIM
--------------- -----------
Empty Point 2
Linestring 2
Polygon 2
Multipoint M 3
Multipoint Z 3
Point ZM 4