Ora-13349 - Polygon Boundary Crosses Itself - Occurs Only In 10.2.0.5 (Doc ID 1347627.1)

Last updated on FEBRUARY 08, 2017

Applies to:

Oracle Spatial - Version: 10.2.0.5 to 10.2.0.5 - Release: 10.2 to 10.2
Information in this document applies to any platform.

Symptoms


Validating a geometry in 10.2.0.5 returns error:

13349 [Element <1>] [Ring <1>][Edge <28>][Edge <26>]

The geometry is VALID in 10.2.0.4, 11.1.0.7, 11.2.0.2

DROP TABLE TEST;
CREATE TABLE TEST
(NAME VARCHAR2(100),
GEOM MDSYS.SDO_GEOMETRY);

insert into TEST
values('ORIGINAL', MDSYS.SDO_GEOMETRY (
2003,
8307,
NULL,
MDSYS.SDO_ELEM_INFO_ARRAY
(
1,
1003,
1),
MDSYS.SDO_ORDINATE_ARRAY
(
25.48475,
55.21934,
25.48561,
...
...
55.22072,
25.48475,
55.21934)));
commit;

delete USER_SDO_GEOM_METADATA
where table_name = 'TEST';

INSERT INTO USER_SDO_GEOM_METADATA
VALUES (
'TEST',
'GEOM',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X', -180,180, 0.5),
MDSYS.SDO_DIM_ELEMENT('Y', -90,90, 0.5)
),
8307
);
commit;

-------------------------------------------------------------------
-- Show the data in the table --
-------------------------------------------------------------------
set pages 1000
set numwidth 20
col status for a20

select * from TEST;

-- validation section
select NAME,sdo_geom.validate_geometry (GEOM,(select diminfo from
user_sdo_geom_metadata where table_name='TEST'
and column_name = 'GEOM')) status
from TEST;


-- This is the test case
-- The Validation returns:
/*
13349

13349, 00000, "polygon boundary crosses itself"
// *Cause: The boundary of a polygon intersects itself.
// *Action: Correct the geometric definition of the object.

*/

The ONLY version that generates the error is 10.2.0.5

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