Software development Kit (SDK) for geodetic computations. The Geodetic DLL can work with applications written in Visual Basic, Visual C++ and Borland C++.
The routines included in the SDK are listed below:-
Angle Conversion Functions
-
AngleToDMS To convert an Angle to Degrees, Minutes and Seconds
-
AngleToDegMin To convert an Angle to Degrees and Minutes
-
AngleInAString To Convert and Angle to a String
-
AngleFromAString To convert a string containing an angle to a decimal value.
-
DegreesToRadians To convert degrees to radians
-
RadiansToDegrees To convert radians to degrees
-
DegreesToGrads To convert Degrees to Grads
-
GradsToDegrees To convert Grads to Degrees
-
RadiansToGrads To convert Radians to Grads
-
GradsToRadians To convert Grads to Radians
NMEA String Functions
An NMEA data string format for latitude and longitude combines degrees and minutes without a separator between the two values.
e.g 5612.3456 is 56° 12’.3456
The are two functions to convert between this format
Grid Calculations
-
ComputeGridLine To Compute the grid range and bearing between two grid points.
-
ComputeGridLineJoin To compute the gird position by range and bearing from another point.
-
ComputeOffsetPoint To compute position of an offset point on a vessel from another point.
-
Rotation2D To rotate co-ordinates about the Z axis
-
Rotation3D Three dimensional rotation
Nautical Functions
Units
-
MetresToImperial To convert a length from Metres to Imperial Units
-
ImperialToMetres To convert a length from Imperial Units to Metres
-
GermanLegalMetresToMetres To convert length in German Legal Metres to Metres
-
MetresToGermanLegalMetres To convert length in Metres to German Legal Metres
-
CtoF To convert temperature from Centigrade to Fahrenheit
-
FtoC To convert temperature from Fahrenheit to Centigrade
-
KgsToLbs To convert weight in Kilograms to Pounds
-
LbsToKgs To convert weight in Pounds to Kilograms
-
KipsToTonnes To convert tension in KIPS to metric tonnes
-
TonnesToKips To convert tension in metric tonnes to KIPS
-
KipsToKiloNewtons To convert tension in KIPS to kilo newtons
-
KiloNewtonsToKips To convert tension in kilo newtons to KIPS
-
TonnesToKiloNewtons To convert tension in metric tonnes to kilo newtons
-
KiloNewtonsToTonnes To convert tension in kilo newtons to metric tonnes
-
BarToKgCm To convert pressure in bar to Kg/cm
-
KgCmToBar To convert pressure in Kg/cm to bar
Spheroid Functions
The DLL currently supports 32 pre-defined spheroids, whose dimensions have been sourced from National Mapping agencies and the European Petroleum Survey Group (EPSG) data. There is also an option to enter user defined spheroids.
-
SetUpSpheroid To set up spheroid by semi major axis and inverse flattening. The function will compute all the other required parameters.
-
SetUpSpheroidByAxis To set up spheroid by semi major and semi minor axis. The function will compute all the other required parameters.
-
ReadSpheroid To read user defined spheroid parameters from a file
-
WriteSpheroid To write user defined spheroid parameters to a file
-
LoadSpheroid To load a predefined spheroid
-
GetSpheroid To access the spheroid parameters
-
GeogToXYZ To convert geographical co-ordinates to cartesian co-ordinates. The function will use the currently oaded spheroid.
-
XYZToGeog To convert cartesian co-ordinates to geographical co-ordinates. The function will use the currently loaded spheroid.
-
ComputeRhumbLine To compute rhumb line distance and bearing between two geographical co-ordinates.
-
ComputeRhumbLineJoin To compute geographical co-ordinates by rhumb line range and bearing from another geographical co-ordinate.
-
ComputeGreatCircle To compute great circle distance and bearing between two geographical co-ordinates.
-
GeogGreatCircleJoin To compute geographical co-ordinates by great circle range and bearing from another geographical co-ordinate.
Projection Functions
The DLL supports the following projections
-
Transverse Mercator (including UTM)
-
MercatorLambert (1 and 2 standard parallel)
-
-
-
State Planes (US. mapping system)
-
Rectified Skewed Orthomorphic (RSO)
-
Sterographic (Oblique, Equatorial, or Polar)
-
-
Norwegian National Grid (NGO)
-
Based on these projections the following projection functions are available
-
ReadProjection Read user defined projection parameters from a file
-
WriteProjection Write user defined projection parameters to a file
-
GetProjection Get projection parameters
-
LoadProjection To load a predefined projection
-
SetTransversMarcatorProjection To set user define Transverse Mercator projection parameters
-
SetMercatorProjection To set user define Mercator projection parameters
-
SetLambertProjectionSingleParallel To set up Lambert projection with a single standard parallel
-
SetLambertProjectionTwoParallel Set up Lambert projection with two standard parallels
-
SetCassiniProjection To set up a Cassini projection
-
SetAzimuthalEquidistantProjection To set up an Azimuthal Equidistant projection
-
SetStereographicProjection Set up a Stereographic projection
-
SetPolyconicProjection Set up a Polyconic projection
-
SetUTM Set up UTM projection based on grid zone.
-
SetUTMByPosition Set up a UTM projection by position. The subroutine will compute the grid zone and if it is nor th off the equator.
-
ComputeGridZone To compute grid zone based on longitude.
-
SetNGO to set up NGO projection based on axis number and grid zone.
-
GetRso To Get RSO projection parameters
-
GetStatePlaneLambert To get State Plane Lambert parameters
-
GetStatePlaneTm To get State Plane Transverse Mercator parameters
-
ComputeGeographical To compute geographical co-ordinates from grid co-ordinates based on selected spheroid and projection.
-
ComputeGrid To compute grid co-ordinates from geographical co-ordinates based on selected spheroid and projection.
-
SetupGridGrid To set up grid on grid parameters
-
GridToGrid To compute grid on grid
-
WriteGridShiftsFile To write grid shift parameters to a file, the file name is set either by reading the file first.
-
ReadGridShiftsFile To read grid shift parameters from a file
Datum Functions
-
XYZtoXYZ To convert Cartesian (XYZ) co-ordinates to Cartesian (XYZ) co-ordinates
-
LoadWGS84 Load predefined WGS84 datum
-
GetDatum Get datum parameters
-
SetDatum To set up datum parameters
-
SetUpDatumSpheroid To perform a datum shift the software needs to convert from one spheroid to another. The SetUpDatumSpheroid sets up the spheroid the datum shift is going to convert from and the SetUpSpheroid sets up the spheroid is going to convert to.
-
SetUpDatumSpheroidByAxis To perform a datum shift the software needs to convert from one spheroid to another. The SetUpDatumSpheroidByAxis sets up the spheroid the datum shift is going to convert from and the SetUpSpheroidByAxis sets up the spheroid is going to convert to.
-
LoadDatumSpheroid To perform a datum shift the software needs to convert from one spheroid to another. The LoadDatumSpheroid sets up the spheroid the datum shift is going to convert from and the LoadSpheroid sets up the predefined spheroid is going to convert to
-
ReadDatumSpheroid To read user defined spheroid parameters from a file
-
WriteDatumSpheroid To write user defined spheroid parameters from a file
-
GetDatumSpheroid To load a predefined spheroid
-
SetDatumFileName To set the name of the Datum file name
-
WriteDatumFile To write Datum Parameters
-
ReadDatumFile To read Datum Parameters
-
SetDatumName Set the datum name
-
SevenParameterShift To compute a 7 parameter datum shift
-
NorwegianDatumShift To compute a datum shift based on Statens Kartverk Norway method
-
ComputeNadcon To compute a datum shift based on North American Datum Conversion (NADCON)
-
ETRS89_GPStoOSGB3 To convert from GPS to OSGB36 based on Ordnance Survey datum shift method
-
OSGB36toETRS89_GPS To convert from OSGB36 to GPS based on Ordnance Survey datum shift method