Specialists in the development of systems for mapping, navigation and hydrographic survey.

Geodetic SDK

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

  • 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 co-ordinates 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 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  

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