Great-circle vertex latitude calculator from point and bearing
Start at 51.4778° N, 0.0015° W on a bearing of 60° and find where your great circle turns back toward the equator: the latitude and longitude of its northernmost point and how far ahead it lies. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Latitude
- 51.4778
- Longitude
- -0.0015
- Bearing
- 60
- Vertex latitude
- 57.3588256631
- Vertex longitude
- 36.4240950111
- Angular distance degrees
- 21.704255284
- Bearing normalized
- 60
A great-circle route usually bends toward a pole before turning back toward the equator. This calculator finds that turning point, called the vertex, from a starting latitude, starting longitude, and initial bearing. It returns the highest latitude reached anywhere on the complete spherical great circle, the longitude of that northern vertex, and the forward angular distance from the start.
What the great-circle vertex represents
A great circle is the intersection of a sphere with a plane passing through the sphere's center. Except for the equator, every complete great circle reaches one northernmost point and one antipodal southernmost point. The northern point is the vertex reported here.
Enter the start coordinates in decimal degrees and the initial bearing clockwise from true north. The result identifies the maximum latitude, its longitude, and how far forward around the circle the vertex lies as an angular distance. That last value matters because the highest point can be behind the practical direction of a short trip even though it is still encountered later during a complete forward revolution.
This tool considers the entire oriented great circle, not merely a route segment between two waypoints. Consequently, a vertex may be mathematically correct but irrelevant to a journey that ends before reaching it. The result is best read as a property of the path plane established by the start and bearing.
How the spherical calculation works
The algorithm converts the starting coordinate into a unit vector in three-dimensional Cartesian space. It also constructs local north and east directions at that point, then combines them using the initial bearing to form a tangent vector. Any point reached after an angular distance delta can be written as the start vector multiplied by cosine delta plus the tangent vector multiplied by sine delta.
The vertical component therefore has a simple sinusoidal form. Its maximum occurs at an angle obtained with atan2, which preserves the correct quadrant and is normalized into one forward revolution. Evaluating the great-circle expression at that angle provides the vertex vector; inverse trigonometry then provides its latitude and longitude.
This vector approach remains stable around the antimeridian and near the poles because it does not divide by a small longitude term.
Using the answer responsibly
Treat the output as spherical navigation geometry rather than a full operational route plan. The calculator does not account for Earth's ellipsoidal flattening, winds, airspace, terrain, currents, magnetic variation, or a vehicle's performance. Bearings may be entered outside the conventional range because the calculator normalizes any finite value into zero through less than 360 degrees.
Latitudes and longitudes must remain within their ordinary geographic ranges. A due-east or due-west path starting on the equator follows the equator itself, where every point has the same latitude. In that special case there is no unique highest-latitude location, so the capability returns a clear input error instead of inventing a longitude.
For higher-accuracy surveying or long-distance operational work, use an ellipsoidal geodesic method and an appropriate Earth reference model.
What you can do with it
Check a proposed flight track
Estimate the highest latitude of a spherical great-circle track before comparing it with airspace or operational constraints.
Study marine navigation
Find the vertex used in classroom great-circle sailing problems from a vessel's departure position and initial course.
Verify spherical geometry software
Generate a deterministic reference vertex for testing route visualization, mapping, or navigation calculations.
FAQ
What does the calculation cost?
The same deterministic calculation can also run in the browser.
Is the returned vertex always on my planned route segment?
No. It is the northern vertex of the complete oriented great circle. A finite journey may end before it reaches that point.
Why is an equatorial path rejected?
Every point on the equator has latitude zero, so there is no single longitude that can be called its unique highest-latitude vertex.
Can I enter a negative bearing or a bearing above 360 degrees?
Yes. Any finite bearing is normalized into the conventional range from zero up to, but not including, 360 degrees.
Does this use the WGS84 ellipsoid?
No. It uses exact great-circle geometry on a sphere. Ellipsoidal geodesics can differ slightly and require a different model.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/geo/great-circle-vertex \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":51.4778,"longitude":-0.0015,"bearing":60}'const res = await fetch("https://api.kit.forhosting.com/geo/great-circle-vertex", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"latitude": 51.4778,
"longitude": -0.0015,
"bearing": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/great-circle-vertex",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"latitude": 51.4778,
"longitude": -0.0015,
"bearing": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/great-circle-vertex", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"latitude":51.4778,"longitude":-0.0015,"bearing":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"latitude":51.4778,"longitude":-0.0015,"bearing":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/great-circle-vertex", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"latitude": 51.4778,
"longitude": -0.0015,
"bearing": 60
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.great_circle_vertex",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The calculation is deterministic, requires no route endpoint, and is useful for navigation checks, flight-planning studies, and spherical geometry exercises.
Using the answer responsibly
It also does not determine whether a finite leg actually reaches the vertex; compare the returned angular distance with the planned leg length or compute the relevant endpoint separately.