|
||
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.