Null Result From CLIP_GEOM_SEGMENT On Multi-Line LRS Geometries (Doc ID 1989845.1)

Last updated on FEBRUARY 08, 2017

Applies to:

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

Symptoms

The problem is visible under the following conditions:
 
1) A multi-line LRS geometry (gtype 3306) is formed from multiple
disconnected elements, for example A B C D has two elements:
element 1 from point A (measure A) to point B (measure B)
element 2 from point C (measure C) to point D (measure D)
and a gap between points B and C.
 
2) Using the CLIP_GEOM_SEGMENT function to essentially clip a point, i.e
CLIP_GEOM_SEGMENT (geom, m,m), i.e using the same value for the <from> and
<to> measures. That returns an LRS point geometry.
 
3) That process works for all cases - EXCEPT when applied on the last point
of an element, or the first point of an element (= the measures that bound a
gap) where the function returns NULL:
 
clip_geom_segment(A) works
clip_geom_segment(B) returns NULL
clip_geom_segment(C) returns NULL
clip_geom_segment(D) works
 
Here is a simple reproducer:
 

  

  
 
The result:
 
PA = SDO_GEOMETRY(3301, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1),
SDO_ORDINATE_ARRAY (0, 0, 0))
PB = NULL
PC = NULL
PD = SDO_GEOMETRY(3301, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1),
SDO_ORDINATE_ARRAY (30, 0, 30))

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