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

📄 eci2geo.pro

📁 basic median filter simulation
💻 PRO
字号:
;+; NAME:;     ECI2GEO;; PURPOSE:;     Convert Earth-centered inertial coordinates to geographic spherical coords; EXPLANATION:;     Converts from ECI (Earth-Centered Inertial) (X,Y,Z) rectangular ;     coordinates to geographic spherical coordinates (latitude, longitude, ;     altitude).    JD time is also needed as input.;;     ECI coordinates are in km from Earth center.;     Geographic coordinates are in degrees/degrees/km;     Geographic coordinates assume the Earth is a perfect sphere, with radius ;     equal to its equatorial radius.;; CALLING SEQUENCE:;     gcoord=eci2geo(ECI_XYZ,JDtime);; INPUT:;       ECI_XYZ : the ECI [X,Y,Z] coordinates (in km), can be an array [3,n] ;                 of n such coordinates.;       JDtime: the Julian Day time, double precision. Can be a 1-D array of n ;                 such times.;; KEYWORD INPUTS:;       None;; OUTPUT:;       a 3-element array of geographic [latitude,longitude,altitude], or an ;         array [3,n] of n such coordinates, double precision  ;; COMMON BLOCKS:;       None;; PROCEDURES USED:;       CT2LST - Convert Local Civil Time to Local Mean Sidereal Time;; EXAMPLE:;       IDL> gcoord=eci2geo([6378.137+600,0,0], 2452343.38982663D);       IDL> print,gcoord;       0.0000000       232.27096       600.00000;;       (The above is the geographic direction of the vernal point on ;       2002/03/09 21:21:21.021, in geographic coordinates. The chosen ;       altitude was 600 km.);;       gcoord can be further transformed into geodetic coordinates (using ;       geo2geodetic.pro) or into geomagnetic coordinates (using geo2mag.pro);; MODIFICATION HISTORY:;       Written by Pascal Saint-Hilaire (Saint-Hilaire@astro.phys.ethz.ch) on ;              2001/05/13;       Modified on 2002/05/13, PSH : vectorization + use of JD times          ;-;=============================================================================FUNCTION eci2geo,ECI_XYZ,JDtim        Re=6378.137     ; Earth's equatorial radius, in km        coord=DOUBLE(ECI_XYZ)        JDtime= DOUBLE(JDtim)        theta=atan(coord[1,*],coord[0,*])       ; azimuth               ct2lst,gst,0,0,JDtime        angle_sid=gst*2.*!DPI/24.        ; sidereal angle        lon= (theta - angle_sid ) MOD (2* !DPI)                  ;longitude              r=sqrt(coord[0,*]^2+coord[1,*]^2)        lat=atan(coord[2,*],r)                                  ; latitude        alt=r/cos(lat) - Re                                     ; altitude         lat=lat*180./(!DPI)      ; to convert from radians into degrees...        lon=lon*180./(!DPI)        ss=WHERE(lon LT 0.)         IF ss[0] NE -1 THEN lon[ss]=lon[ss]+360.                RETURN,[lat,lon,alt]END;====================================================================================

⌨️ 快捷键说明

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