Définition
ST_Z accepte un objet ST_Point comme paramètre en entrée et renvoie sa coordonnée z (altitude). Dans SQLite, ST_Z peut également mettre à jour la coordonnée z d'une fonction ST_Point.
Syntaxe
Oracle et PostgreSQL
sde.st_z (geometry1 sde.st_point)
SQLite
st_z (geometry geometryblob) st_z (input_shape geometryblob, new_Zvalue double)
Type de retour
Oracle
Nombre
PostgreSQL
Entier
SQLite
Une double précision est renvoyée lorsque la fonction ST_Z est utilisée pour renvoyer la coordonnée z d'un point. Un objet geometryblob est renvoyé lorsque la fonction ST_Z est utilisée pour mettre à jour la coordonnée z d'un point.
Exemple
La table z_test est créée avec deux colonnes : la colonne id qui identifie la ligne de façon unique et la colonne des points geometry. L'instruction INSERT insère un enregistrement dans la table z_test.
L'instruction SELECT répertorie la colonne id et la coordonnée z à double précision du point inséré à l'aide de l'instruction précédente.
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
La fonction ST_Z peut également être utilisée pour mettre à jour la valeur de coordonnée d'un point existant. Dans cet exemple, la fonction ST_Z est utilisée pour mettre à jour la valeur de coordonnée z du premier point dans z_test.
UPDATE z_test
SET pt1=st_z(
(SELECT pt1 FROM z_test where id=1), 32.04)
WHERE id=1;