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
Oracle
La siguiente sentencia CREATE TABLE crea la tabla LINESTRING_TEST, que tiene dos columnas de cadena, ln1 y ln2.
CREATE TABLE linestring_test (
lid integer,
ln1 sde.st_geometry,
ln2 sde.st_geometry);
La siguiente sentencia INSERT inserta dos valores ST_LineString en ln1 y ln2 que son iguales y tienen la misma clasificación de coordenadas.
INSERT INTO LINESTRING_TEST VALUES (
1,
sde.st_geometry ('linestring (10.01 20.02, 21.50 12.10)', 0),
sde.st_geometry ('linestring (21.50 12.10, 10.01 20.02)', 0)
);
La siguiente sentencia 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.
SELECT lid, sde.st_equals (ln1, ln2) Equals, sde.st_orderingequals (ln1, ln2) OrderingEquals
FROM LINESTRING_TEST;
lid Equals OrderingEquals
1 1 0
PostgreSQL
La siguiente sentencia CREATE TABLE crea la tabla LINESTRING_TEST, que tiene dos columnas de cadena, ln1 y ln2.
CREATE TABLE linestring_test (
lid integer,
ln1 sde.st_geometry,
ln2 sde.st_geometry);
La siguiente sentencia INSERT inserta dos valores ST_LineString en ln1 y ln2 que son iguales y tienen la misma clasificación de coordenadas.
INSERT INTO linestring_test VALUES (
1,
sde.st_linestring ('linestring (10.01 20.02, 21.50 12.10)', 0),
sde.st_linestring ('linestring (21.50 12.10, 10.01 20.02)', 0)
);
La siguiente sentencia SELECT y el correspondiente conjunto de resultados muestran cómo la función ST_Equals devuelve t (TRUE) independientemente del orden de las coordenadas. La función ST_OrderingEquals devuelve f (FALSE) si las geometrías no son iguales y tienen el mismo orden de coordenadas.
SELECT lid, sde.st_equals (ln1, ln2) AS Equals, sde.st_orderingequals (ln1, ln2)
AS OrderingEquals
FROM linestring_test;
lid equals orderingequals
1 t f