|
Units Class Hierarchy Classes, Interfaces, Objects and Records Types Variables Constants Functions and Procedures Identifiers |
Class TGPSBase
Unit
xomGPS
Declaration
type TGPSBase = class(TObject)
Description
TGPSBase
Hierarchy
Overview
Fields
Methods
 |
function Deg2GpsPos(const ADeg, AMins, ASecs: Double): Double; virtual; |
 |
function DegStr2GpsPos( ADegees: String): Double; virtual; |
 |
function Deg2XMPGpsPos(const APos: Double; const ADirection: String): WideString; virtual; |
 |
procedure GpsPos2Deg( APos: Double; out ADeg, AMins, ASecs: Double); virtual; |
 |
function GPSStrToFloat (const APos: String): Double; virtual; |
 |
function XMPGpsDateTimeFromExif(const ADate, ATime: WideString): TDateTime; virtual; |
 |
function XMPGpsPos2Deg(const APos: String): Double; virtual; |
 |
function XMPRat2Double(const AStr: String; var AVal: Double): Boolean; virtual; |
 |
function XmpValue(const Value: Double): String; virtual; |
 |
function LatDirection(const AVal: Double): String; virtual; |
 |
function LonDirection(const AVal: Double): String; virtual; |
 |
function DegToString(const AVal: Double; AIsLat: Boolean; const AStyle: TGPSStringFormat): WideString; virtual; |
 |
function LatToString(const AVal: Double; const AStyle: TGPSStringFormat): WideString; virtual; |
 |
function LonToString(const AVal: Double; const AStyle: TGPSStringFormat): WideString; virtual; |
 |
function AltToString( AValMeter: Double; const APrecision: Integer = 1; const AMeasurementSystem: TMeasurementSystem = msMetrics): WideString; virtual; |
 |
procedure MiddlePoint( ALat1, ALong1, ALat2, ALong2: Double; var ALatMid: Double; var ALongMid: Double; const ABalance: Single = 0.50); virtual; |
 |
function DistanceBetween2Points(const ALat1, ALong1, ALat2, ALong2: Double): Double; virtual; |
 |
procedure ExpandDistanceBetween2Points(var ALat1, ALon1, ALat2, ALon2: Double; ADistance: Double); virtual; |
Description
Fields
 |
internal const earthRadius : Double = 6378137.0; |
|
|
Methods
 |
function Deg2GpsPos(const ADeg, AMins, ASecs: Double): Double; virtual; |
|
meters translate a degree pos (deg min sec) to a decimal fraction position
|
 |
function DegStr2GpsPos( ADegees: String): Double; virtual; |
|
translate a degree string (deg:min:sec.zzz) to a decimal fraction position
|
 |
function Deg2XMPGpsPos(const APos: Double; const ADirection: String): WideString; virtual; |
|
convert a decimal GPS coordinate value to the XMP GPS format DD,MM.mmk (e.g. 51.xxx (51 degrees 4 mins 3 secs North) becomes 51,04.05N
|
 |
procedure GpsPos2Deg( APos: Double; out ADeg, AMins, ASecs: Double); virtual; |
|
convert degrees (as a decimal fraction) to degrees, minutes and seconds
|
 |
function GPSStrToFloat (const APos: String): Double; virtual; |
|
Convert decimal degrees or a XMP GPS coordinate (DD,MM,SSk) or (DD,MM.mmk) to a real number (e.g. 51,04,03N is converted to 51.xxxx)
|
 |
function XMPGpsDateTimeFromExif(const ADate, ATime: WideString): TDateTime; virtual; |
|
convert a date to XMP date format
|
 |
function XMPGpsPos2Deg(const APos: String): Double; virtual; |
|
convert a XMP GPS coordinate (DD,MM,SSk) or (DD,MM.mmk) to decimal position (e.g. 51,04,03N is converted to 51.xxxx)
|
 |
function XMPRat2Double(const AStr: String; var AVal: Double): Boolean; virtual; |
|
convert a rational string to a Double. Return False if can't be parsed
|
 |
function XmpValue(const Value: Double): String; virtual; |
|
format a Double as a rational string
|
 |
function LatDirection(const AVal: Double): String; virtual; |
|
returns the direction of the latitude (N for positive values, S for negative values);
|
 |
function LonDirection(const AVal: Double): String; virtual; |
|
returns the direction of the longitude (E for positive values, W for negative values);
|
 |
function DegToString(const AVal: Double; AIsLat: Boolean; const AStyle: TGPSStringFormat): WideString; virtual; |
|
returns a string for degrees
|
 |
function LatToString(const AVal: Double; const AStyle: TGPSStringFormat): WideString; virtual; |
|
returns a string for latitude
|
 |
function LonToString(const AVal: Double; const AStyle: TGPSStringFormat): WideString; virtual; |
|
returns a string for longitude
|
 |
function AltToString( AValMeter: Double; const APrecision: Integer = 1; const AMeasurementSystem: TMeasurementSystem = msMetrics): WideString; virtual; |
|
returns a string for altitude
|
 |
procedure MiddlePoint( ALat1, ALong1, ALat2, ALong2: Double; var ALatMid: Double; var ALongMid: Double; const ABalance: Single = 0.50); virtual; |
|
calculate the mid point between two coordinates
|
 |
function DistanceBetween2Points(const ALat1, ALong1, ALat2, ALong2: Double): Double; virtual; |
|
Calculate the distance between 2 GPS coordinates, by taking into account rounding of the earth. It does a transformation from spherical coordinates to normal rectangular coordinates. Result is in meters.
|
 |
procedure ExpandDistanceBetween2Points(var ALat1, ALon1, ALat2, ALon2: Double; ADistance: Double); virtual; |
|
This expands a rectangle by a certain distance (in meters), keeping the center fixed. Since the bounds are latitude/longitude, we need to convert meters to degrees latitude/longitude, which requires accounting for the Earth’s curvature.
|
Generated by PasDoc 0.15.0.
|