⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sphdist.pro

📁 basic median filter simulation
💻 PRO
字号:
;-------------------------------------------------------------;+; NAME:;       SPHDIST; PURPOSE:;       Angular distance between points on a sphere.; CALLING SEQUENCE:;       d = sphdist(long1, lat1, long2, lat2); INPUTS:;       long1 = longitude of point 1, scalar or vector;       lat1 = latitude of point 1, scalar or vector;       long2 = longitude of point 2, scalar or vector;       lat2 = latitude of point 2, scalar or vector;; OPTIONAL KEYWORD INPUT PARAMETERS:;       /DEGREES - means angles are in degrees, else radians.; OUTPUTS:;       d = angular distance between points (in radians unless /DEGREES;           is set.); PROCEDURES CALLED:;       RECPOL, POLREC; NOTES:;       (1) The procedure GCIRC is similar to SPHDIST(), but may be more ;           suitable for astronomical applications.;;       (2) If long1,lat1 are scalars, and long2,lat2 are vectors, then;           SPHDIST returns a vector giving the distance of each element of ;           long2,lat2 to long1,lat1.   Similarly, if long1,lat1 are vectors,;           and long2, lat2 are scalars, then SPHDIST returns a vector giving;           giving the distance of each element of long1,lat1 to to long2,lat2. ;           If both long1,lat1 and long2,lat2 are vectors then SPHDIST returns;           vector giving the distance of each element of long1,lat1 to the ;           corresponding element of long2, lat2.   If the input vectors are ;           not of equal length, then excess elements of the longer ones will ;           be ignored.; MODIFICATION HISTORY:;       R. Sterner, 5 Feb, 1991;       R. Sterner, 26 Feb, 1991 --- Renamed from sphere_dist.pro;; Copyright (C) 1991, Johns Hopkins University/Applied Physics Laboratory; This software may be used, copied, or redistributed as long as it is not; sold and this copyright notice is reproduced on each copy made.  This; routine is provided as is without any express or implied warranties; whatsoever.  Other limitations apply as described in the file disclaimer.txt.;	Converted to IDL V5.0   W. Landsman   September 1997;-;------------------------------------------------------------- 	function sphdist, long1, lat1, long2, lat2, $	  help=hlp, degrees=degrees 	if (n_params(0) lt 4) or keyword_set(hlp) then begin	  print,' Angular distance between points on a sphere.'	  print,' d = sphdist(long1, lat1, long2, lat2)'	  print,'   long1 = longitude of point 1.         in'	  print,'   lat1 = latitude of point 1.           in'	  print,'   long2 = longitude of point 2.         in'	  print,'   lat2 = latitude of point 2.           in'	  print,'   d = angular distance between points.  out'	  print,' Keywords:'	  print,'   /DEGREES means angles are in degrees, else radians.'	  print,' Notes: points 1 and 2 may be arrays.'	  return, -1	endif 	cf = 1.0	if keyword_set(degrees) then cf = !radeg 	;--- Convert both points to rectangular coordinates. ---	polrec, 1.0, lat1/cf, rxy, z1	polrec, rxy, long1/cf, x1, y1	polrec, 1.0, lat2/cf, rxy, z2	polrec, rxy, long2/cf, x2, y2 	;--- Compute vector dot product for both points. ---	cs = x1*x2 + y1*y2 + z1*z2 	;--- Compute the vector cross product for both points. ---	xc = y1*z2 - z1*y2	yc = z1*x2 - x1*z2	zc = x1*y2 - y1*x2	sn = sqrt(xc*xc + yc*yc + zc*zc) 	;--- Convert to polar.  ------	recpol, cs, sn, r, a	return, cf*a 	end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -