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