MapGuide API Reference
|
[OGC99-049] defines within as:
A.Within(B) iff ( A intersect B = A) and ( I(A) intersect I(B) is not empty)
where I(A) means the interior of A.
In terms of the DE-9IM [OGC99-049] defines within as:
A.Within(B) iff ( I(A) intersect I(B) is not empty) and ( I(A) intersect E(B) is empty) and ( B(A) intersect E(B) is empty) iff A.Relate(B, 'T*F**F***')
where E(B) means the exterior of B and the B(A) means the boundary of A and 'T*F**F***' means
dim( I(A) intersect I(B) ) belongs to { 0, 1, 2 }
dim ( I(A) intersect B(B) ) does not matter
dim ( I(A) intersect E(B) ) is empty
dim ( B(A) intersect I(B) ) does not matter
dim ( B(A) intersect B(B) ) does not matter
dim ( B(A) intersect E(B) ) is empty
dim ( E(A) intersect I(B) ) does not matter
dim ( E(A) intersect B(B) ) does not matter
dim ( E(A) intersect E(B) ) does not matter
where dim(...) means the dimension of ...
There is none. The FDO Oracle Provider implements the Within operator using the OR'd combination of the inside and coveredby spatial operators.
within = Inside
sdo_relate(a.geometry, mdsys.sdo_geometry(2001, NULL, mdsys.sdo_point_type(1,1,NULL), NULL, NULL), 'mask=inside+coveredby')
.