Skip to content

Main content

Vincenty Direct Geodesic Calculator

Solve Vincenty direct geodesics on supplied oblate/spherical ellipsoids, bounded to 200 iterations and half-equatorial circumference; report forward end bearing and explicit nonconvergence.

Loading tool…

Description

Calculate a Vincenty geodesic destination and final forward bearing from an explicit start, initial bearing and distance.

Geodesy distinguishes a mathematical reference ellipsoid, a realized coordinate datum and the physical gravity field. Geodetic latitude follows the ellipsoid normal; geocentric latitude follows a radius from the center. Ellipsoidal height, orthometric height and geoid undulation are separate signed quantities. Keep the declared ellipsoid, coordinate axes, angular units and time scale with a result.

Calculate a Vincenty geodesic destination and final forward bearing from an explicit start, initial bearing and distance.

The direct problem starts with a position, azimuth and distance; the inverse problem starts with two positions. Vincenty’s ellipsoidal equations distinguish a final forward tangent from the reverse azimuth.1

When to use this tool

Use this tool when you need to calculate a Vincenty geodesic destination and final forward bearing from an explicit start, initial bearing and distance.

How to use the tool and how it works

  1. Enter semiMajorMeters, flattening, latitudeDegrees, longitudeDegrees, initialBearingDegrees, distanceMeters using the definitions below.
  2. Run the operation. Resolve input-format errors before interpreting an output.
  3. Read result.converged, result.iterations, result.latitudeDegrees, result.longitudeDegrees, result.finalBearingDegrees, using the stated boundary, ordering, sign and absence conventions.

Use the start latitude, longitude, clockwise-from-north initial bearing and ellipsoid in Vincenty’s direct equations. Iterate the angular distance at most 200 steps, then return destination latitude, longitude normalized to [−180,180), and final forward bearing.2

Input fieldMeaning and unitsAccepted input
semiMajorMetersEquatorial semiaxis a in meters, 1–10⁸. It is a radius, not a diameter.Finite numeric value satisfying the stated comparisons.
flatteningDimensionless ordinary flattening f=(a-b)/a, from zero through 0.02; supply f rather than inverse flattening.Finite numeric value satisfying the stated comparisons.
latitudeDegreesGeodetic latitude in degrees, north positive; the operation’s pole restrictions apply.Finite numeric value satisfying the stated comparisons.
longitudeDegreesEast-positive longitude in degrees from −180 through 180.Finite numeric value satisfying the stated comparisons.
initialBearingDegreesInitial forward bearing clockwise from north in degrees, 0≤bearing<360.Finite numeric value satisfying the stated comparisons.
distanceMetersNonnegative geodesic surface distance in meters, at most πa.Finite numeric value satisfying the stated comparisons.
Output fieldInterpretation
resultObject containing the fields below.
result.convergedWhether the operation’s stated iteration or reconstruction criterion succeeded; inspect null values and residual/reason evidence.
result.iterationsNumber of bounded numerical iterations performed.
result.latitudeDegreesResulting geodetic latitude in degrees, or null on direct-geodesic nonconvergence.
result.longitudeDegreesResulting east-positive longitude in [−180,180) degrees, or null on direct-geodesic nonconvergence.
result.finalBearingDegreesFinal forward tangent bearing in [0,360) degrees, not a back azimuth; null when undefined or unconverged.
json
{
  "input": {
    "semiMajorMeters": 10,
    "flattening": 0,
    "latitudeDegrees": 0,
    "longitudeDegrees": 0,
    "initialBearingDegrees": 90,
    "distanceMeters": 15.707963267948966
  },
  "output": {
    "result": {
      "converged": true,
      "iterations": 1,
      "latitudeDegrees": 3.5083546492674384e-15,
      "longitudeDegrees": 90,
      "finalBearingDegrees": 90
    }
  }
}

Limitations and assumptions

  • Distance must be from zero through π×semiMajorMeters and bearing in [0,360). Zero distance preserves position but gives null final bearing. Nonconvergence returns null destination/bearing values with converged=false.
  • All quantities are finite and retain the units stated for this operation. Ellipsoid-parameter tools use semi-major axis 1–10⁸ m and dimensionless flattening 0–0.02; explicit-axis tools use 0.9a≤b≤a unless a tighter bound is stated. These tools do not fetch datums, geoid grids, satellite observations or Earth-orientation updates.
  • Every declared outer field is required and unknown outer fields are rejected. Strings and JSON text have size limits, lists are bounded to 128 entries, and JSON nesting/node counts are bounded. Tighter operation-specific bounds stated above take precedence.
  • Numeric results must be finite. Large physical magnitudes are allowed by the output evidence checks, while integer fields and source schemas retain their exactness rules. Source indexes are zero-based. Floating-point residues can remain even where an ideal formula gives an exact zero.

Alternative or Complementary methods

Use a coordinate transform for a change of representation and explicit datum parameters for a change of reference frame. Preserve model and convergence metadata, and use observation and datum information appropriate to a real survey before interpreting a computed tolerance as accuracy.

References

  1. Direct and inverse solutions of geodesics on the ellipsoid with application of nested equations (1975) — T. Vincenty; Survey Review, hosted by NOAA NGS

  2. Tool behavior and example: Geodetic Forward Problem Vincenty Direct Calculator — tool.io

Similar or alternative tools