文档解释
ORA-54522: inner rings of same outer ring cannot intersect or share boundary
Cause: Two inner rings of the same outer ring intersected or shared a boundary.
Action: Ensure that line segments of an inner ring do not intersect or fully or partially coincide with line segments of another inner ring sharing the same outer ring.
ORA-54522:同一外环的内环不能相交或分享边界
官方解释
ORA-54522,在很多情况下,当您使用SDO_GEOM.SDO_UNION功能时,系统使用外环在由内环组成的几何体上创建一个不可交叉的外环。 如果外环与同一几何体的内环相交,则会引发ORA-54522,表示内环不能相交,内部的外环必须是一个不可交叉的区域。
常见案例
ORA-54522错误最常见的原因是,由于绘图错误,您在输入几何抽象结构时,提供了两个相交的内环。 将多个几何图形组合到一起时,总是从几何图形开始,提供多边形,圆弧或直线特征,并确保这些组成部分没有相交。
一般处理方法及步骤
1. 检查使用的输入几何抽象结构,确保所有分段均处于不相交状态。
2. 检查使用的辅助程序,如果程序的技术超出了标准实现的参数,则检查程序,以确保没有其他相交边界。
3. 使用SDO_GEOM.SDO_BUFFER函数,将空间叠加创建出新的多边形,以避免内环与外环相交。
4. 如果不同类型的要素存在,请检查组合操作的边界条件,并确保边界不会相交。