ST_MaxZ

定義

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

構文

Oracle および PostgreSQL

sde.st_maxz (geometry1 sde.st_geometry)

SQLite

st_maxz (geometry1 geometryblob)

戻り値のタイプ

Oracle および PostgreSQL

Number

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

SQLite

Double precision

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

次の例では、maxz_test テーブルを作成し、2 つのポリゴンを挿入します。次に、ST_MaxZ を実行して、各ポリゴンの最大 Z 値が返されます。

Oracle

CREATE TABLE maxz_test (
 id integer,
 geometry sde.st_geometry
);
INSERT INTO MAXZ_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 MAXZ_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_maxz (geometry) Max_Z
 FROM MAXZ_TEST;
        ID      MAX_Z
      1901         26
      1902         40

PostgreSQL

CREATE TABLE maxz_test (
 id integer,
 geometry sde.st_geometry
);
INSERT INTO maxz_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 maxz_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_maxz (geometry) 
 AS Max_Z
 FROM maxz_test;
        id      max_z
      1901         26
      1902         40

SQLite

CREATE TABLE maxz_test (
 id integer
);
SELECT AddGeometryColumn (
 NULL,
 'maxz_test',
 'geometry',
 4326,
 'polygonzm',
 'xyzm',
 'null'
);
INSERT INTO maxz_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 maxz_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 AS "ID", st_maxz (geometry) AS "Max Z"
 FROM maxz_test;
ID      Max Z
1901    26.0
1902    40.0

関連トピック

5/25/2014