ST_CoordDim

定義

ST_CoordDim は、ST_Geometry 列の座標値のディメンション(次元数)を返します。

構文

sde.st_coorddim (g1 sde.st_geometry)

戻り値のタイプ

Integer

2 = XY 座標

3 = XYZ または XYM 座標

4 = XYZM 座標

geotype および g1 列を持つ coorddim_test テーブルを作成します。geotype 列は、g1 ST_Geometry 列に格納されるジオメトリ サブクラスの名前を格納します。

CREATE TABLE coorddim_test (geotype varchar(20), g1 sde.st_geometry);

Oracle

INSERT INTO COORDDIM_TEST VALUES (
'Point',
sde.st_geometry ('point (60.567222 -140.404)', 0)
);

INSERT INTO COORDDIM_TEST VALUES (
'Point Z',
sde.st_geometry ('point Z (60.567222 -140.404 5959)', 0)
);

INSERT INTO COORDDIM_TEST VALUES (
'Point M',
sde.st_geometry ('point M (60.567222 -140.404 5250)', 0)
);

INSERT INTO COORDDIM_TEST VALUES (
'Point ZM',
sde.st_geometry ('point ZM (60.567222 -140.404 5959 5250)', 0)
);

PostgreSQL

INSERT INTO coorddim_test VALUES (
'Point',
st_point ('point (60.567222 -140.404)', 0)
);

INSERT INTO coorddim_test VALUES (
'Point Z',
st_point ('point z (60.567222 -140.404 5959)', 0)
);

INSERT INTO coorddim_test VALUES (
'Point M',
st_point ('point m (60.567222 -140.404 5250)', 0)
);

INSERT INTO coorddim_test VALUES (
'Point ZM',
st_point ('point zm (60.567222 -140.404 5959 5250)', 0)
);

SELECT ステートメントは、geotype 列に格納されているサブクラス名と、そのジオメトリの座標のディメンションをリストします。作成されたすべてのフィーチャには、XY 座標だけが含まれているため、ST_CoordDim は 2 を返します。

Oracle

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

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
9/14/2013