sharonzhen 2017-06-26 09:25 采纳率: 0%
浏览 595

关于oracle_spatial空间函数报错的问题

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等空间比较函数就不好用了。
有大神遇到过这样的问题么?求指教

  • 写回答

1条回答 默认 最新

  • 喝茶品人生 2023-04-18 13:42
    关注

    检查数据的坐标系和坐标值是否正确,再试一试Oracle提供的空间数据检查工具来检查数据格式是否正确,我对甲骨文的数据库了解没那么多,你也可以去oracle论坛上询问一下。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器