Description Usage Arguments Value Author(s) See Also Examples

Great-circle distance between points at lat-long coordinates.
(The shortest distance over the earth's surface).
The distance of all the entries is computed relative to the `i`

th one.

1 |

`lat, long` |
Latitude (North/South) and longitude (East/West) coordinates in decimal degrees |

`data` |
Optional: data.frame with the columns |

`r` |
radius of the earth. Could be given in miles. DEFAULT: 6371 (km) |

`i` |
Integer: Index element against which all coordinate pairs are computed. DEFAULT: 1 |

`along` |
Logical: Should distances be computed along vector of points?
If TRUE, |

Vector with distance(s) in km (or units of `r`

, if `r`

is changed)

Berry Boessenkool, [email protected], Aug 2016 + Jan 2017. Angle formula from Diercke Weltatlas 1996, Page 245

`maxEarthDist`

, `degree`

for pre-formatting,
http://www.movable-type.co.uk/scripts/latlong.html

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ```
d <- read.table(header=TRUE, sep=",", text="
lat, long
52.514687, 13.350012 # Berlin
51.503162, -0.131082 # London
35.685024, 139.753365") # Tokio
earthDist(lat, long, d) # from Berlin to L and T: 928 and 8922 km
earthDist(lat, long, d, i=2) # from London to B and T: 928 and 9562 km
# slightly different with other formulas:
# install.packages("geosphere")
# geosphere::distHaversine(as.matrix(d[1,2:1]), as.matrix(d[2,2:1])) / 1000
# Distance along vector of points:
d <- data.frame(lat=21:50, long=1:30)
pointsMap(lat,long,d, zoom=2, proj=putm(1:30) )
along1 <- earthDist(lat,long,d, along=TRUE)
along2 <- c(0, sapply(2:nrow(d), function(i) earthDist(lat,long,data=d[i-1:0,])[2]))
along1-along2 # all zero, but second version is MUCH slower for large datasets
# compare with UTM distance
set.seed(42)
d <- data.frame(lat=runif(100, 47,54), long=runif(100, 6, 15))
d2 <- projectPoints(d$lat, d$long)
d_utm <- berryFunctions::distance(d2$x[-1],d2$y[-1], d2$x[1],d2$y[1])/1000
d_earth <- earthDist(lat,long, d)[-1]
plot(d_utm, d_earth) # distances in km
hist(d_utm-d_earth) # UTM distance slightly larger than earth distance
plot(d_earth, d_utm-d_earth) # correlates with distance
berryFunctions::colPoints(d2$x[-1], d2$y[-1], d_utm-d_earth, add=FALSE)
points(d2$x[1],d2$y[1], pch=3, cex=2, lwd=2)
``` |

brry/OSMscale documentation built on April 18, 2018, 8:23 p.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.