Table of Contents

Class PassageGeodesy

Namespace
EncDotNet.S100.Navigation
Assembly
EncDotNet.S100.Navigation.dll

Distances and interpolation along rhumb lines and great circles on the WGS-84 ellipsoid, used to measure legs and to place samples along them.

public static class PassageGeodesy
Inheritance
PassageGeodesy
Inherited Members

Remarks

A great-circle leg follows the ellipsoidal geodesic. Both geometries come from Wgs84Geodesy, as do the viewer's route metrics, so a leg measured here has the same length the route panel shows.

Fields

EarthRadiusMeters

Mean earth radius in metres (EarthRadiusMetres).

public const double EarthRadiusMeters = 6371008.8

Field Value

double

EarthRadiusNauticalMiles

Mean earth radius in nautical miles.

public const double EarthRadiusNauticalMiles = 3440.069546436285

Field Value

double

MetersPerDegreeLatitude

Metres per degree of latitude on the mean sphere.

public const double MetersPerDegreeLatitude = 111195.08023353292

Field Value

double

MetersPerNauticalMile

Metres in one international nautical mile.

public const double MetersPerNauticalMile = 1852

Field Value

double

Methods

DistanceMeters(GeoPosition, GeoPosition, LegGeometry)

Distance in metres between two positions along the given leg geometry.

public static double DistanceMeters(GeoPosition from, GeoPosition to, LegGeometry geometry)

Parameters

from GeoPosition

The start position.

to GeoPosition

The end position.

geometry LegGeometry

Rhumb line or great circle.

Returns

double

The distance in metres.

GreatCircleDistanceMeters(GeoPosition, GeoPosition)

Great-circle (geodesic) distance in metres.

public static double GreatCircleDistanceMeters(GeoPosition from, GeoPosition to)

Parameters

from GeoPosition

The start position.

to GeoPosition

The end position.

Returns

double

The distance in metres.

GreatCircleInterpolate(GeoPosition, GeoPosition, double)

The position a fraction of the way along the great circle (geodesic).

public static GeoPosition GreatCircleInterpolate(GeoPosition from, GeoPosition to, double fraction)

Parameters

from GeoPosition

The start position.

to GeoPosition

The end position.

fraction double

Fraction of the distance, from 0 to 1.

Returns

GeoPosition

The interpolated position.

Interpolate(GeoPosition, GeoPosition, double, LegGeometry)

The position a fraction of the way from from to to along the given leg geometry.

public static GeoPosition Interpolate(GeoPosition from, GeoPosition to, double fraction, LegGeometry geometry)

Parameters

from GeoPosition

The start position.

to GeoPosition

The end position.

fraction double

Fraction of the distance, from 0 (start) to 1 (end).

geometry LegGeometry

Rhumb line or great circle.

Returns

GeoPosition

The interpolated position.

RhumbDistanceMeters(GeoPosition, GeoPosition)

Rhumb-line (loxodrome) distance in metres.

public static double RhumbDistanceMeters(GeoPosition from, GeoPosition to)

Parameters

from GeoPosition

The start position.

to GeoPosition

The end position.

Returns

double

The distance in metres.

RhumbInterpolate(GeoPosition, GeoPosition, double)

The position a fraction of the way along the rhumb line.

public static GeoPosition RhumbInterpolate(GeoPosition from, GeoPosition to, double fraction)

Parameters

from GeoPosition

The start position.

to GeoPosition

The end position.

fraction double

Fraction of the distance, from 0 to 1.

Returns

GeoPosition

The interpolated position.