0

Please look at following query (run on Oracle 19c):

SELECT SDO_LRS.CONCATENATE_GEOM_SEGMENTS_3D ( MDSYS.SDO_GEOMETRY( 4402, 4327, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY(-87.5581857869439, 41.6569754435628, 589.31538218591, 507.27401, -87.5582131677029, 41.6570011677706, 589.35568218591, 507.27623) ), MDSYS.SDO_GEOMETRY( 4402, 4327, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY(-87.5582131677030, 41.6570011677707, 589.35568218592, 507.27624, -87.5582454317806, 41.6570319021015, 589.40968218591, 507.27886) ), .005 ) from DUAL;

The two input SDO_GEOMETRY's are contiguous, i.e. the last point of the first geometry coincides with the first point of the second geometry...

It returns:

MDSYS.SDO_GEOMETRY(4402, 4327, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY(-87.5581857869439, 41.6569754435628, 0, 507.27401, -87.558213167703, 41.6570011677707, 0, 507.27623, -87.5582454317806, 41.6570319021015, 0, 507.27885))

It 0's out the third values, i.e. the Z values...

Why does this do this?

On the other hand if use NULL values for the input geometry SRID's, it does not 0 out the Z values...

SELECT SDO_LRS.CONCATENATE_GEOM_SEGMENTS_3D ( MDSYS.SDO_GEOMETRY( 4402, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY(-87.5581857869439, 41.6569754435628, 589.31538218591, 507.27401, -87.5582131677029, 41.6570011677706, 589.35568218591, 507.27623) ), MDSYS.SDO_GEOMETRY( 4402, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY(-87.5582131677029, 41.6570011677706, 589.35568218591, 507.27623, -87.5582454317806, 41.6570319021015, 589.40968218591, 507.27886) ), .005 ) from DUAL;

In fact I tried SRID values of 5706, 43229, even 44444 (made up) and they work... but not 4327, 4329, 4979...

Expecting the Z values not to be 0...

gurunara5
  • 1
  • 1

0 Answers0