edu.wisc.ssec.mcidasv.data.adde.sgp4
Class GeoFunctions

java.lang.Object
  extended by edu.wisc.ssec.mcidasv.data.adde.sgp4.GeoFunctions

public class GeoFunctions
extends Object

Earth computation functions


Constructor Summary
GeoFunctions()
           
 
Method Summary
static double[] calculate_AER(double currentJulianDate, double[] lla_deg_m, double[] eci_pos)
          calculate the pointing information Azumuth, Elevation, and Range (AER) to a satellite from a location on Earth (given Lat, Long, Alt) if elevation >=0 then sat is above local horizon
static double[] calculateECIposition(double[] lla_deg_m, double theta)
          Calculate ECI position from local mean sidereal time and geodetic lat long alt
private static double[] calculateGeodeticLLA(double[] r, double d)
           
private static double earthRotationDeg(double d)
           
static double[] eci2sez(double[] rECI, double thetaDeg, double latDeg)
          transform ECI to topocentric-horizon system (SEZ) (south-East-Zenith)
static double[] GeodeticLLA(double[] modPos, double mjd)
          Compute Geodetic Latatude/Longitude/Altitude from Mean of Date position vector and Date
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GeoFunctions

public GeoFunctions()
Method Detail

GeodeticLLA

public static double[] GeodeticLLA(double[] modPos,
                                   double mjd)
Compute Geodetic Latatude/Longitude/Altitude from Mean of Date position vector and Date

Parameters:
modPos - Mean of date position vector
mjd - modified julian date (is this UTC or TT?) guessing UTC
Returns:
vector of geodetic [latitude,longitude,altitude]

calculateGeodeticLLA

private static double[] calculateGeodeticLLA(double[] r,
                                             double d)

earthRotationDeg

private static double earthRotationDeg(double d)

calculate_AER

public static double[] calculate_AER(double currentJulianDate,
                                     double[] lla_deg_m,
                                     double[] eci_pos)
calculate the pointing information Azumuth, Elevation, and Range (AER) to a satellite from a location on Earth (given Lat, Long, Alt) if elevation >=0 then sat is above local horizon

Parameters:
currentJulianDate - Julian Date for AER calculation (corresponds to ECI position)
lla_deg_m - lat long and alt of station in deg/deg/meters (Geodetic)
eci_pos - ECI position of object in meters (sat)
Returns:
Azumuth [deg], Elevation [deg], and Range vector [m]

calculateECIposition

public static double[] calculateECIposition(double[] lla_deg_m,
                                            double theta)
Calculate ECI position from local mean sidereal time and geodetic lat long alt

Parameters:
lla_deg_m - lat long and alt of station in deg/deg/meters (Geodetic)
theta - local mean sidereal time (Degrees)
Returns:
ECI position (meters)

eci2sez

public static double[] eci2sez(double[] rECI,
                               double thetaDeg,
                               double latDeg)
transform ECI to topocentric-horizon system (SEZ) (south-East-Zenith)

Parameters:
rECI - position in ECI coordinates (meters)
thetaDeg - local sidereal time (degrees)
latDeg - observer's latitude (degrees)
Returns:
topocentric-horizon system (SEZ) (south-East-Zenith)