ST_MaxM

定義

ST_MaxM は、ジオメトリを入力パラメータとして、その最大 M 座標を返します。

構文

Oracle および PostgreSQL

sde.st_maxm (geometry1 sde.st_geometry)

SQLite

st_maxm (geometry1 geometryblob)

戻り値のタイプ

Oracle および PostgreSQL

Number

M 値が存在しない場合、NULL が返されます。

SQLite

Double precision

M 値が存在しない場合、NULL が返されます。

maxm_test テーブルを作成し、2 つのポリゴンを挿入します。次に、ST_MaxM を実行して、各ポリゴンの最大 M 値を判定します。

Oracle

CREATE TABLE maxm_test (
 id integer,
 geometry sde.st_geometry
);
INSERT INTO MAXM_TEST VALUES (
 1901,
 sde.st_polygon ('polygon zm((110 120 20 3, 110 140 22 3, 120 130 26 4, 110 120 20 3))', 4326)
);
INSERT INTO MAXM_TEST VALUES (
 1902,
 sde.st_polygon ('polygon zm((0 0 40 7, 0 4 35 9, 5 4 32 12, 5 0 31 5, 0 0 40 7))', 4326)
);
SELECT id, sde.st_maxm (geometry) Max_M
 FROM MAXM_TEST;
        ID             MAX_M
      1901                 4
      1902                12

PostgreSQL

CREATE TABLE maxm_test (
 id integer,
 geometry sde.st_geometry
);
INSERT INTO maxm_test VALUES (
 1901,
 sde.st_polygon ('polygon zm((110 120 20 3, 110 140 22 3, 120 130 26 4, 110 120 20 3))', 4326)
);
INSERT INTO maxm_test VALUES (
 1902,
 sde.st_polygon ('polygon zm((0 0 40 7, 0 4 35 9, 5 4 32 12, 5 0 31 5, 0 0 40 7))', 4326)
);
SELECT id, sde.st_maxm (geometry) 
 AS Max_M
 FROM maxm_test;
        id             max_m
      1901                 4
      1902                12

SQLite

CREATE TABLE maxm_test (
 id integer
);
SELECT AddGeometryColumn (
 NULL,
 'maxm_test',
 'geometry',
 4326,
 'polygonzm',
 'xyzm',
 'null'
);
INSERT INTO maxm_test VALUES (
 1901,
 st_polygon ('polygon zm((110 120 20 3, 110 140 22 3, 120 130 26 4, 110 120 20 3))', 4326)
);
INSERT INTO maxm_test VALUES (
 1902,
 st_polygon ('polygon zm((0 0 40 7, 0 4 35 9, 5 4 32 12, 5 0 31 5, 0 0 40 7))', 4326)
);
SELECT id, st_maxm (geometry) 
 AS "Max M"
 FROM maxm_test;
id             Max M
1901           4.0
1902           12.0

関連トピック

5/25/2014