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
- Enter semiMajorMeters, flattening, latitudeDegrees, longitudeDegrees, initialBearingDegrees, distanceMeters using the definitions below.
- Run the operation. Resolve input-format errors before interpreting an output.
- 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 field | Meaning and units | Accepted input |
|---|---|---|
| semiMajorMeters | Equatorial semiaxis a in meters, 1–10⁸. It is a radius, not a diameter. | Finite numeric value satisfying the stated comparisons. |
| flattening | Dimensionless ordinary flattening f=(a-b)/a, from zero through 0.02; supply f rather than inverse flattening. | Finite numeric value satisfying the stated comparisons. |
| latitudeDegrees | Geodetic latitude in degrees, north positive; the operation’s pole restrictions apply. | Finite numeric value satisfying the stated comparisons. |
| longitudeDegrees | East-positive longitude in degrees from −180 through 180. | Finite numeric value satisfying the stated comparisons. |
| initialBearingDegrees | Initial forward bearing clockwise from north in degrees, 0≤bearing<360. | Finite numeric value satisfying the stated comparisons. |
| distanceMeters | Nonnegative geodesic surface distance in meters, at most πa. | Finite numeric value satisfying the stated comparisons. |
| Output field | Interpretation |
|---|---|
| result | Object containing the fields below. |
| result.converged | Whether the operation’s stated iteration or reconstruction criterion succeeded; inspect null values and residual/reason evidence. |
| result.iterations | Number of bounded numerical iterations performed. |
| result.latitudeDegrees | Resulting geodetic latitude in degrees, or null on direct-geodesic nonconvergence. |
| result.longitudeDegrees | Resulting east-positive longitude in [−180,180) degrees, or null on direct-geodesic nonconvergence. |
| result.finalBearingDegrees | Final forward tangent bearing in [0,360) degrees, not a back azimuth; null when undefined or unconverged. |
{
"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
-
Direct and inverse solutions of geodesics on the ellipsoid with application of nested equations (1975) — T. Vincenty; Survey Review, hosted by NOAA NGS
-
Tool behavior and example: Geodetic Forward Problem Vincenty Direct Calculator — tool.io
Similar or alternative tools
- Geodetic Inverse Problem Vincenty Inverse Calculator
Calculate Vincenty inverse surface distance and forward endpoint bearings, reporting nonconvergence explicitly.
- ECEF X-Y-Z from Geodetic Coordinates Calculator
Convert ellipsoidal geodetic coordinates to right-handed ECEF meter coordinates.