Main Content

Intersection points for pairs of rhumb lines

`[newlat,newlong] = rhxrh(lat1,lon1,az1,lat2,lon2,az2)`

[newlat,newlon] = rhxrh(lat1,lon1,az1,lat2,lon2,az2,units)

`[newlat,newlong] = rhxrh(lat1,lon1,az1,lat2,lon2,az2)`

returns
in `newlat`

and `newlon`

the location
of the intersection point for each pair of rhumb lines input in *rhumb
line notation*. For example, the first line in the pair
passes through the point (`lat1`

,`lon1`

)
and has a constant azimuth of `az1`

. When the two
rhumb lines are identical or do not intersect (conditions that are
not, in general, apparent by inspection), two `NaN`

s
are returned instead and a warning is displayed. The inputs must be
column vectors.

`[newlat,newlon] = rhxrh(lat1,lon1,az1,lat2,lon2,az2,units)`

specifies the units used, where units is any valid `units`

. The default units
are `'degrees'`

.

For any pair of rhumb lines, there are three possible intersection
conditions: the lines are identical, they intersect once, or they
do not intersect at all (except at the poles, where all nonequatorial
rhumb lines meet—this is not considered an intersection). `rhxrh`

does
not allow multiple rhumb line intersections, although it is possible
to construct cases in which such a condition occurs. See the following
discussion of Limitations.

*Rhumb line notation* consists of a point
on the line and the constant azimuth of the line.

Rhumb lines are specifically helpful in navigation because they
represent lines of constant heading, whereas great circles have, in
general, continuously changing heading. In fact, the Mercator projection
was originally designed so that rhumb lines plot as straight lines,
which facilitates both manual plotting with a straightedge and numerical
calculations using a Cartesian planar representation. When a rhumb
line proceeds off the left or right *edge* of this
representation at some latitude, it reappears on the other edge at
the same latitude and continues on the same slope. For rhumb lines
where this occurs—for example, one with a heading of 85º—it
is easy to imagine another rhumb line, say one with a heading of 0º,
repeatedly intersecting the first. The real-world uses of rhumb lines
make this merely an intellectual exercise, however, for in practice
it is always clear which *crossing* line segment
is relevant. The function `rhxrh`

returns at most
one intersection, selecting in each case that line segment containing
the input starting point for its computation.