GREAT_CIRCLE function finds the distance, in kilometers, between two geographic points.
GREAT_CIRCLE(latitude1, longitude1, latitude2, longitude2)
|latitude1||Number||Yes||The latitude, in degrees, of the first point.|
|longitude1||Number||Yes||The longitude, in degrees, of the first point.|
|latitude2||Number||Yes||The latitude, in degrees, of the second point.|
|longitude2||Number||Yes||The longitude, in degrees, of the second point.|
Returns the number kilometers between the two points.
The distance between the two points is calculated using the Haversine Formula, which is an approximation that assumes the earth is perfect sphere. This can result in an error of up to 0.5%, depending on how far north or south the points are from the equator.
The following formula finds the distance between two geographic point fields in the same record, assuming that the form has a field with the code
origin and a second geographic point with the code
GREAT_CIRCLE(origin.latitude, origin.longitude, destination.latitude, destination.longitude)
The next formula finds the distance between a geographic point field with the code location, and the provincial capital Bukavu, which is located at 2.5123° S, 28.8480° E. Notice that in decimal degrees, the negative sign is used for the southern and western hemispheres.
GREAT_CIRCLE(location.latitude, location.longitude, -2.5123, +28.8480)
GREAT_CIRLCE function calculates the distance in kilometers. To calculate the distance in miles, you can use the conversion factor 0.621371:
GREAT_CIRCLE(origin.latitude, origin.longitude, destination.latitude, destination.longitude) * 0.621371