Guida di riferimento per l'utente

ST_OrderingEquals

ST_OrderingEquals confronta le due geometrie e restituisce 1 (TRUE) se le geometrie sono uguali e le coordinate sono nello stesso ordine; in caso contrario restituisce 0 (FALSE).

Sintassi

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

Tipo di ritorno

Integer

Esempi

La seguente istruzione CREATE TABLE crea la tabella LINESTRING_TEST, che contiene due colonne di stringa lineare, L1 e L2.

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

La seguente istruzione INSERT inserisce due stringhe lineari uguali, le cui coordinate presentano lo stesso ordine, nelle colonne L1 e L2.

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 seguente istruzione INSERT inserisce due stringhe lineari uguali, le cui coordinate non presentano lo stesso ordine, nelle colonne L1 e L2.

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 seguente istruzione SELECT e la serie di risultati corrispondente mostrano il modo in cui la funzione ST_Equals restituisce 1 (TRUE) indipendente dall'ordine delle coordinate. La funzione ST_OrderingEquals restituisce 0 (FALSE) se le geometrie non sono uguali e non presentano lo stesso ordine di coordinate.

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


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]