Template Function navtk::navutils::delta_lat_to_north(const S1&, const S2&, const S3&)

Function Documentation

template<typename S1, typename S2, typename S3, IfAllTensorsOfDim<0, S1, S2, S3>* = nullptr>
double navtk::navutils::delta_lat_to_north(const S1 &delta_lat, const S2 &approx_lat, const S3 &altitude)

Converts small changes of latitude (radians) into distance in meters along the North axis of the local level NED frame.

Input parameters are with respect to the WGS-84 ellipsoid.

This conversion is approximate, and the error grows as the delta_lat grows.

Example:

delta_lat = \(Lat_1 - Lat_0\) (radians)

approx_lat = \((Lat_1 + Lat_0)/2\) (or just \(Lat_0\) or \(Lat_1\)) (radians)

altitude = approximate WGS-84 altitude (meters)

The function will return the approximate distance, in meters, between the points ( \(Lat_1\), \(Lon\), altitude) and ( \(Lat_0\), \(Lon\), altitude) for any longitude \(Lon\). The sign of the output matches the sign of the delta_lat input.

Template Parameters
  • S1 – Type of delta_lat.

  • S2 – Type of approx_lat.

  • S3 – Type of altitude.

  • std::enable_if_t<> – Constrains S1, S2, and S3 to be 0 dimensional.

Parameters
  • delta_lat – Small distance in latitude to convert (radians)

  • approx_lat – Approximate latitude (radians)

  • altitude – WGS-84 altitude (ellipsoidal) (meters), 0.0 by default.

Returns

Equivalent distance in the north direction (meters).