Geodetic Software Development Kit
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:
Anlge 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

DegMinToDegrees To convert Latitude or Longitude in NMEA format to decimal degrees
DegreesToDegMin To compute a decimal number representing degrees and minutes in NMEA 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 coordinates about the Z axis
Rotation3D Three dimensional rotation
Nautical Functions

MsToKnots Convert meters per seconds to Knots
ComputeNauticalMile Compute the length of a nautical mile. A nautical mile is the length of one minute of latitude so it will vary with latitude.
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 predefined 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 coordinates to cartesian coordinates. The function will use the currently oaded spheroid.
XYZToGeog To convert cartesian coordinates to geographical coordinates. The function will use the currently loaded spheroid.
ComputeRhumbLine To compute rhumb line distance and bearing between two geographical coordinates.
ComputeRhumbLineJoin To compute geographical coordinates by rhumb line range and bearing from another geographical coordinate.
ComputeGreatCircle To compute great circle distance and bearing between two geographical coordinates.
GeogGreatCircleJoin To compute geographical coordinates by great circle range and bearing from another geographical coordinate.
Projection Functions
The DLL supports the following projections
1. Transverse Mercator (including UTM)
2. MercatorLambert (1 and 2 standard parallel)
3. Cassini
4. Azimuthal Equidistant
5. State Planes (US. mapping system)
6. Rectified Skewed Orthomorphic (RSO)
7. Sterographic (Oblique, Equatorial, or Polar)
8. Polyconic
9. Norwegian National Grid (NGO)
10. Danish National Grid
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 coordinates from grid coordinates based on selected spheroid and projection.
ComputeGrid To compute grid coordinates from geographical coordinates 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) coordinates to Cartesian (XYZ) coordinates
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