-
Notifications
You must be signed in to change notification settings - Fork 1
Distances in LatLong coordinate system
Jip Claassens edited this page Jul 6, 2026
·
10 revisions
Configuration examples Distances in LatLong coordinate system
Great-circle distances between two points on a sphere given their longitudes and latitudes can be calculated with the haversine formula.
The following example shows an implementation in the GeoDMS configuration. We thank PBL for making this example available.
template DistanceMtrFromDegrees
{
// begin case parameters
attribute<float64> lat1_degrees (NL);
attribute<float64> lat2_degrees (NL);
attribute<float64> lon1_degrees (NL);
attribute<float64> lon2_degrees (NL);
// end case parameters
attribute<float64> lat1_radian (NL) := lat1_degrees * pi() / 180.0;
attribute<float64> lat2_radian (NL) := lat2_degrees * pi() / 180.0;
attribute<float64> lon1_radian (NL) := lon1_degrees * pi() / 180.0;
attribute<float64> lon2_radian (NL) := lon2_degrees * pi() / 180.0;
attribute<float64> deltaLon_radian (NL) := lon1_radian - lon2_radian;
attribute<float64> deltaLat_radian (NL) := lat1_radian - lat2_radian;
attribute<float64> a (NL) := sqr(sin(deltaLat_radian/2d)) + (((cos(lat1_radian) * cos(lat2_radian))) * sqr(sin(deltaLon_radian/2d)));
attribute<meter> distance (NL) := (2d * 6371000d * atan(sqrt(a) / (sqrt(1d - a))))[Meter];
}
GeoDMS ©Object Vision BV. Source code distributed under GNU GPL-3. Documentation distributed under CC BY-SA 4.0.