ST_X

Definición

ST_X toma un ST_Point como parámetro de entrada y devuelve su coordenada x. En SQLite, ST_X puede actualizar también la coordenada x de un ST_Point.

Sintaxis

Oracle y PostgreSQL

sde.st_x (point1 sde.st_point)

SQLite

st_x (point1 geometryblob)
st_x (input_point geometryblob, new_Xvalue double)

Tipo de devolución

Precisión doble

La función ST_X se puede usar también con SQLite para actualizar la coordenada x de un punto. En ese caso, se devuelve un geometryblob.

Ejemplos

Se crea la tabla x_test con dos columnas: la columna gid, que identifica de forma única cada fila, y la columna de punto pt1.

Las declaraciones INSERT insertan dos filas. Uno es un punto sin una coordenada z o medida. La otra columna tiene tanto una coordenada z y medida.

La consulta SELECT usa la función ST_X para obtener la coordenada x de cada entidad de punto.

Oracle

CREATE TABLE x_test (
 gid integer unique,
 pt1 sde.st_point
);
INSERT INTO X_TEST VALUES (
 1,
 sde.st_pointfromtext ('point (10.02 20.01)', 4326)
);

INSERT INTO X_TEST VALUES (
 2,
 sde.st_pointfromtext ('point zm(10.1 20.01 5 7)', 4326)
);
SELECT gid, sde.st_x (pt1) "The X coordinate"
 FROM X_TEST;

       GID       The X coordinate

         1            10.02
         2            10.10

PostgreSQL

CREATE TABLE x_test (
 gid integer unique,
 pt1 sde.st_point
);
INSERT INTO x_test VALUES (
 1,
 sde.st_point ('point (10.02 20.01)', 4326)
);

INSERT INTO x_test VALUES (
 2,
 sde.st_point ('point zm(10.1 20.01 5 7)', 4326)
);
SELECT gid, sde.st_x (pt1) 
 AS "The X coordinate"
 FROM x_test;

       gid       The X coordinate

         1            10.02
         2            10.10

SQLite

CREATE TABLE x_test (gid integer);

SELECT AddGeometryColumn(
 NULL,
 'x_test',
 'pt1',
 4326,
 'pointzm',
 'xyzm',
 'null'
);
INSERT INTO x_test VALUES (
 1,
 st_point ('point (10.02 20.01)', 4326)
);

INSERT INTO x_test VALUES (
 2,
 st_point ('point zm(10.1 20.01 5 7)', 4326)
);
SELECT gid, st_x (pt1) 
 AS "The X coordinate"
 FROM x_test;

       gid       The X coordinate

         1            10.02
         2            10.10

La función ST_X se puede usar también para actualizar el valor de coordenadas de un punto existente. En este ejemplo, se usa ST_X para actualizar el valor de la coordenada x del primer punto de x_test.

UPDATE x_test
 SET pt1=st_x(
  (SELECT pt1 FROM x_test WHERE gid=1),
  10.04
  )
 WHERE gid=1;

Temas relacionados

5/10/2014