Definition
ST_CoordDim returns the dimensions of coordinate values for a geometry column.
Syntax
Oracle and PostgreSQL
sde.st_coorddim (geometry1 sde.st_geometry)
SQLite
st_coorddim (geometry1 geometryblob)
Return type
Integer
2 = x,y coordinates
3 = x,y,z or x,y,m coordinates
4 = x,y,z,m coordinates
Example
In these examples, the coorddim_test table is created with the columns geotype and g1. The geotype column stores the name of the geometry subclass and dimension stored in the g1 geometry column.
The SELECT statement lists the subclass name stored in the geotype column with the dimension of the coordinates of that geometry.
Oracle
--Create test table.
CREATE TABLE coorddim_test (
geotype varchar(20),
g1 sde.st_geometry
);
--Insert values to the test table.
INSERT INTO COORDDIM_TEST VALUES (
'Point',
sde.st_geometry ('point (60.567222 -140.404)', 4326)
);
INSERT INTO COORDDIM_TEST VALUES (
'Point Z',
sde.st_geometry ('point Z (60.567222 -140.404 5959)', 4326)
);
INSERT INTO COORDDIM_TEST VALUES (
'Point M',
sde.st_geometry ('point M (60.567222 -140.404 5250)', 4326)
);
INSERT INTO COORDDIM_TEST VALUES (
'Point ZM',
sde.st_geometry ('point ZM (60.567222 -140.404 5959 5250)', 4326)
);
--Determine the dimensionality of each feature.
SELECT geotype, sde.st_coorddim (g1) coordinate_dimension
FROM COORDDIM_TEST;
GEOTYPE coordinate_dimension
Point 2
Point Z 3
Point M 3
Point ZM 4
PostgreSQL
--Create test table.
CREATE TABLE coorddim_test (
geotype varchar(20),
g1 sde.st_geometry
);
--Insert values to the test table.
INSERT INTO coorddim_test VALUES (
'Point',
st_point ('point (60.567222 -140.404)', 4326)
);
INSERT INTO coorddim_test VALUES (
'Point Z',
st_point ('point z (60.567222 -140.404 5959)', 4326)
);
INSERT INTO coorddim_test VALUES (
'Point M',
st_point ('point m (60.567222 -140.404 5250)', 4326)
);
INSERT INTO coorddim_test VALUES (
'Point ZM',
st_point ('point zm (60.567222 -140.404 5959 5250)', 4326)
);
--Determine the dimensionality of each feature.
SELECT geotype, st_coorddim (g1)
AS coordinate_dimension
FROM coorddim_test;
geotype coordinate_dimension
Point 2
Point Z 3
Point M 3
Point ZM 4
SQLite
--Create test tables and add geometry columns.
CREATE TABLE coorddim_test (
geotype varchar(20)
);
SELECT AddGeometryColumn(
NULL,
'coorddim_test',
'g1',
4326,
'pointzm',
'xyzm',
'null'
);
CREATE TABLE coorddim_test2 (
geotype varchar(20)
);
SELECT AddGeometryColumn(
NULL,
'coorddim_test2',
'g1',
4326,
'pointz',
'xyz',
'null'
);
CREATE TABLE coorddim_test3 (
geotype varchar(20)
);
SELECT AddGeometryColumn(
NULL,
'coorddim_test3',
'g1',
4326,
'pointm',
'xym',
'null'
);
CREATE TABLE coorddim_test4 (
geotype varchar(20)
);
SELECT AddGeometryColumn(
NULL,
'coorddim_test4',
'g1',
4326,
'point',
'xy',
'null'
);
--Insert values to the test table.
INSERT INTO coorddim_test4 VALUES (
'Point',
st_point ('point (60.567222 -140.404)', 4326)
);
INSERT INTO coorddim_test2 VALUES (
'Point Z',
st_point ('point z (60.567222 -140.404 5959)', 4326)
);
INSERT INTO coorddim_test3 VALUES (
'Point M',
st_point ('point m (60.567222 -140.404 5250)', 4326)
);
INSERT INTO coorddim_test VALUES (
'Point ZM',
st_point ('point zm (60.567222 -140.404 5959 5250)', 4326)
);
--Determine the dimensionality of features in each table.
SELECT geotype, st_coorddim (g1)
AS coordinate_dimension
FROM coorddim_test;
geotype coordinate_dimension
Point ZM 4
SELECT geotype, st_coorddim (g1)
AS coordinate_dimension
FROM coorddim_test2;
geotype coordinate_dimension
Point Z 3
SELECT geotype, st_coorddim (g1)
AS coordinate_dimension
FROM coorddim_test3;
geotype coordinate_dimension
Point M 3
SELECT geotype, st_coorddim (g1)
AS coordinate_dimension
FROM coorddim_test4;
geotype coordinate_dimension
Point 2