ST_CoordDim returns the dimensions of coordinate values.
Oracle
sde.st_coorddim (g1 sde.st_geometry)
PostgreSQL
st_coorddim (g1 st_geometry)
The coorddim_test table is created with the columns geotype and g1. The geotype column stores the name of the geometry subclass stored in the g1 ST_Geometry column.
Oracle
CREATE TABLE coorddim_test (geotype varchar(20), g1 sde.st_geometry);
INSERT INTO coorddim_test VALUES (
'Point',
sde.st_pointfromtext ('point (10.02 20.01)', 0)
);
INSERT INTO coorddim_test VALUES (
'LineString',
sde.st_linefromtext ('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0)
);
INSERT INTO coorddim_test VALUES (
'Polygon',
sde.st_polyfromtext ('polygon ((10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01))', 0)
);
INSERT INTO coorddim_test VALUES (
'MultiPoint',
sde.st_mpointfromtext ('multipoint (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0)
);
INSERT INTO coorddim_test VALUES (
'MultiLineString',
sde.st_mlinefromtext ('multilinestring ((10.02 20.01, 10.32 23.98, 11.92 25.64), (9.55 23.75, 15.36 30.11))', 0)
);
INSERT INTO coorddim_test VALUES (
'MultiPolygon',
sde.st_mpolyfromtext ('multipolygon (((10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01),(51.71 21.73,73.36 27.04,71.52 32.87,52.43 31.90,51.71 21.73)))', 0)
);
PostgreSQL
CREATE TABLE coorddim_test (geotype varchar(20), g1 st_geometry);
INSERT INTO coorddim_test VALUES (
'Point',
st_point ('point (10.02 20.01)', 0)
);
INSERT INTO coorddim_test VALUES (
'LineString',
st_linestring ('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0)
);
INSERT INTO coorddim_test VALUES (
'Polygon',
st_polygon ('polygon ((10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01))', 0)
);
INSERT INTO coorddim_test VALUES (
'MultiPoint',
st_multipoint ('multipoint (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0)
);
INSERT INTO coorddim_test VALUES (
'MultiLineString',
st_multilinestring ('multilinestring ((10.02 20.01, 10.32 23.98, 11.92 25.64), (9.55 23.75, 15.36 30.11))', 0)
);
INSERT INTO coorddim_test VALUES (
'MultiPolygon',
st_multipolygon ('multipolygon (((10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01),(51.71 21.73,73.36 27.04,71.52 32.87,52.43 31.90,51.71 21.73)))', 0)
);
The SELECT statement lists the subclass name stored in the geotype column with the dimension of the coordinates of that geometry. All of the features we created contained only x,y coordinates, so ST_CoordDim returns 2.
Oracle
SELECT geotype, sde.st_coorddim (g1) coordinate_dimension
FROM coorddim_test;
GEOTYPE coordinate_dimension
Point 2
LineString 2
Polygon 2
MultiPoint 2
MultiLineString 2
MultiPolygon 2
PostgreSQL
SELECT geotype, st_coorddim (g1) AS coordinate_dimension
FROM coorddim_test;
geotype coordinate_dimension
Point 2
LineString 2
Polygon 2
MultiPoint 2
MultiLineString 2
MultiPolygon 2