(p EQUALS EP())))
Example 4: Operators for checking spatial relations
between a point p and a polygon pg. pg is a
primitive polygon without holes.
There are three kinds of spatial relations. The point
P is either disjoint from the polygon 78 , or on the
boundary of, or inside of the polygon P$. The first
kind is checked by the operator DISJOINT. We
define the operator COVERS to check the second
kind.
pg COVERS p
iff BOUNDARY(pg) COVERS p
The third kind can be checked by the operator
CONTAINS defined as
pg CONTAINS p
iff NOT (pg DISJOINT p ) AND
NOT(pg COVERS p)
Example 5: Operators for checking spatial relations
between two lines li and Ik.
When two lines are not disjoint, they can be
topologically connected in different ways. Figure 2
shows some simple, but fundamental examples. In
group 1, two lines are connected at a point. We
define the operator MEETS as a fundamental
operator to detect these relations. To distinguish the
relation 1a, the operator INTERSECTS is defined as
li INTERSECTS Ik
iff (li MEETS Ik) AND
(li DISJOINT SP(Kk)) AND
(li DISJOINT EP(Ik)) AND
(Ik DISJOINT SP(li)) AND
(Ik DISJOINT EP(Ii))
PR os cul NN
1a 1b 1C
elt uet
» e LIA
3 4
Figure 2. Topological relations between two lines.
The relation 1c can be checked by the operator
MEETS-AT-ENDS defined as
li MEETS-AT-ENDS /k
iff (li MEETS Ik ) AND
((SP(li) EQUALS SP(Ik)) AND
NOT (SP(li) EQUALS EP(/))) OR
((SP(li) EQUALS EP(lk)) AND
NOT (SP(li) EQUALS SP(Ik))) OR
276
((EP(li) EQUALS SP(lk)) AND
NOT (EP(li) EQUALS EP(/k))) OR
((EP(lj) EQUALS EP(I)) AND
NOT (EP(li) EQUALS SP(I)))
We consider the situations in group 2 as the
overlapping relation in which two lines partly
intersect. The operator OVERLAPS is defined as a
fundamental operator to detect the overlapping
relation. Specific cases of the overlapping relation
can be distinguished by combining the operator
OVERLAPS with other predefined operators. The
relation 2a is detected by the operator
li OVERLAPS-AT-ENDS Ik
iff (li OVERLAPS Ik ) AND
((li COVERS SP(lk)) OR
(li COVERS EP(I))) AND
(Ik COVERS SP(li)) OR
(Ik COVERS EP(li)))
The relation 2b is detected by the operator
li OVERLAPS-IN-MIDDLE Ik
iff (li OVERLAPS Ik ) AND
(li DISJOINT SP(lk)) AND
(li DISJOINT EP(Ik)) AND
(Ik DISJOINT SP(li)) AND
(Ik DISJOINT EP(li))
We call the situations in group 3 and 4 the covering
relation. The operator COVERS is a fundamental
operator to check the covering relation.
The group 4 is a special case of covering relation in
which two lines are equal. To detect this special
relation, the operator EQUALS is defined as
li EQUALS Ik
iff (li COVERS Ik ) AND
(SP(li) EQUALS SP(IX)) AND
(EP(li) EQUALS EP(lk))) OR
(EP(li) EQUALS SP(lk)) AND
(SP(li) EQUALS EP(lk)))
Example 6: Operators for checking spatial relations
between a line / and a polygon 7$.
Spatial relations under the not-disjoint condition
can be classified into four groups (Figure 3). We
define operators MEETS, CONTAINS, COVERS and
OVERLAPS as fundamental operators to detect the
spatial relations of the respective groups.
The relations in group 1 can be distinguished by the
following operators.
! MEETS-AT-END P$
iff (I MEETS pg) AND
(I MEETS BOUNDARY(/3))
The r«
and tl
The
distir
PASS
Exam
relati
All th
fund:
polyg
differ
distir
opera
functi
exam