Oracle空间操作符:sdo_Geom.Relate
(2016-07-21 15:24:32)
标签:
oracle_spatialsdo_geometry |
分类: Oracle |
sdo_Geom.Relate
2001,
null,
sdo_point_type( 56004.23, 40372.15, null),
null,
null
),'mask=ANYINTERACT querytype=WINDOW') =
'TRUE'
2001,
null,
sdo_point_type( 56004.23, 40372.15, null),
null,
null
), 0.5)= 'TRUE';
sdo_Geom.Relate(sdo_Geometry1,
‘MASK’, sod_Geometry2, tolerance
):用于判断一个几何体与另一个几何体的关系,我们用于判断当前点是否在某一个面(省份面、县市面、乡镇面)上。
参数说明:
sdo_Geometry1,sdo_Geometry2为空间数据对应的几何对象。
Tolerance: 容许的精度范围;
MASK参数:
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: 两个几何对象有共同的边,但没有交叉。
参数说明:
sdo_Geometry1,sdo_Geometry2为空间数据对应的几何对象。
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: 两个几何对象有共同的边,但没有交叉。
例子:---判断图形是否与某点相交
SELECT * FROM
t土地利用现状_d地类图斑200w a
WHERE sdo_relate(a.shape,
sdo_geometry(
网上还见过这种写法,没报错,但没有查询结果返回,不知道具体错在哪里,记录下来,供以后参考:
select * from
t土地利用现状_d地类图斑200w a
WHERE
sdo_geom.relate(a.shape,'Anyineract',sdo_geometry(
前一篇:转载:空间索引

加载中…