ST_Y

Définition

ST_Y accepte un objet ST_Point comme paramètre en entrée et renvoie sa coordonnée y. Dans SQLite, ST_Y peut également mettre à jour la coordonnée y d'une fonction ST_Point.

Syntaxe

Oracle et PostgreSQL

sde.st_y (point1 sde.st_point)

SQLite

double   st_y (point1  geometryblob)
geometry st_y (input_shape geometryblob, new_Yvalue double)

Type de retour

Double précision

La fonction ST_Y peut être utilisée avec SQLite pour mettre à jour la coordonnée y d'un point. Dans ce cas, un objet geometryblob est renvoyé.

Exemple

La table y_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 possède à la fois une coordonnée z et une mesure.

La requête SELECT utilise la fonction ST_Y pour renvoyer la coordonnée y de chaque entité ponctuelle.

Oracle

CREATE TABLE y_test (
 gid integer unique,
 pt1 sde.st_point
);
INSERT INTO Y_TEST VALUES (
 1,
 sde.st_pointfromtext ('point (10.02 20.02)', 4326)
);

INSERT INTO Y_TEST VALUES (
 2,
 sde.st_pointfromtext ('point zm(10.1 20.01 5.0 7.0)', 4326)
);
SELECT gid, sde.st_y (pt1) "The Y coordinate"
 FROM Y_TEST;

       GID     The Y coordinate

         1          20.02
         2          20.01

PostgreSQL

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

INSERT INTO y_test VALUES (
 2,
 sde.st_point ('point zm(10.1 20.01 5.0 7.0)', 4326)
);
SELECT gid, sde.st_y (pt1) 
 AS "The Y coordinate"
 FROM y_test;

       gid    The Y coordinate

         1          20.02
         2          20.01

SQLite

CREATE TABLE y_test (gid integer);
 
SELECT AddGeometryColumn(
 NULL,
 'y_test',
 'pt1',
 4326,
 'pointzm',
 'xyzm',
 'null'
);
INSERT INTO y_test VALUES (
 1,
 st_point ('point (10.02 20.02)', 4326)
);

INSERT INTO y_test VALUES (
 2,
 st_point ('point zm(10.1 20.01 5.0 7.0)', 4326)
);
SELECT gid, st_y (pt1) 
 AS "The Y coordinate"
 FROM y_test;

gid    The Y coordinate

1          20.02
2          20.01

La fonction ST_Y peut également être utilisée pour mettre à jour la valeur de coordonnée d'un point existant. Dans cet exemple, la fonction ST_Y est utilisée pour mettre à jour la valeur de coordonnée y du deuxième point dans y_test.

UPDATE y_test
 SET pt1=st_y(
  (SELECT pt1 FROM y_test WHERE gid=2),
  20.1
  )
 WHERE gid=2;

Thèmes connexes

5/10/2014