Database Reference
In-Depth Information
consist of lines and regions. Finally, the projection of a temporal region into
the plane consists in a region. In our example, Trajectory(RouteT1) will result
in the leftmost line in Fig. 12.3 , without any temporal information.
All operations over nontemporal spatial types are lifted to allow any of the
arguments to be a temporal type and return a temporal type. As an example,
the Distance function, which returns the Cartesian minimum distance between
two geometries, has lifted versions where one or both of its arguments can be
temporal points and the result is a temporal real. Intuitively, the semantics
of such lifted operations is that the result is computed at each instant using
the nonlifted operation. That means the lifted Distance function returns
the distance between two spatial objects at any given point in time. In
our example, Distance(RouteT1, RouteT2) returns a temporal real shown in
Fig. 12.4 , where, for instance, the function has a value 1.5 at 8:10 and 1.41
at 8:15.
d
2
1
8:05
8:10
8:15
8:20
t
Fig. 12.4 Distance between the trajectories of the two trucks in Fig. 12.3
Topological operations can also be lifted. In this case, the semantics is
that the operation returns a temporal Boolean that computes the topological
relationship at each instant. For example, Intersects(RouteT1, RouteT2) will
return a temporal Boolean with value false during [8:05, 8:20] since the two
trucks were never at the same point at any instant of their route.
A common request is to ask whether two temporal points satisfy a topo-
logical relationship at a particular instant or at a particular time period. This
can be easily obtained by applying first the AtInstant or AtPeriod operations
and then by verifying the traditional topological relationship. For example,
we could ask if the two trucks T1 and T2 intersected each other at 8:30 with
the expression Intersects(AtInstant(RouteT1, 8:30), AtInstant(RouteT2, 8:30)) .
Notice that here the Intersects operation applied is the nonlifted one. In our
example, the result returns false . However, note that the reason could be the
imprecision of the measures in time and/or space. One solution to this could
be to define a buffer in time and space. This can be stated as follows:
Intersects(Buffer(RouteT1, 0.6, 0:10), Buffer(RouteT2, 0.6, 0:10))
 
Search WWH ::




Custom Search