Main Content


Intersection points for great and small circle pairs


[newlat,newlon] = gcxsc(gclat,gclon,gcaz,sclat,sclon,scrange)
[newlat,newlon] = gcxsc(..., units)


[newlat,newlon] = gcxsc(gclat,gclon,gcaz,sclat,sclon,scrange) returns the points of intersection of a great circle in great circle notation followed by a small circle in small circle notation. For multiple pairings, the inputs must be column vectors. The results are two-column matrices with the coordinates of the intersection points. If the circles do not intersect, or are identical, two NaNs are returned and a warning is displayed. If the two circles are tangent, the single intersection point is repeated twice.

[newlat,newlon] = gcxsc(..., units) where units specifies the standard angle unit. The default value is 'degrees'.

For a pairing of a great circle with a small circle, there are four possible intersection conditions: the circles are identical (possible because great circles are a subset of small circles), they do not intersect, they are tangent to each other (the small circle interior to the great circle) and hence they intersect once, or they intersect twice.

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

Small circle notation consists of a center point and a radius in units of angular arc length.


Given a great circle passing through (43ºN,0º) and proceeding on an azimuth of 10º, where does it intersect with a small circle centered at (47ºN,3ºE) with an arc length radius of 12º?

[newlat,newlon] = gcxsc(43,0,10,47,3,12)

newlat =
   35.5068   58.9143

newlon =
   -1.6159    5.4039

Version History

Introduced before R2006a