Google Coordinates (DD):

GPS Coordinates (DMM):

Set map coordinates as destination or departure point Destination Departure
Get Lat & Lon from place name (departure point)

Choose format deg min sec (DMS) deg min.min (DMM) decimal degrees (DD)

Rhumb-line bearing and distance between two points
Departure:
Destination:
Distance: Nm
To Bearing:
From Bearing:
Midpoint:

view map

hide map

Rhumb-line destination given distance and bearing from start point
Dearture:
Bearing:
Distance: Nm
Destination:

view map

hide map

 

Conversions
Latitude Longitude
1° ≈ 111 km (110.57 eq’l — 111.70 polar)
1′ ≈ 1.85 km (= 1 nm) 0.01° ≈ 1.11 km
1″ ≈ 30.9 m 0.0001° ≈ 11.1 m

Great-circle distance between two points

Enter the co-ordinates into the text boxes to try out the calculations. A variety of formats are accepted, principally:

  • Deg-min-sec suffixed with N/S/E/W (e.g. 17°44′55″S, 122 59 11E)
  • Signed decimal degrees, where negative indicates west/south (e.g. 40.7486, -73.9864)
Departure:
Destination:
Distance: Nm (to 4 SF*)
Initial bearing:
Final bearing:
Midpoint:

view map

hide map

Destination point along great-circle given distance and bearing from start point
Departure:
Bearing:
Distance: Nm
Destination:
Final bearing:

view map

hide map

 

Notes:

  • All bearings are with respect to true north, 0°=N, 90°=E, etc.
  • Accuracy: since the earth is not quite a sphere, there are small errors in using spherical geometry; the earth is actually roughly ellipsoidal (or more precisely, oblate spheroidal) with a radius varying between about 6,378km (equatorial) and 6,357km (polar), and local radius of curvature varying from 6,336km (equatorial meridian) to 6,399km (polar). 6,371 km is the generally accepted value for the earth’s mean radius. This means that errors from assuming spherical geometry might be up to 0.55% crossing the equator, though generally below 0.3%, depending on latitude and direction of travel. An accuracy of better than 3m in 1km is mostly good enough for me, but if you want greater accuracy, you could use the Vincenty formula for calculating geodesic distances on ellipsoids, which gives results accurate to within 1mm. (Out of sheer perversity – I’ve never needed such accuracy – I looked up this formula and discovered the JavaScript implementation was simpler than I expected).
  • Trig functions take arguments in radians, so latitude, longitude, and bearings in degrees (either decimal or degrees/minutes/seconds) need to be converted to radians, rad = π.deg/180. When converting radians back to degrees (deg = 180.rad/π), West is negative if using signed decimal degrees. For bearings, values in the range -π to +π [-180° to +180°] need to be converted to 0 to +2π [0°–360°]; this can be done by (brng+2.π)%2.π [or brng+360)%360] where % is the (floating point) modulo operator.
  • The atan2() function widely used here takes two arguments, atan2(y, x), and computes the arc tangent of the ratio y/x. It is more flexible than atan(y/x), since it handles x=0, and it also returns values in all 4 quadrants -π to +π (the atan function returns values in the range -π/2 to +π/2).
  • Credit to Chris for the foundation of the code for this page.