English

Bug: ST_Disjoint in Oracle can return incorrect results

Description

Using the ST_Disjoint operator in Oracle can return incorrect results when ST_Geometry shapes do not intersect (disjoint).

Cause

The ST_Disjoint operator first applies an envelope filter for optimization, when checking if the two input ST_Geometry shapes are disjoint or not.

Incorrect results are returned when the two envelopes of the input ST_Geometry shapes intersect (not disjoint). The ST_Disjoint operator immediately returns false results.

The ST_Disjoint operator should only return true results if the two input ST_Geometry shapes' envelopes are disjoint; however, when the envelopes do intersect and the features are disjoint, the two input shapes must be computationally compared to determine if they are disjoint or not.

If the two input ST_Geometry shapes are disjoint, the operator returns a value of 1 (true).

Workaround

There is no available workaround. For further assistance please contact ESRI's Support Services.