/// <summary> /// Creates a new instance of the class from geodetic-time coordinates. /// </summary> /// <param name="geo">The geodetic-time coordinates.</param> public EciTime(GeoTime geo) : this(geo, geo.Date) { }
/// <summary> /// Creates a new instance of the class from geodetic-time coordinates. /// </summary> /// <param name="geo">The geodetic-time coordinates.</param> public EciTime(GeoTime geo) :this(geo, geo.Date) { }
public void CalcData() { this.ElementOrbit = new Orbit(this.ElementTle); for (DateTime indexTime = this.ProcessingStartTime; indexTime < this.ProcessingStopTime; indexTime = indexTime.AddSeconds(this.ProcessingStepTime)) { Topo topo = this.SiteCoords.GetLookAngle(this.ElementOrbit.GetPosition(indexTime)); this.TopocentricData.Add(topo); this.TimeData.Add(indexTime); } this.TimeValues = new DateTime[this.TimeData.Count]; this.AzimuthValues = new double[this.TopocentricData.Count]; this.ElevationValues = new double[this.TopocentricData.Count]; this.RangeValues = new double[this.TopocentricData.Count]; this.RangeRateValues = new double[this.TopocentricData.Count]; this.LatitudeValues = new double[this.TopocentricData.Count]; this.LongitudeValues = new double[this.TopocentricData.Count]; for (int idx = 0; idx < this.TopocentricData.Count; idx++) { this.TimeValues[idx] = this.TimeData[idx]; this.AzimuthValues[idx] = this.TopocentricData[idx].AzimuthDeg; this.ElevationValues[idx] = this.TopocentricData[idx].ElevationDeg; this.RangeValues[idx] = this.TopocentricData[idx].Range; this.RangeRateValues[idx] = this.TopocentricData[idx].RangeRate; EciTime eciData = this.ElementOrbit.GetPosition(this.TimeData[idx]); GeoTime geoData = new GeoTime(eciData); this.LatitudeValues[idx] = geoData.LatitudeDeg; this.LongitudeValues[idx] = geoData.LongitudeDeg; } }