SDO_INTERSECTION Returns Wrong Results For Interaction Between a 2D Geodetic Line and a Triangle (Doc ID 1916396.1)

Last updated on FEBRUARY 08, 2017

Applies to:

Oracle Spatial and Graph - Version 11.2.0.4 and later
Information in this document applies to any platform.

Symptoms

SDO_INTERSECTION is returning wrong results for interaction between a 2D geodetic line and triangle.  Answer should be either: null, a point, or a line.  But in the specific example provided, returns both a line and point for a 0.4m tolerance, a point for a 0.3m tolerance, and a line (the correct answer) for a 0.2m tolerance.

select sdo_geom.sdo_intersection
    ( sdo_geometry( 2002, 8265, null, sdo_elem_info_array(1,2,1)
                  , sdo_ordinate_array
                    ( -99.27473721683299,38.85367740660929
                    , -99.27808789010288,38.8812122552134 ) )
    , sdo_geometry( 2003, 8265, null, sdo_elem_info_array(1,1003,1)
                  , sdo_ordinate_array
                    ( -99.2777833492725,38.891799147488
                    , -99.2795591834185,38.8917363087091
                    , -99.278034875188,38.8808113246931
                    , -99.2777833492725,38.891799147488 ) )
    , &tolerance ) from dual;

0.4: SDO_GTYPE = 2004
0.3: SDO_GTYPE = 2001
0.2: SDO_GTYPE = 2002

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms