使用oracle空间坐标sdo_Geom,可以对空间坐标的点线面的位置进行判断,比如点和点、点和面、线和面、面和面的关系等,主要用到的就是sdo_Geom.Relate
sdo_Geom.Relate使用方式
sdo_Geom.Relate(sdo_Geometry1, ‘MASK’, sod_Geometry2, tolerance )
其中:sdo_Geometry1、sdo_Geometry2为空间坐标,‘MASK’为判断类型,tolerance为判断精度
判断类型包括:
Anyinteract: sdo_Geometry2落在sdo_Geometry1面上包括在边上。
Contains: sdo_Geometry2完全包含在sdo_Geometry1几何对象中,并且两个几何对象的边没有交叉。
Coveredby: sdo_Geometry1完全包含在sdo_Geometry2中,并且这两个几何对象的边有一个或多个点相互重叠。
Covers: sdo_Geometry2完全包含在sdo_Geometry1中,并且这两个几何对象的边有一个或多个点相互重叠。
Disjoint: 两个几何没有重叠交叉点,也没有共同的边。
Equal: 两个几何是相等的。
Inside: sdo_Geometry1完全包含在sdo_Geometry2几何对象中,并且两个几何对象的边没有交叉。
On: sdo_Geometry1的边和内部的线完全在sdo_Geometry2上。
Overlapbdydisjoint: 两个几何对象交迭,但是边没有交叉。
Overlapbdyintersect: 两个几何对象交迭,并且边有部分交叉。
Touch: 两个几何对象有共同的边,但没有交叉。
但是针对不同的类型对于是否符合的返回值是不同的,有的返回true或false,有

Oracle的sdo_Geom包提供了sdo_Geom.Relate方法,用于判断空间坐标之间的关系,如点、线、面的相互位置。通过指定'MASK'参数和容忍度,可以检查不同类型的几何对象关系,例如Anyinteract、Contains、Disjoint等。返回值根据判断类型不同,可能是布尔值或特定单词。示例展示了如何检查STREET表中几何对象是否与给定范围不重叠。
最低0.47元/天 解锁文章
2045

被折叠的 条评论
为什么被折叠?



