ST_OrderingEquals

Definición

ST_OrderingEquals compara dos ST_Geometries (Oracle) y devuelve 1 o t (PostgreSQL) si las geometrías son iguales y las coordenadas están en el mismo orden; de lo contrario, devuelve 0 (Oracle) o f (PostgreSQL).

Sintaxis

sde.st_orderingequals (g1 sde.st_geometry, g2 sde.st_geometry)

Tipo de devolución

Entero (booleana)

Ejemplo

La siguiente declaración CREATE TABLE crea la tabla LINESTRING_TEST, que tiene dos columnas ST_LineString, ln1 y ln2.

CREATE TABLE linestring_test (
lid integer,
ln1 sde.st_linestring,
ln2 sde.st_geometry);

La siguiente declaración INSERT inserta dos valores ST_LineString en ln1 y ln2 que son iguales y tienen la misma clasificación de coordenadas.

Oracle

INSERT INTO LINESTRING_TEST VALUES (
1,
sde.st_linefromtext ('linestring (10.01 20.02, 21.50 12.10)', 0),
sde.st_linefromtext ('linestring (10.01 20.02, 21.50 12.10)', 0)
);

PostgreSQL

INSERT INTO linestring_test VALUES (
1,
sde.st_linestring ('linestring (10.01 20.02, 21.50 12.10)', 0),
sde.st_linestring ('linestring (10.01 20.02, 21.50 12.10)', 0)
);

La siguiente declaración SELECT y el resultado correspondiente establecido muestra cómo la función ST_Equals devuelve 1 (TRUE) sin importar el orden de las coordenadas. La función ST_OrderingEquals devuelve 0 (FALSE) si las geometrías no son iguales ni tienen la misma clasificación de coordenadas.

Oracle

SELECT lid, sde.st_equals (ln1, ln2) Equals, sde.st_orderingequals (ln1, ln2) OrderingEquals
FROM LINESTRING_TEST;

lid Equals     OrderingEquals

1   1          1

PostgreSQL

SELECT lid, sde.st_equals (ln1, ln2) AS Equals, sde.st_orderingequals (ln1, ln2) 
AS OrderingEquals
FROM linestring_test;

lid equals     orderingequals

1   t          t

7/11/2012