Accelerating the pace of engineering and science

# gcxgc

Intersection points for pairs of great circles

## Syntax

[newlat,newlong] = gcxgc(lat1,long1,az1,lat2,long2,az2)
[newlat,newlong] = gcxgc(lat1,long1,az1,lat2,long2,az2,units)

## Description

[newlat,newlong] = gcxgc(lat1,long1,az1,lat2,long2,az2) returns the two intersection points of pairs of great circles input in great circle notation. When the two great circles are identical (which is not, in general, apparent by inspection), two NaNs are returned instead and a warning is displayed. For multiple pairings, the inputs must be column vectors.

[newlat,newlong] = gcxgc(lat1,long1,az1,lat2,long2,az2,units) specifies the standard angle unit string. The default value is 'degrees'.

For any pair of great circles, there are two possible intersection conditions: the circles are identical or they intersect exactly twice on the sphere.

Great circle notation consists of a point on the great circle and the azimuth at that point along which the great circle proceeds.

## Examples

Given a great circle passing through (10ºN,13ºE) and proceeding on an azimuth of 10º, where does it intersect with a great circle passing through (0º, 20ºE), on an azimuth of -23º (that is, 337º)?

```[newlat,newlong] = gcxgc(10,13,10,0,20,-23)

newlat =
14.3105  -14.3105
newlong =
13.7838  -166.2162```

Note that the two intersection points are always antipodes of each other. As a simple example, consider the intersection points of two meridians, which are just great circles with azimuths of 0º or 180º:

```[newlat,newlong] = gcxgc(10,13,0,0,20,180)

newlat =
-90    90
newlong =
-174.4504   12.5094```

The two meridians intersect at the North and South Poles, which is exactly correct.