ST_Z

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;

Thèmes connexes

5/10/2014