# R/gcd_hf.R In GeoRange: Calculating Geographic Range from Occurrence Data

#### Documented in gcd_hf

```#' Calculates the geodesic distance between two points specified by latitude and longitude using the Haversine formula
#' @param long1 - Longitudinal value of first point in decimal degrees
#' @param lat1 - Latitudinal value of first point in decimal degrees
#' @param long2 - Longitudinal value of second point in decimal degrees
#' @param lat2 - Latitudinal value of second point in decimal degrees
#' @return Returns the distance between two points on the Earth in kilometers
#' @details The Haversine formula can be inaccurate depending on coordinates
#' @examples
#' long1<-22
#' lat1<-44
#' long2<-52
#' lat2<-51
#' gcd_hf(long1,lat1,long2,lat2)
#' @note The haversine method is inaccuarate and should only be used when the vicenty formula fails or over very small distances
#' @references
#' @export
gcd_hf <- function(long1, lat1, long2, lat2) {
R <- 6371 # Earth mean radius [km]
delta.long <- (long2 - long1)
delta.lat <- (lat2 - lat1)
a <- sin(delta.lat/2)^2 + cos(lat1) * cos(lat2) * sin(delta.long/2)^2
c <- 2 * asin(min(1,sqrt(a)))
d = R * c
return(d) # Distance in km
}
```

## Try the GeoRange package in your browser

Any scripts or data that you put into this service are public.

GeoRange documentation built on June 20, 2017, 9:03 a.m.