This document describes the basic and extended classes that hold position data.
This document describes how position data is represented within the position data classes.
The World Geodetic System reference datum (WGS 84) is used by LBS. This is a global co-ordinate system in which co-ordinates are expressed as latitude and longitude in degrees and altitude in metres above the reference datum. In WGS 84, latitude values have the range (-90 <= Lat <= +90) and longitude values have the range (-180 <= Long < +180).
In LBS, latitude and
longitude are held as TReal64
values and altitude is held
as a TReal32
value.
Both horizontal and
vertical accuracy are held as TReal32
values and represent
a possible error values in metres.
Bearings and headings
are held as TReal32
values and represent a direction in degrees.
Bearing and heading accuracies are also held as TReal32
values
and represent a possible error value in degrees.
The TCoordinate
base
class holds the latitude, longitude and altitude of a position. If an application
attempts to assign values that are outside of the ranges specified by WGS
84 to an instance of a TCoordinate
class then the values
are adjusted to lie within the correct interval.
In some situations, one of the
position co-ordinates, typically altitude may not be known. This is usually
because the positioning module that was used to obtain the location fix was
unable to obtain data for that co-ordinate. Where LBS cannot assign a value
to a co-ordinate value, the value "Not a Number" (NaN) is assigned to it.
Applications must test for this situation by calling Math::IsNaN()
on
each returned co-ordinate value before using it in a calculation.