space & time
The Position interface, its GeoPoint implementation and its Route collection
are ROAF tools to handle (lat,lon,ele) coordinates anywhere on the globe.
The GPSinfo interface, its GPSpoint implementation and its GPStrace collection
simply add a timestamp to the (lat,lon) coordinates.
Implicitly every GPS device represents a clock with atomic precision, which is needed to determine the relative positions and speeds of the Satellites orbiting the globe constantly. Universal Time Coordinated (UTC) is like one single clock (instance) running at a well defined place (the zero meridian). In Java the class Date represents a specific instant in time, with millisecond precision and is intended to reflect coordinated universal time (UTC).
The separation of a space and time 'layer' can be useful in different contexts:
For example a route usually refers to the planing of a trip. By feeding a route into a GPS device (or navigation system) the user supplies a start and end of a route connected by a number of via points. The actual directions for driving are generated from the route - and can vary in different systems - and with different map versions or sources.
On the other hand a trace reflects the actual path driven and recorded with a GPS device. A trace implicitly provides plausibility of the Real Object it comes from (live or playback?). The acceleration values (derived from the trace) imply mass and force (engine power), the traces positions imply a street, which should be represented on a map.
Before the ROAF will be introduced it should be mentioned that the framework is open for any Real Object as long as it behaves realistic (or plausible) and does not raise any conflicts. The framework does not (and can not) distinguish, if the data received from a RealObject client is actually moving in the real world or if its trace has been recorded earlier or even if the trace only represents the simulation of a real object.
|« Route||GPSinfo »|