dist_greatcircle function

Distance between points

Distance between points

Returns the great circle distance between a location and all grid point in km

dist_greatcircle( lat1, lon1, lat2, lon2, r = earth_radius(), method = c("haversine", "orthodrome", "vincenty", "euclidean") )

Arguments

  • lat1, lon1: numeric vector. coordinate of point(s) 1 (degrees).

  • lat2, lon2: numeric vector. coordinates of point(s) 2 (degrees).

  • r: numeric. radius of the sphere (default = 6371.0087714 km, i.e. the radius of the Earth)

  • method: Character. Formula for calculating great circle distance, one of:

    • "haversine": great circle distance based on the haversine formula that is optimized for 64-bit floating-point numbers (the default)
    • "orthodrome": great circle distance based on the spherical law of cosines
    • "vincenty": distance based on the Vincenty formula for an ellipsoid with equal major and minor axes
    • "euclidean": Euclidean distance (not great circle distance!)

Returns

numeric vector with length equal to length(lat1)

Examples

dist_greatcircle(lat1 = 20, lon1 = 12, lat2 = c(50, 30), lon2 = c(40, 32)) dist_greatcircle( lat1 = 20, lon1 = 12, lat2 = c(50, 30), lon2 = c(40, 32), method = "orthodrome" ) dist_greatcircle( lat1 = 20, lon1 = 12, lat2 = c(50, 30), lon2 = c(40, 32), method = "vincenty" ) dist_greatcircle( lat1 = 20, lon1 = 12, lat2 = c(50, 30), lon2 = c(40, 32), method = "euclidean" )

See Also

orthodrome(), haversine(), vincenty()

  • Maintainer: Tobias Stephan
  • License: GPL (>= 3)
  • Last published: 2025-03-01