Guía y consulta del usuario

ST_OrderingEquals

ST_OrderingEquals compara dos geometrías y devuelve 1 (TRUE) si las geometrías son iguales y las coordenadas están en el mismo orden y 0 (FALSE) si no es así.

Sintaxis

db2gse.ST_OrderingEquals(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)

Tipo devuelto

Entero

Ejemplos

La siguiente sentencia CREATE TABLE crea la tabla LINESTRING_TEST, que tiene dos columnas tipo serie lineal, L1 y L2.

CREATE TABLE LINESTRING_TEST (lid integer, l1 db2gse.ST_LineString,
l2 db2gse.ST_LineString);

La siguiente sentencia INSERT inserta en L1 y L2 dos series lineales que son iguales y tienen el mismo orden de coordenadas.

INSERT INTO linestring_test VALUES (1,
db2gse.LineFromText('linestring (10.01 20.02, 21.50 12.10)',
  db2gse.coordref()..srid(0)),
db2gse.LineFromText('linestring (10.01 20.02, 21.50 12.10)',
db2gse.coordref()..srid(0)));

La siguiente sentencia INSERT inserta en L1 y L2 dos series lineales que son iguales pero no tienen el mismo orden de coordenadas.

INSERT INTO linestring_test VALUES (2,
db2gse.LineFromText('linestring (10.01 20.02, 21.50 12.10)',
  db2gse.coordref()..srid(0)),
db2gse.LineFromText('linestring (21.50 12.10,10.01 20.02)',
db2gse.coordref()..srid(0)));

La siguiente sentencia SELECT y el conjunto de resultados correspondiente muestra cómo la función ST_Equals devuelve 1 (TRUE) independientemente del orden de las coordenadas. La función ST_OrderingEquals devuelve 0 (FALSE) si no se cumplen las dos condiciones siguientes: son iguales y tienen el mismo orden de coordenadas.

SELECT lid, db2gse.ST_Equals(l1,l2) equals, db2gse.ST_OrderingEquals(l1,l2)
OrderingEquals
FROM linestring_test
 
lid   equals   OrderingEquals
---   ------   -----------
 1       1           1
 2       1           0


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]