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

java.lang.Object
  extended by edu.wisc.ssec.mcidasv.data.adde.sgp4.AbstractSatellite
      extended by edu.wisc.ssec.mcidasv.data.adde.sgp4.SatelliteTleSGP4
All Implemented Interfaces:
Serializable

public class SatelliteTleSGP4
extends AbstractSatellite

Author:
ganos
See Also:
Serialized Form

Field Summary
(package private)  double currentJulianDate
           
private  boolean fillFootPrint
           
private  int grnTrkPointsPerPeriod
           
(package private)  boolean groundTrackIni
           
private  double groundTrackLagPeriodMultiplier
           
private  double groundTrackLeadPeriodMultiplier
           
private  double[] j2kPos
           
private  double[] j2kVel
           
(package private)  double[][] latLongLag
           
(package private)  double[][] latLongLead
           
private  double[] lla
           
private  int numPtsFootPrint
           
private  boolean plot2d
           
private  boolean plot2DFootPrint
           
private  double[] posTEME
           
private  SGP4SatData sgp4SatData
           
private  boolean show3D
           
private  boolean show3DFootprint
           
private  boolean show3DName
           
private  boolean show3DOrbitTrace
           
private  boolean show3DOrbitTraceECI
           
(package private)  boolean showGroundTrack
           
private  boolean showGroundTrack3d
           
private  boolean showName2D
           
private  double[][] temePosLag
           
private  double[][] temePosLead
           
private  String threeDModelPath
           
private  double threeDModelSizeFactor
           
private  double[] timeLag
           
private  double[] timeLead
           
private  TLE tle
           
(package private)  double tleEpochJD
           
private  boolean use3dModel
           
private  double[] velTEME
           
 
Constructor Summary
SatelliteTleSGP4(String name, String tleLine1, String tleLine2)
          Creates a new instance of SatelliteProps - default properties with given name and TLE lines
 
Method Summary
private  double[] calculateLatLongAltXyz(double ptTime)
           
 double[] calculateTemePositionFromUT(double julDate)
          Calculate true-equator, mean equinox (TEME) of date position of this sat at a given JulDateTime (doesn't save the time) - can be useful for event searches or optimization
private  void fillGroundTrack(double lastAscendingNodeTime, double leadEndTime, double lagEndTime)
           
 double getAltitude()
           
 double getLatitude()
          Calculate TEME of date position of this sat at a given JulDateTime (doesn't save the time) - can be useful for event searches or optimization
 double[] getLLA()
           
 double getLongitude()
           
 double[] getTEMEPos()
           
private  void initializeGroundTrack()
           
private  double latitudeGivenJulianDate(double julDate)
           
 void propogate2JulDate(double julDate)
           
private  double secantMethod(double xn_1, double xn, double tol, int maxIter)
           
 void setShowGroundTrack(boolean showGrndTrk)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tle

private TLE tle

sgp4SatData

private SGP4SatData sgp4SatData

currentJulianDate

double currentJulianDate

tleEpochJD

double tleEpochJD

j2kPos

private double[] j2kPos

j2kVel

private double[] j2kVel

posTEME

private double[] posTEME

velTEME

private double[] velTEME

lla

private double[] lla

plot2d

private boolean plot2d

plot2DFootPrint

private boolean plot2DFootPrint

fillFootPrint

private boolean fillFootPrint

numPtsFootPrint

private int numPtsFootPrint

showGroundTrack

boolean showGroundTrack

grnTrkPointsPerPeriod

private int grnTrkPointsPerPeriod

groundTrackLeadPeriodMultiplier

private double groundTrackLeadPeriodMultiplier

groundTrackLagPeriodMultiplier

private double groundTrackLagPeriodMultiplier

latLongLead

double[][] latLongLead

latLongLag

double[][] latLongLag

temePosLead

private double[][] temePosLead

temePosLag

private double[][] temePosLag

timeLead

private double[] timeLead

timeLag

private double[] timeLag

groundTrackIni

boolean groundTrackIni

showName2D

private boolean showName2D

show3DOrbitTrace

private boolean show3DOrbitTrace

show3DFootprint

private boolean show3DFootprint

show3DName

private boolean show3DName

show3D

private boolean show3D

showGroundTrack3d

private boolean showGroundTrack3d

show3DOrbitTraceECI

private boolean show3DOrbitTraceECI

use3dModel

private boolean use3dModel

threeDModelPath

private String threeDModelPath

threeDModelSizeFactor

private double threeDModelSizeFactor
Constructor Detail

SatelliteTleSGP4

public SatelliteTleSGP4(String name,
                        String tleLine1,
                        String tleLine2)
                 throws Exception
Creates a new instance of SatelliteProps - default properties with given name and TLE lines

Parameters:
name - name of satellite
tleLine1 - first line of two line element
tleLine2 - second line of two line element
Throws:
Exception - if TLE data is bad
Method Detail

propogate2JulDate

public void propogate2JulDate(double julDate)

initializeGroundTrack

private void initializeGroundTrack()

fillGroundTrack

private void fillGroundTrack(double lastAscendingNodeTime,
                             double leadEndTime,
                             double lagEndTime)

calculateLatLongAltXyz

private double[] calculateLatLongAltXyz(double ptTime)

calculateTemePositionFromUT

public double[] calculateTemePositionFromUT(double julDate)
Calculate true-equator, mean equinox (TEME) of date position of this sat at a given JulDateTime (doesn't save the time) - can be useful for event searches or optimization

Parameters:
julDate - - julian date
Returns:
j2k position of satellite in meters

secantMethod

private double secantMethod(double xn_1,
                            double xn,
                            double tol,
                            int maxIter)

latitudeGivenJulianDate

private double latitudeGivenJulianDate(double julDate)

setShowGroundTrack

public void setShowGroundTrack(boolean showGrndTrk)

getLatitude

public double getLatitude()
Description copied from class: AbstractSatellite
Calculate TEME of date position of this sat at a given JulDateTime (doesn't save the time) - can be useful for event searches or optimization

Specified by:
getLatitude in class AbstractSatellite
Returns:
j2k position of satellite in meters

getLongitude

public double getLongitude()
Specified by:
getLongitude in class AbstractSatellite

getAltitude

public double getAltitude()
Specified by:
getAltitude in class AbstractSatellite

getLLA

public double[] getLLA()

getTEMEPos

public double[] getTEMEPos()
Specified by:
getTEMEPos in class AbstractSatellite