Doubt about Oracle Spatial - out of bounds
Date: Tue, 21 May 2013 16:10:49 -0300
Message-ID: <CAJdDhaPNe21QRQhj2oiU8E3uFrteRHqUP0-hBPO3n_JmzuLFPw_at_mail.gmail.com>
Hello,
I have the code bellow and I did not get why it does not cause error when inserting a point out of MBR.
I expect the error:
ORA-13019: coordinates out of bounds
Cause: Vertex coordinates lie outside the valid range for specified
dimension.
DROP TABLE T1
/
CREATE TABLE t1 (
i NUMBER,
d VARCHAR2(50),
geometry SDO_GEOMETRY
);
drop index sdx_t1
/
delete from user_sdo_geom_metadata where table_name = 'T1';
INSERT INTO user_sdo_geom_metadata
(table_name, column_name, diminfo, srid)
VALUES
('T1','GEOMETRY',
SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -1, 1, 0.05),
SDO_DIM_ELEMENT('Y', -1, 1, 0.05)), null)
/
SELECT * FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = 'T1';
CREATE INDEX sdx_t1 ON t1 (geometry)
INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS('TABLESPACE=INDX
WORK_TABLESPACE=WRKIDX');
INSERT INTO t1 (i, d, geometry)
VALUES (
1,
'Point',
sdo_geometry (2001, null, null, sdo_elem_info_array (1,1,1),
sdo_ordinate_array (50,50))
);
SELECT * FROM T1;
INSERT INTO t1 (i, d, geometry)
VALUES (
2,
'Line segment',
sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,1),
sdo_ordinate_array (10,10, 20,10))
);
INSERT INTO t1 (i, d, geometry)
VALUES (
3,
'Arc segment',
sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,2),
sdo_ordinate_array (10,15, 15,20, 20,15))
);
INSERT INTO t1 (i, d, geometry)
VALUES (
4,
'Line string',
sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,1),
sdo_ordinate_array (10,25, 20,30, 25,25, 30,30))
);
INSERT INTO t1 (i, d, geometry)
VALUES (
5,
'Arc string',
sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,2),
sdo_ordinate_array (10,35, 15,40, 20,35, 25,30, 30,35))
);
SELECT i, d, SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT (geometry, 0.5) FROM t1;
Any idea ?
Regards
Eriovaldo
-- http://www.freelists.org/webpage/oracle-lReceived on Tue May 21 2013 - 21:10:49 CEST