Skip to contents

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

Usage

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!)

Value

numeric vector with length equal to length(lat1)

Examples

dist_greatcircle(lat1 = 20, lon1 = 12, lat2 = c(50, 30), lon2 = c(40, 32))
#> [1] 4149.157 2296.583
dist_greatcircle(
  lat1 = 20, lon1 = 12, lat2 = c(50, 30), lon2 = c(40, 32),
  method = "orthodrome"
)
#> [1] 4149.157 2296.583
dist_greatcircle(
  lat1 = 20, lon1 = 12, lat2 = c(50, 30), lon2 = c(40, 32),
  method = "vincenty"
)
#> [1] 4149.157 2296.583
dist_greatcircle(
  lat1 = 20, lon1 = 12, lat2 = c(50, 30), lon2 = c(40, 32),
  method = "euclidean"
)
#> [1] 4076.220 2284.169