bearing | R Documentation |
Find the bearing from one spatial location to another.
bearing(point1, point2, deg = TRUE, aty = "compass")
point1 , point2 |
two-column numeric matrices giving lon/lat coordinates for the origin point(s) ( |
deg |
logical, should the output be converted from radians to degrees? |
aty |
character stating either “compass” (default) or “radial”. The former gives the standard compass bearing angle (0 is north, increase clockwise), and the latter is for polar coordinates (0 is East, increase counter-clockwise). |
The bearing, beta, of a point B as seen from a point A is given by
beta = atan2(S,T)
where
S = cos(phi_B) * sin(L_A - L_B), and
T = cos(phi_A)*sin(phi_B) - sin(phi_A)*cos(phi_B)*cos(L_A - L_B)
where phi_A (phi_B) is the latitude of point A (B), and L_A (L_B) is the longitude of point A (B).
Note that there is no simple relationship between the bearing of A to B vs. the bearing of B to A. The bearing given here is in the usual R convention for lon/lat information, which gives points east of Greenwich as negative longitude, and south of the equator as negative latitude.
numeric giving the bearing angle.
Eric Gilleland and Randy Bullock, bullock “at” ucar.edu
Keay, W. (1995) Land Navigation: Routefinding with Map & Compass, Coventry, UK: Clifford Press Ltd., ISBN 0319008452, 978-0319008454
atan2
, FeatureAxis
, rdist.earth
# Boulder, Colorado and Wallaroo, Australia.
A <- rbind(c(-105.2833, 40.0167), c(137.65, -33.9333))
# Wallaroo, Australia and Boulder, Colorado.
B <- rbind(c(137.65, -33.9333), c(-105.2833, 40.0167))
bearing(A,B)
bearing(A,B,aty="radial")
plot(A, type="n", xlab="", ylab="")
points(A[,1], A[,2], pch="*", col="darkblue")
# Boulder, Colorado to Wallaroo, Australia.
arrows(A[1,1], A[1,2], A[2,1], A[2,2], col="red", lwd=1.5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.