Expand description
The intersection module contains functions for calculating great-circle
intersections using vectors.
A pair of great circles intersect at two points unless they are coincident.
For example, points u and v in Figure1.
![]()
Figure 1 A pair of intersecting great circles
A great circle intersection point can simply be calculated by normalizing
the cross product of their
pole vectors.
If the resulting vector is too small to normalize, then the great circles
are coincident, in which case they effectively intersect everywhere.
If a pair of Arcs are on coincident great circles,
the mormalized centroid of the arc midpoints is used instead of the
intersection point.
Otherwise closest_intersection_point calls use_antipodal_pointto determine
which intersection point is closer to the
centroid of the Arcs midpoints.
Functions§
- calculate_
arc_ reference_ distances_ and_ angle - Calculate signed great circle distances from two arc mid points to their closest intersection point or normalized centroid if the arcs are on coincident great circles.
- calculate_
intersection - Calculate an intersection point between the poles of two Great Circles. See: http://www.movable-type.co.uk/scripts/latlong-vectors.html#intersection
- calculate_
reference_ point_ and_ angle - Determine the reference point of a pair of arcs. I.e. the closest intersection point if they intersect or the centroid normalized to lie on the unit sphere if they don’t.
- closest_
intersection_ point - Return the closer intersection point to the centroid of the
Arcs. - use_
antipodal_ point - Determine whether the antipodal point is closer to the centroid of the
Arcs.