Referência e Guia do Usuário

ST_OrderingEquals

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


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]