ST_OrderingEquals

Definition

ST_OrderingEquals vergleicht zwei ST_Geometry-Objekte und gibt 1 (Oracle) oder t (PostgreSQL) zurück, wenn die beiden Geometrien identisch sind und die Koordinaten in der gleichen Reihenfolge vorliegen. Andernfalls wird 0 (Oracle) oder f (PostgreSQL) zurückgegeben.

Syntax

sde.st_orderingequals (g1 sde.st_geometry, g2 sde.st_geometry)

Rückgabetyp

Integer (Boolesch)

Beispiel

Mit der folgenden CREATE TABLE-Anweisung wird die Tabelle "LINESTRING_TEST" erstellt, die über die beiden ST_LineString-Spalten "ln1" und "ln2" verfügt.

CREATE TABLE linestring_test (
lid integer,
ln1 sde.st_linestring,
ln2 sde.st_geometry);

Mit der folgenden INSERT-Anweisung werden zwei ST_LineString-Werte in "ln1" und" ln2" eingefügt, die gleich sind und über die gleiche Koordinatenreihenfolge verfügen.

Oracle

INSERT INTO LINESTRING_TEST VALUES (
1,
sde.st_linefromtext ('linestring (10.01 20.02, 21.50 12.10)', 0),
sde.st_linefromtext ('linestring (10.01 20.02, 21.50 12.10)', 0)
);

PostgreSQL

INSERT INTO linestring_test VALUES (
1,
sde.st_linestring ('linestring (10.01 20.02, 21.50 12.10)', 0),
sde.st_linestring ('linestring (10.01 20.02, 21.50 12.10)', 0)
);

Die folgende SELECT-Anweisung und der zugehörige Ergebnissatz zeigen, dass die Funktion ST_Equals unabhängig von der Koordinatenreihenfolge 1 (TRUE) zurückgibt. Die Funktion ST_OrderingEquals gibt 0 (FALSE) zurück, wenn die Geometrien nicht gleich sind und nicht über dieselbe Koordinatenreihenfolge verfügen.

Oracle

SELECT lid, sde.st_equals (ln1, ln2) Equals, sde.st_orderingequals (ln1, ln2) OrderingEquals
FROM LINESTRING_TEST;

lid Equals     OrderingEquals

1   1          1

PostgreSQL

SELECT lid, sde.st_equals (ln1, ln2) AS Equals, sde.st_orderingequals (ln1, ln2) 
AS OrderingEquals
FROM linestring_test;

lid equals     orderingequals

1   t          t

7/10/2012