Definition
ST_Z wählt einen Eingabeparameter vom Typ "ST_Point" aus und gibt dessen Z-Koordinate (Höhe) zurück. In SQLite kann "ST_Z" auch die Z-Koordinate eines ST_Point aktualisieren.
Syntax
Oracle und PostgreSQL
sde.st_z (geometry1 sde.st_point)
SQLite
st_z (geometry geometryblob) st_z (input_shape geometryblob, new_Zvalue double)
Rückgabetyp
Oracle
Zahl
PostgreSQL
Ganzzahl
SQLite
Doppelte Genauigkeit wird zurückgegeben, wenn "ST_Z" verwendet wird, um die Z-Koordinate eines Punktes zurückzugeben. Ein geometryblob wird zurückgegeben, wenn "ST_Z" verwendet wird, um die Z-Koordinate eines Punktes zu aktualisieren.
Beispiel
Die Tabelle "z_test" wird mit zwei Spalten erstellt: die Spalte "id", durch die die einzelnen Zeilen eindeutig gekennzeichnet werden, und die Spalte "geometry" vom Typ ST_Point. Mit der INSERT-Anweisung wird eine Zeile in die Tabelle "z_test" eingefügt.
Mit der SELECT-Anweisung werden die Spalte "id" und die Z-Koordinate des Punktes, der mit der vorigen Anweisung eingefügt wurde, aufgelistet.
Oracle
CREATE TABLE z_test (
id integer unique,
geometry sde.st_point
);
INSERT INTO z_test (id, geometry) VALUES (
1,
sde.st_point (2, 3, 32, 5, 4326)
);
SELECT id, sde.st_z (geometry) Z_COORD
FROM Z_TEST;
ID Z_COORD
1 32
PostgreSQL
CREATE TABLE z_test (
id integer unique,
geometry sde.st_point
);
INSERT INTO z_test (id, geometry) VALUES (
1,
sde.st_point (2, 3, 32, 5, 4326)
);
SELECT id, sde.st_z (geometry)
AS Z_COORD
FROM z_test;
id z_coord
1 32
SQLite
CREATE TABLE z_test (id integer);
SELECT AddGeometryColumn(
NULL,
'z_test',
'pt1',
4326,
'pointzm',
'xyzm',
'null'
);
INSERT INTO z_test (id, pt1) VALUES (
1,
st_point (2, 3, 32, 5, 4326)
);
SELECT id, st_z (pt1)
AS "The z coordinate"
FROM z_test;
id The z coordinate
1 32.0
Die Funktion "ST_Z" kann auch verwendet werden, um den Koordinatenwert eines vorhandenen Punktes zu aktualisieren. In diesem Beispiel wird der Z-Koordinatenwert des ersten Punktes in "z_Test" mit "ST_Z" aktualisiert.
UPDATE z_test
SET pt1=st_z(
(SELECT pt1 FROM z_test where id=1), 32.04)
WHERE id=1;