Définition
ST_X accepte un objet ST_Point comme paramètre en entrée et renvoie sa coordonnée x. Dans SQLite, ST_X peut également mettre à jour la coordonnée x d'une fonction ST_Point.
Syntaxe
Oracle et PostgreSQL
sde.st_x (point1 sde.st_point)
SQLite
st_x (point1 geometryblob) st_x (input_point geometryblob, new_Xvalue double)
Type de retour
Double précision
La fonction ST_X peut être utilisée avec SQLite pour mettre à jour la coordonnée x d'un point. Dans ce cas, un objet geometryblob est renvoyé.
Exemples
La table x_test est créée avec deux colonnes : la colonne gid qui identifie la ligne de façon unique, et la colonne des points pt1.
Les instructions INSERT insèrent deux lignes. L'une correspond à un point sans coordonnée z ou mesure. L'autre colonne possède une coordonnée z et une mesure.
La requête SELECT utilise la fonction ST_X pour calculer la coordonnée x de chaque entité ponctuelle.
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 fonction ST_X peut également être utilisée pour mettre à jour la valeur de coordonnée d'un point existant. Dans cet exemple, la fonction ST_X est utilisée pour mettre à jour la valeur de coordonnée x du premier point dans x_test.
UPDATE x_test
SET pt1=st_x(
(SELECT pt1 FROM x_test WHERE gid=1),
10.04
)
WHERE gid=1;