Definition
ST_X wählt einen Eingabeparameter vom Typ "ST_Point" aus und gibt dessen X-Koordinate zurück. In SQLite kann "ST_X" auch die X-Koordinate eines ST_Point aktualisieren.
Syntax
Oracle und PostgreSQL
sde.st_x (point1 sde.st_point)
SQLite
st_x (point1 geometryblob) st_x (input_point geometryblob, new_Xvalue double)
Rückgabetyp
Doppelte Genauigkeit
Die Funktion "ST_X" kann mit SQLite verwendet werden, um die X-Koordinate eines Punktes zu aktualisieren. In diesem Fall wird ein geometryblob zurückgegeben.
Beispiele
Die Tabelle "x_test" wird mit zwei Spalten erstellt: der Spalte "gid", durch die die einzelnen Zeilen eindeutig gekennzeichnet werden, und der Spalte "pt1" vom Typ ST_Point.
Mit den INSERT-Anweisungen werden zwei Zeilen eingefügt. Eine Zeile enthält einen Punkt ohne Z-Koordinate oder Messwert. Die andere Spalte enthält sowohl eine Z-Koordinate als auch einen Messwert.
Die SELECT-Abfrage verwendet die Funktion "ST_X", um die X-Koordinate jedes Punkt-Features abzurufen.
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
Die Funktion "ST_X" kann auch verwendet werden, um den Koordinatenwert eines vorhandenen Punktes zu aktualisieren. In diesem Beispiel wird der X-Koordinatenwert des ersten Punktes in "x_Test" mit "ST_X" aktualisiert.
UPDATE x_test
 SET pt1=st_x(
  (SELECT pt1 FROM x_test WHERE gid=1),
  10.04
  )
 WHERE gid=1;