Learn R Programming

OSMscale (version 0.5.20)

maxEarthDist: maximum distance between set of points

Description

Maximum great-circle distance between points at lat-long coordinates. This is not computationally efficient. For large datasets, consider pages like https://stackoverflow.com/a/16870359.

Usage

maxEarthDist(
  lat,
  long,
  data,
  r = 6371,
  fun = max,
  each = TRUE,
  quiet = FALSE,
  ...
)

Value

Single number

Arguments

lat, long, data

Coordinates for earthDist

r

Earth Radius for earthDist

fun

Function to be applied. DEFAULT: max

each

Logical: give max dist to all other points for each point separately? If FALSE, will return the maximum of the complete distance matrix, as if max(maxEarthDist(y,x)). DEFAULT: TRUE

quiet

Logical: suppress non-df warning in getColumn? DEFAULT: FALSE

...

Further arguments passed to fun, like na.rm=TRUE

Author

Berry Boessenkool, berry-b@gmx.de, Jan 2017

See Also

earthDist

Examples

Run this code

d <- read.table(header=TRUE, text="
    x     y
14.9 53.73
1.12 53.12
6.55 58.13
7.71 71.44
")

plot(d, asp=1, pch=as.character(1:4), xlab="lon", ylab="lat")
for(i in 1:4) segments(d$x[-i], d$y[-i], d$x[i], d$y[i], col=2)
text(x=c(7,10,11), y=c(53,56,64), round(earthDist(y,x,d    )[-1]),  col=2)
text(x=c(4,4),     y=c(56,61),    round(earthDist(y,x,d,i=2)[3:4]), col=2)
text(x=7,          y=64,          round(earthDist(y,x,d,i=4)[3]),   col=2)

round(  earthDist(y,x,d, i=2)   )
round(  earthDist(y,x,d, i=3)   )

round(  maxEarthDist(y,x,d)              )
round(  maxEarthDist(y,x,d, each=FALSE)  )
round(  maxEarthDist(y,x,d, fun=min)     )

maxEarthDist(y,x, d[1:2,] )

Run the code above in your browser using DataLab