定义
ST_MaxZ 以几何对象为输入参数,返回其最大 z 坐标。
语法
Oracle 和 PostgreSQL
sde.st_maxz (geometry1 sde.st_geometry)
SQLite
st_maxz (geometry1 geometryblob)
返回类型
Oracle 和 PostgreSQL
数值
如果 z 值不存在,则返回 NULL。
SQLite
双精度型
如果 z 值不存在,则返回 NULL。
示例
在下例中,创建了表 maxz_test,并向其中插入两个面。然后运行 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