Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The moving object algebra defines some functions that work directly on temporal attributes and therefore do not need this kind of translation described above. An example would be the SpeedFunction from the spatio-temporal feature. It takes a temporal spatial point (tpoint) and creates a tdouble with the speed of the object at each point in time. A direct temporal function implements the interface TemporalFunction. If the temporal function does not return a temporal value itself, but a non-temporal , it also implements the interface RemoveTemporalFunction. An example would be the TrajectoryFunction from the spatio-temporal feature, which gets a tpoint and creates a non-temporal trajectory, i.e., a spatial LineString.

Limitations

...

As of now, there is a limitation when combining direct temporal functions and normal functions in one expression. In that case, Odysseus creates an error message and you have to split your expression in multiple consecutive map operators.

Code Block
// Not possible
calcTraj = MAP( {
expressions = [[ ’ SpatialLength ( Trajectory ( tempSpatialPoint , PredictionTimes ) ) ’ , ’traj ’]],
keepinput = true
} , predTime )

// Possible
calcTraj = MAP( {
expressions = [[ ’ Trajectory ( tempSpatialPoint , PredictionTimes ) ’ , ’ traj ’]],
keepinput = true
} , predTime )

MAP({
expressions = [[’SpatialLength(traj)’,’len’]],
keepinput = true
} , calcTraj )


Operators

Text

PredictionTime

...