Benutzer- und Referenzhandbuch

ST_OrderingEquals

ST_OrderingEquals vergleicht zwei Geometrien und gibt 1 (TRUE) zurück, wenn die Geometrien gleich sind und die Koordinaten die gleiche Reihenfolge haben; andernfalls wird 0 (FALSE) zurückgegeben.

Syntax

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

Rückgabetyp

Integer

Beispiele

Die folgende Anweisung CREATE TABLE erstellt die Tabelle LINESTRING_TEST mit den beiden Linienspalten L1 und L2.

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

Die folgende Anweisung INSERT fügt zwei Linienfolgen ein in L1 und L2, die gleich sind und dieselbe Koordinatenreihenfolge haben.

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)));

Die folgende Anweisung INSERT fügt zwei Linienfolgen ein in L1 und L2, die gleich sind, aber nicht dieselbe Koordinatenreihenfolge haben.

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)));

Die folgende Anweisung SELECT und die entsprechende Ergebnisgruppe zeigt, wie die Funktion ST_Equals unabhängig von der Reihenfolge der Koordinaten 1 (TRUE) zurückgibt. Die Funktion ST_OrderingEquals gibt 0 (FALSE) zurück, wenn die Geometrien nicht gleich sind und die gleiche Koordinatenreihenfolge haben.

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


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]