Finds the angular distance from a point to a great circle.
Available in version 4.3.1 and later.
function gc_pnt2gc ( p_lat : numeric, p_lon : numeric, lat : numeric, lon : numeric ) return_val : numeric
Latitudes and longitudes, in degrees, of a point (or points) on the globe. These can be scalars or multi-dimensional arrays with the number of dimensions being one less than the number of dimensions of input arguments lat and lon (described below). If arrays, they must have the same dimension sizes as lat and lon up through the penultimate dimension of lat and lon.lat
Latitudes and longitudes, in degrees, of points determining great circles. If these are arrays, then they must have the same dimensions and dimension sizes and the rightmost dimension size must be "2".
The desired distance or distances. If the input arrays are multi-dimensional, then the returned array will have one less dimension than the lat and lon input arrays. It will have the same shape as lat up through the penultimate dimension of lat. The return value will be of type double if either of the input arguments is of type double and type float otherwise.
This function finds the directed distance, in degees, from a specified base point on the globe to a great circle defined by two additional points. The distance is positive if the base point lies in the hemisphere to the left of the great circle and negative otherwise.
Missing values are not honored.
begin dist = gc_pnt2gc(-27.0, 0.0, (/0.0, 0.0/), (/-1.0, 1.0/)) print ("The distance from (-27,0) to the equator is: " + dist) endproduces:
(0) The distance from (-27,0) to the equator is: -27Example 2
begin lat = (/ (/ 0.0, 0.0/) , (/ 0.0, 0.0/) /) lon = (/ (/-1.0, 1.0/) , (/-1.0, 1.0/) /) p0_lat = (/ -27.0, 27.0 /) p0_lon = (/ 0.0, 0./) dist = gc_pnt2gc(p0_lat, p0_lon, lat, lon) print (dist) endproduces:
Variable: dist Type: float Total Size: 8 bytes 2 values Number of Dimensions: 1 Dimensions and sizes:  Coordinates: (0) -27 (1) 27