ST_OrderingEquals compara as duas geometrias e retorna 1 (VERDADEIRO) se as geometrias forem iguais e as coordenadas estiverem na mesma ordem; do contrário, retornará 0 (FALSO).
Sintaxe
db2gse.ST_OrderingEquals(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo de retorno
Inteiro
Exemplos
A seguinte instrução CREATE TABLE cria a tabela LINESTRING_TEST, que tem duas colunas de cadeia de linhas, L1 e L2.
CREATE TABLE LINESTRING_TEST (lid integer, l1 db2gse.ST_LineString, l2 db2gse.ST_LineString);
A seguinte instrução INSERT insere duas cadeias de linha em L1 e L2 que são iguais e têm a mesma ordem 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)));
A seguinte instrução INSERT insere duas cadeias de linha em L1 e L2 que são iguais mas não têm a mesma ordem 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)));
A seguinte instrução SELECT e o conjunto de resultado correspondente mostra como a função ST_Equals retorna 1 (VERDADEIRO), independente da ordem das coordenadas. A função ST_OrderingEquals retorna 0 (FALSO) se as geometrias não forem iguais e tiverem a mesma ordem 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