GeoDistance
GeoDistance[{lat_{1},lon_{1}},{lat_{2},lon_{2}}]
gives the geodesic distance between latitudelongitude positions on the Earth.
GeoDistance[loc_{1},loc_{2}]
gives the distance between locations specified by position objects or geographical entities.
GeoDistance[{loc_{1},…,loc_{n}}]
gives the total distance from loc_{1} to loc_{n} through all the intermediate loc_{i}.
Details and Options
 GeoDistance[loc_{1},loc_{2}] gives the distance between locations loc_{1} and loc_{2} as measured along the geodesic joining them on the surface of the reference ellipsoid. Heights are ignored.
 The result is returned as a Quantity object with dimensions of length. The unit used can be chosen with the option UnitSystem, which has $UnitSystem as default value.
 Latitudes and longitudes can be given as numbers in degrees, as DMS strings, or as Quantity angles.
 Position objects in GeoDistance[loc_{1},loc_{2}] can be given as GeoPosition, GeoPositionXYZ, GeoPositionENU, or GeoGridPosition objects.
 In GeoDistance[loc_{1},loc_{2}], the loc_{i} can be Entity objects with domains such as "City", "Country" and "AdministrativeDivision". Timedependent entities of domains such as "HistoricalCountry" and "MilitaryConflict" can also be used.
 For entities corresponding to extended geographic regions, GeoDistance by default computes the minimum distance between any points in the regions.
 For timedependent entities, GeoDistance by default computes the distance corresponding to the moment of closest approach between them.
 GeoDistance[loc_{1},loc_{2}] by default uses the reference ellipsoid associated with the datum for loc_{1}.
 GeoDistance automatically threads over lists of locations or GeoPosition arrays, so that GeoDistance[loc,locs] returns a list of distances, and GeoDistance[locs_{1},locs_{2}] returns a matrix of distances. Results are given as QuantityArray objects.
 GeoDistance and GeoDirection, or their combination in GeoDisplacement, solve the geodetic inverse problem.
 GeoDistance has option DistanceFunction, with the following settings:

"Boundary" minimum distance between any points in regions "Center" distance between centers of regions "SignedBoundary" distance to boundary, negative for interior points  GeoDistance by default uses the setting DistanceFunction"Boundary".
Examples
open allclose allBasic Examples (6)
Scope (11)
Geographic Data (8)
Distance between any two points on the Earth, using the parameters of the default datum "ITRF00":
Angles can also be specified as DMS strings:
Or as Quantity objects:
Compute the distance between Entity objects:
Or between an Entity object and a geo position:
Distance between geodetic positions, in different formats:
Compute distances from a common location to a list of positions, in any format:
Normalize the resulting QuantityArray object:
Compute a matrix of distances between two lists of locations:
Computing all individual distances separately is slower:
Height and time information is ignored in GeoDistance computations:
Points in different datums. The datum of the second point is changed to the datum of the first:
Historical Data (3)
The distance between two historical entities is the minimum distance between their territories at the same time:
Using the GeoVariant "UnionArea" performs the computation, ignoring temporal information:
Dated restricts the historical entity to a specific date:
Dated can also be given with a date interval or a pair of dates or years:
The distance between a historical entity and a nonhistorical entity is calculated using all territories:
Dated can be used to restrict the polygons to a given date or interval:
Options (2)
DistanceFunction (1)
UnitSystem (1)
The default unit of the result is determined by the value of $UnitSystem:
Applications (2)
Compute the distances from your location to all US state capital cities:
Find the minimum, maximum and mean distances:
Plot a histogram of all those distances:
Draw a Mercator map of all geodesics from your location to the US capital cities:
A nautical mile was traditionally defined as the distance corresponding to a minute of arc of a meridian:
The standard "NauticalMiles" unit approximates the value at latitude 45 degrees:
Properties & Relations (10)
GeoDistance is a symmetric function:
GeoDistance is a partial inverse of GeoDestination:
GeoDistance returns part of the result returned by GeoDisplacement for pointlike locations:
The length of a degree of parallel strongly depends on latitude:
But the length of a degree of meridian is approximately constant:
The distance corresponding to a given meridian angle α increases when approaching the poles:
Compute distances between consecutive pairs in a list of points with GeoDistanceList:
The same result can be obtained using Partition and GeoDistance, though in a less efficient way:
Include the distance between the last and first point:
GeoDistance computes distances between points:
GeoLength computes the length of a geo path:
Construct points on a geodesic circle, starting with regular bearings:
On an ellipsoid, they are not exactly equidistant:
Construct multiple points along a geodesic, at regular distance intervals:
The list of distances can also be obtained with GeoDistanceList:
The distance between two locations coincides with the distance between their antipodal locations:
Possible Issues (2)
Distance between extended geo entities is computed between boundaries by default, and hence zero for contiguous entities:
Therefore, this total distance is also zero:
The GeoDistance of two historical entities that do not coexist in time returns unevaluated:
Text
Wolfram Research (2008), GeoDistance, Wolfram Language function, https://reference.wolfram.com/language/ref/GeoDistance.html (updated 2024).
CMS
Wolfram Language. 2008. "GeoDistance." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/GeoDistance.html.
APA
Wolfram Language. (2008). GeoDistance. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoDistance.html