Definición
ST_Z toma un ST_Point como parámetro de entrada y devuelve su coordenada z (elevación). En SQLite, ST_Z puede actualizar también la coordenada z de un ST_Point.
Sintaxis
Oracle y PostgreSQL
sde.st_z (geometry1 sde.st_point)
SQLite
st_z (geometry geometryblob) st_z (input_shape geometryblob, new_Zvalue double)
Tipo de devolución
Oracle
Número
PostgreSQL
Entero
SQLite
Se devuelve una precisión doble cuando se usa ST_Z para devolver la coordenada z de un punto. Se devuelve un geometryblob cuando se usa ST_Z para actualizar la coordenada z de un punto.
Ejemplo
Se crea la tabla z_test con dos columnas: la columna de Id., que identifica de forma única cada fila, y la columna de punto de geometría. La declaración INSERT inserta una fila en la tabla z_test.
La declaración SELECT enumera la columna id y las coordenadas z de doble precisión del punto insertadas con la declaración anterior.
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 función ST_Z se puede usar también para actualizar el valor de coordenadas de un punto existente. En este ejemplo, se usa ST_Z para actualizar el valor de coordenada z del primer punto de z_test.
UPDATE z_test
SET pt1=st_z(
(SELECT pt1 FROM z_test where id=1), 32.04)
WHERE id=1;