首页 理论教育 空间数据库调试与排错实验指南

空间数据库调试与排错实验指南

时间:2023-08-29 理论教育 版权反馈
【摘要】:空间数据的有效性检查能够查询SDO_GEMOTRY对象的无效情况,但并没有进行排错。例如,在ovcpolygons表中出现如图2-24所示的Ora-13356错误,只是查出来了,但并没有进行清理。Oracle Spatial的SDO_UTIL包提供了一些函数用于清理这些空间数据中存在的错误,如REMOVE_DUPLICATE_VERTICES、EXTRACT、APPEND等函数。第二行输出的是检测结果,证明REMOVE_DUPLICATE_VERTICES已经排除了geom中存在的问题。此外,对于有些空间有效性问题,Oracle Spatial并没有提供完善的排错函数,在这种情况下需要自己根据实际应用编写相关工具包。

空间数据库调试与排错实验指南

空间数据的有效性检查能够查询SDO_GEMOTRY对象的无效情况,但并没有进行排错。例如,在ovcpolygons表中出现如图2-24所示的Ora-13356错误,只是查出来了,但并没有进行清理。Oracle Spatial的SDO_UTIL包提供了一些函数用于清理这些空间数据中存在的错误,如REMOVE_DUPLICATE_VERTICES、EXTRACT、APPEND等函数。具体的函数用法请参见Oracle Spatial Developer′s Guide一书。在这里以去除重复点为例,演示一下REMOVE_DUPLICATE_VERTICES函数的用法。

运行脚本Code_2_3,DBMS输出的结果为:

13356[Element<1>][Coordinate<1>][Ring<1>](www.xing528.com)

TRUE

第一行的输出是采用tolerance=0.05检测geom对象发现的有效性问题,它表示在该容忍值下,geom的一个元素中存在重复点。于是调用REMOVE_DUPLICATE_VERTICES去除其中的重复点,并将其复制给geomvalid,然后再检测geomvalid对象的有效性。第二行输出的是检测结果,证明REMOVE_DUPLICATE_VERTICES已经排除了geom中存在的问题。SDO_UTIL中有很多函数用于SDO_GEOMETRY,初步学习的时候没有必要去记住这些函数或过程,只需要掌握如何通过Oracle提供的帮助文档查询所要用到的函数,然后根据说明会使用这些函数就可以了。更多具体的SDO_GEOMETRY操作方法,将在下一章详细讨论。此外,对于有些空间有效性问题,Oracle Spatial并没有提供完善的排错函数,在这种情况下需要自己根据实际应用编写相关工具包。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈