Previous SAXO Documentation Assistant: Overview Next

Interpolation/

ll_narcs_distances.pro

This function returns the longitude and latitude [lon, lat] of a point a given arc distance (-pi <= Arc_Dist <= pi), and azimuth (Az), from a specified location Lon0, lat0. Same as LL_ARC_DISTANCE but for n points without do loop. Formula from Map Projections - a working manual. USGS paper 1395. Equations (5-5) and (5-6).

ll_narcs_distances Mapping, geography

result = ll_narcs_distances(lon0, lat0, arc_dist, az, DEGREES=DEGREES)

Return value

a (2, n) array containing the longitude/latitude of the resulting points. Values are in radians unless the keyword DEGREES is set.

Parameters

lon0        in required

An array containing the longitude of the starting point. Values are assumed to be in radians unless the keyword DEGREES is set.

lat0        in required

An array containing the latitude of the starting point. Values are assumed to be in radians unless the keyword DEGREES is set.

arc_dist        in required

The arc distance from Lon_lat0. The value must be between -!PI and +!PI. To express distances in arc units, divide by the radius of the globe expressed in the original units. For example, if the radius of the earth is 6371 km, divide the distance in km by 6371 to obtain the arc distance.

az        in required

The azimuth from Lon_lat0. The value is assumed to be in radians unless the keyword DEGREES is set.

Keywords

DEGREES       

Set this keyword to express all measurements and results in degrees.

Examples

 IDL> Lon_lat0 = [1.0, 2.0]; Initial point specified in radians
 IDL> Arc_Dist = 2.0; Arc distance in radians
 IDL> Az = 1.0; Azimuth in radians
 IDL> Result = LL_ARC_DISTANCE(Lon_lat0, Arc_Dist, Az)
 IDL> PRINT, Result
       2.91415    -0.622234

 IDL> lon0 = [-10, 20, 100]
 IDL> lat0 = [0, -10, 45]
 IDL> lon1 = [10, 60, 280]
 IDL> lat1 = [0, 10, 45]
 IDL> dist = map_npoints(lon0, lat0, lon1, lat1, azimuth = azi, /two_by_two)
 IDL> earthradius = 6378206.4d0
 IDL> res = ll_narcs_distances(lon0, lat0, dist/earthradius, azi, /degrees)
 IDL> print, reform(res[0, *])
       10.000000       60.000000       280.00000
 IDL> print, reform(res[1, *])
           1.1999280e-15       10.000000       45.000000

    

Version history

Version

$Id: ll_narcs_distances.pro 231 2007-03-19 17:15:51Z pinsard $

History

Based on the IDL function ll_arc_distance.pro,v 1.11 2003/02/03 Sebastien Masson (smasson@lodyc.jussieu.fr) August 2005

 


  Produced by IDLdoc 2.0.