Forum Stats

  • 3,874,288 Users
  • 2,266,718 Discussions
  • 7,911,799 Comments

Discussions

3D compound line string gives ERROR 54530

user8048037
user8048037 Member Posts: 29 Blue Ribbon
edited Jan 11, 2017 2:52AM in Spatial Discussions

Why is the 2D compound line string valid, but the 3D one is not (ORA 11.2.0.3)?

--validates TRUE

SELECT sdo_geom.validate_geometry_with_context(  SDO_GEOMETRY(2002,NULL,NULL,    SDO_ELEM_INFO_ARRAY(1,4,2, 1,2,1, 3,2,2),     SDO_ORDINATE_ARRAY(      10,10,       10,14,        6,10,       14,10)),0.001)  FROM dual;

--validates 54530 Point:0,Edge:1,

SELECT sdo_geom.validate_geometry_with_context(  SDO_GEOMETRY(3002,NULL,NULL,    SDO_ELEM_INFO_ARRAY(1,4,2, 1,2,1, 4,2,2),     SDO_ORDINATE_ARRAY(      10,10,0,       10,14,0,        6,10,0,       14,10,0)),0.001)  FROM dual;

Answers

  • user8048037
    user8048037 Member Posts: 29 Blue Ribbon
    edited Jan 3, 2017 2:50AM

    Get the same error in ORA 12.1.0.2.0.

    Is this possibly because we have no Spatial license? Could someone with Spatial license test it please.

    Thanks a lot.

  • Ying Hu-Oracle
    Ying Hu-Oracle Posts: 402 Employee
    edited Jan 3, 2017 9:33AM

    It seems to be a bug. Please ask oracle support to file a bug.

  • [Deleted User]
    [Deleted User] Posts: 0 Silver Trophy
    edited Jan 10, 2017 3:52AM

    It doesn't seem to make a difference (I get the same error as you do even when I modify the 3D geometry), but your geometries are not the same, notably the element info:

        SDO_ELEM_INFO_ARRAY(1,4,2, 1,2,1, 3,2,2),

    and

        SDO_ELEM_INFO_ARRAY(1,4,2, 1,2,1, 4,2,2), 

    note the 4 in the last triplet. On my 11.2 it doesn't make a difference in the validation however.

    Regards,

    Stefan

  • user8048037
    user8048037 Member Posts: 29 Blue Ribbon
    edited Jan 10, 2017 9:30AM

    Thank you Stefan, for your note:

    ..., but your geometries are not the same, notably the element info: SDO_ELEM_INFO_ARRAY(1,4,2, 1,2,1, 3,2,2),and SDO_ELEM_INFO_ARRAY(1,4,2, 1,2,1, 4,2,2), note the 4 in the last triplet. ...

    The info_array has to be different imo, because now it is a 3D geometry.

    So the second part of the compound line string (ARC) now starts a the 4th ordinate, because of the additional z=0:

    SDO_ORDINATE_ARRAY(

          10,10,0,

          10,14,0,

          6,10,0,

          14,10,0)

  • [Deleted User]
    [Deleted User] Posts: 0 Silver Trophy
    edited Jan 11, 2017 2:52AM

    Duh. Sorry, my bad, you're completely right. Still in Openlayers mode (coordinates instead of ordinates), which is what I've been playing with mostly the past couple of days.

    And possibly not enough coffee ...

This discussion has been closed.