<<prev file | next file >>    view single page | view frames    summary: fields | routine    details: routine

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).

topll_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 136 2006-07-10 15:20:19Z 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

Statistics

McCabe cyclic 5
McCabe essential 1
McCabe modular design 1
Produced by IDLdoc 2.0.