定義
ST_CoordDim は、ジオメトリ列の座標値のディメンション (次元数) を返します。
構文
Oracle および PostgreSQL
sde.st_coorddim (geometry1 sde.st_geometry)
SQLite
st_coorddim (geometry1 geometryblob)
戻り値のタイプ
Integer
2 = XY 座標
3 = XYZ または XYM 座標
4 = XYZM 座標
例
この例では、geotype および g1 列を持つ coorddim_test テーブルを作成します。geotype 列は、g1 ジオメトリ列に格納されるジオメトリ サブクラスおよびディメンションの名前を格納します。
SELECT ステートメントは、geotype 列に格納されているサブクラス名と、そのジオメトリの座標のディメンションをリストします。
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