select * from cssp_base_broadcast t,
(select mdsys.sdo_geometry(2003,
8307,
null,
mdsys.sdo_elem_info_array(1, 1003, 3),
mdsys.sdo_ordinate_array(126.531705886243,
45.8092143142683,
126.49806025636,
45.798025305247)) region
from cssp_base_planning) a
WHERE sdo_inside(t.location, a.region) = 'TRUE'
sql语句执行时报错:
ORA-29902:执行ODCIIndexStart()例行程序中出错
ORA-13034:SDO_GEOMETRY对象中位于SDO_ORADINATE_ARRAY中的数据无效
ORA-06512:在“MDSYS.SDO_INDEX_METHOD_10I”,line416
第一,这条语句在另外一个数据库执行不报错。
第二,在该数据库下,单独执行where之前的语句,不报错。
sdo_inside,sdo_contains等空间比较函数就不好用了。
有大神遇到过这样的问题么?求指教
检查数据的坐标系和坐标值是否正确,再试一试Oracle提供的空间数据检查工具来检查数据格式是否正确,我对甲骨文的数据库了解没那么多,你也可以去oracle论坛上询问一下。