public void GetInfo(CelestialObjectInfo <Tycho2Star> info) { Tycho2Star s = info.Body; SkyContext c = info.Context; string constellation = Constellations.FindConstellation(s.Equatorial, c.JulianDay); info .SetTitle(s.ToString()) .SetSubtitle(Text.Get("Tycho2Star.Subtitle")) .AddRow("Constellation", constellation) .AddHeader(Text.Get("Tycho2Star.Equatorial")) .AddRow("Equatorial.Alpha", c.Get(Equatorial, s).Alpha) .AddRow("Equatorial.Delta", c.Get(Equatorial, s).Delta) .AddHeader(Text.Get("Tycho2Star.Equatorial0")) .AddRow("Equatorial0.Alpha", s.Equatorial0.Alpha) .AddRow("Equatorial0.Delta", s.Equatorial0.Delta) .AddHeader(Text.Get("Tycho2Star.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Tycho2Star.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddHeader(Text.Get("Tycho2Star.Properties")) .AddRow("Magnitude", s.Magnitude); }
public void GetInfo(CelestialObjectInfo <Tycho2Star> info) { Tycho2Star s = info.Body; SkyContext c = info.Context; string constellation = Constellations.FindConstellation(s.Equatorial, c.JulianDay); info .SetTitle(s.ToString()) .SetSubtitle("Star") .AddRow("Constellation", constellation) .AddHeader("Equatorial coordinates (current epoch)") .AddRow("Equatorial.Alpha", c.Get(Equatorial, s).Alpha) .AddRow("Equatorial.Delta", c.Get(Equatorial, s).Delta) .AddHeader("Equatorial coordinates (J2000.0 epoch)") .AddRow("Equatorial0.Alpha", s.Equatorial0.Alpha) .AddRow("Equatorial0.Delta", s.Equatorial0.Delta) .AddHeader("Horizontal coordinates") .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader("Visibility") .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddHeader("Properties") .AddRow("Magnitude", s.Magnitude); }
public void GetInfo(CelestialObjectInfo <Moon> info) { var c = info.Context; info.SetTitle(info.Body.Name) .AddRow("Constellation") .AddHeader(Text.Get("Moon.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Moon.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Moon.Equatorial0")) .AddRow("Equatorial0.Alpha") .AddRow("Equatorial0.Delta") .AddHeader(Text.Get("Moon.Ecliptical")) .AddRow("Ecliptical.Lambda") .AddRow("Ecliptical.Beta") .AddHeader(Text.Get("Moon.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddRow("RTS.RiseAzimuth") .AddRow("RTS.TransitAltitude") .AddRow("RTS.SetAzimuth") .AddHeader(Text.Get("Moon.Appearance")) .AddRow("Phase") .AddRow("PhaseAngle") .AddRow("Age") .AddRow("Magnitude") .AddRow("Distance") .AddRow("HorizontalParallax") .AddRow("AngularDiameter") .AddRow("Libration.Latitude") .AddRow("Libration.Longitude") .AddHeader(Text.Get("Moon.Phases")) .AddRow("Phases.NewMoon", c.Get(NearestPhase, MoonPhase.NewMoon), Formatters.DateTime) .AddRow("Phases.FirstQuarter", c.Get(NearestPhase, MoonPhase.FirstQuarter), Formatters.DateTime) .AddRow("Phases.FullMoon", c.Get(NearestPhase, MoonPhase.FullMoon), Formatters.DateTime) .AddRow("Phases.LastQuarter", c.Get(NearestPhase, MoonPhase.LastQuarter), Formatters.DateTime) .AddHeader(Text.Get("Moon.Apsis")) .AddRow("Apsis.Apogee", c.Get(NearestApsis, MoonApsis.Apogee), Formatters.DateTime) .AddRow("Apsis.Perigee", c.Get(NearestApsis, MoonApsis.Perigee), Formatters.DateTime) .AddHeader(Text.Get("Moon.MaxDeclinations")) .AddRow("MaxDeclinations.North", c.Get(NearestMaxDeclination, MoonDeclination.North), Formatters.DateTime) .AddRow("MaxDeclinations.South", c.Get(NearestMaxDeclination, MoonDeclination.South), Formatters.DateTime); }
public void GetInfo(CelestialObjectInfo <Comet> info) { info .SetTitle(info.Body.Names.First()) .SetSubtitle(Text.Get("Comet.Type")) .AddRow("Constellation") .AddHeader(Text.Get("Comet.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Comet.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Comet.EquatorialG")) .AddRow("EquatorialG.Alpha") .AddRow("EquatorialG.Delta") .AddHeader(Text.Get("Comet.Equatorial0T")) .AddRow("Equatorial0T.Alpha") .AddRow("Equatorial0T.Delta") .AddHeader(Text.Get("Comet.Equatorial0")) .AddRow("Equatorial0.Alpha") .AddRow("Equatorial0.Delta") .AddHeader(Text.Get("Comet.Ecliptical")) .AddRow("Ecliptical.Lambda") .AddRow("Ecliptical.Beta") .AddHeader(Text.Get("Comet.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddHeader(Text.Get("Comet.Visibility")) .AddRow("Visibility.Begin") .AddRow("Visibility.End") .AddRow("Visibility.Duration") .AddRow("Visibility.Period") .AddHeader(Text.Get("Comet.Appearance")) .AddRow("AngularDiameter") .AddRow("Magnitude") .AddRow("DistanceFromEarth") .AddRow("DistanceFromSun") .AddRow("HorizontalParallax"); }
public void GetInfo(CelestialObjectInfo <Star> info) { Star s = info.Body; SkyContext c = info.Context; StarDetails details = c.Get(ReadStarDetails, s.Number); info .SetTitle(string.Join(", ", s.Names)) .SetSubtitle(Text.Get("Star.Type")) .AddRow("Constellation", Constellations.FindConstellation(c.Get(Equatorial, s.Number), c.JulianDay)) .AddHeader(Text.Get("Star.Equatorial")) .AddRow("Equatorial.Alpha", c.Get(Equatorial, s.Number).Alpha) .AddRow("Equatorial.Delta", c.Get(Equatorial, s.Number).Delta) .AddHeader(Text.Get("Star.Equatorial0")) .AddRow("Equatorial0.Alpha", s.Equatorial0.Alpha) .AddRow("Equatorial0.Delta", s.Equatorial0.Delta) .AddHeader(Text.Get("Star.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Star.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddHeader(Text.Get("Star.Visibility")) .AddRow("Visibility.Begin") .AddRow("Visibility.End") .AddRow("Visibility.Duration") .AddRow("Visibility.Period") .AddHeader(Text.Get("Star.Properties")) .AddRow("Magnitude", s.Mag) .AddRow("IsInfraredSource", details.IsInfraredSource) .AddRow("SpectralClass", details.SpectralClass); if (!string.IsNullOrEmpty(details.Pecularity)) { info.AddRow("Pecularity", details.Pecularity); } if (details.RadialVelocity != null) { info.AddRow("RadialVelocity", details.RadialVelocity + " km/s"); } }
public void GetInfo(CelestialObjectInfo <Asteroid> info) { info .SetTitle(info.Body.Names.First()) .SetSubtitle("Minor planet") .AddRow("Constellation") .AddHeader(Text.Get("Asteroid.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Asteroid.Equatorial0")) .AddRow("Equatorial0.Alpha") .AddRow("Equatorial0.Delta") .AddHeader(Text.Get("Asteroid.Ecliptical")) .AddRow("Ecliptical.Lambda") .AddRow("Ecliptical.Beta") .AddHeader(Text.Get("Asteroid.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Asteroid.Appearance")) .AddRow("Phase") .AddRow("PhaseAngle") .AddRow("Magnitude") .AddRow("DistanceFromEarth") .AddRow("DistanceFromSun") .AddRow("HorizontalParallax"); if (info.Body.PhysicalDiameter > 0) { info.AddRow("AngularDiameter"); } info .AddHeader(Text.Get("Asteroid.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration"); info .AddHeader(Text.Get("Asteroid.Visibility")) .AddRow("Visibility.Begin") .AddRow("Visibility.End") .AddRow("Visibility.Duration") .AddRow("Visibility.Period"); }
public void GetInfo(CelestialObjectInfo <Sun> info) { var c = info.Context; info.SetTitle(Sun.Name) .AddRow("Constellation") .AddHeader(Text.Get("Sun.Equatorial0")) .AddRow("Equatorial0.Alpha") .AddRow("Equatorial0.Delta") .AddHeader(Text.Get("Sun.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Sun.Ecliptical")) .AddRow("Ecliptical.Lambda") .AddRow("Ecliptical.Beta") .AddHeader(Text.Get("Sun.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Sun.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddHeader(Text.Get("Sun.Twilight")) .AddRow("Twilight.Astronomical.Dawn") .AddRow("Twilight.Nautical.Dawn") .AddRow("Twilight.Civil.Dawn") .AddRow("Twilight.Civil.Dust") .AddRow("Twilight.Nautical.Dust") .AddRow("Twilight.Astronomical.Dust") .AddHeader(Text.Get("Sun.Appearance")) .AddRow("Distance") .AddRow("HorizontalParallax") .AddRow("AngularDiameter") .AddRow("CRN") .AddHeader(Text.Get("Sun.Seasons")) .AddRow("Seasons.Spring", c.Get(Seasons, Season.Spring), Formatters.DateTime) .AddRow("Seasons.Summer", c.Get(Seasons, Season.Summer), Formatters.DateTime) .AddRow("Seasons.Autumn", c.Get(Seasons, Season.Autumn), Formatters.DateTime) .AddRow("Seasons.Winter", c.Get(Seasons, Season.Winter), Formatters.DateTime); }
public void GetInfo(CelestialObjectInfo <Meteor> info) { Meteor m = info.Body; SkyContext c = info.Context; string constellation = Constellations.FindConstellation(c.Get(Equatorial, m), c.JulianDay); int year = c.GetDate(c.JulianDay).Year; var offset = c.GeoLocation.UtcOffset; var jd0 = Date.DeltaT(c.JulianDay) / 86400.0 + Date.JulianDay0(year) - offset / 24; var begin = new Date(jd0 + m.Begin, offset); var max = new Date(jd0 + m.Max, offset); var end = new Date(jd0 + m.End, offset); SkyContext cMax = new SkyContext(jd0 + m.Max, c.GeoLocation, c.PreferFastCalculation); var phase = LunarPhaseAtMax(cMax, m); info .SetTitle(string.Join(", ", info.Body.Names)) .SetSubtitle(Text.Get("Meteor.Type")) .AddRow("Constellation", constellation) .AddHeader(Text.Get("Meteor.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Meteor.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Meteor.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddHeader(Text.Get("Meteor.Activity")) .AddRow("Activity.Begin", begin, Formatters.Date) .AddRow("Activity.Max", max, Formatters.Date) .AddRow("Activity.End", end, Formatters.Date) .AddRow("Activity.LunarPhaseAtMax", phase, Formatters.Phase) .AddHeader(Text.Get("Meteor.Data")) .AddRow("Data.ZHR", m.ZHR) .AddRow("Data.ActivityClass", m.ActivityClass) .AddRow("Data.DriftRA", m.Drift.Alpha, Formatters.Angle) .AddRow("Data.DriftDec", m.Drift.Delta, Formatters.Angle); }
public void GetInfo(CelestialObjectInfo <Nova> info) { Nova n = info.Body; SkyContext c = info.Context; string constellation = Constellations.FindConstellation(c.Get(Equatorial, n), c.JulianDay); int year = c.GetDate(c.JulianDay).Year; var offset = c.GeoLocation.UtcOffset; var jd0 = Date.DeltaT(c.JulianDay) / 86400.0 + Date.JulianDay0(year) - offset / 24; info .SetTitle(string.Join(", ", info.Body.Names)) .SetSubtitle(Text.Get("Nova.Type")) .AddRow("Constellation", constellation) .AddHeader(Text.Get("Nova.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Nova.Equatorial0")) .AddRow("Equatorial0.Alpha", n.Equatorial0.Alpha, Formatters.RA) .AddRow("Equatorial0.Delta", n.Equatorial0.Delta, Formatters.Dec) .AddHeader(Text.Get("Nova.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Nova.Properties")) .AddRow("Magnitude") .AddRow("PeakDate", new Date(n.JulianDayPeak), Formatters.Date) .AddRow("MaxMagnitude", n.MaxMagnitude, Formatters.Magnitude) .AddRow("MinMagnitude", n.MinMagnitude, Formatters.Magnitude) .AddRow("Type", n.NovaType + NovaTypeDescription(n)) .AddHeader(Text.Get("Nova.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration"); }
public void GetInfo(CelestialObjectInfo <Moon> info) { var c = info.Context; info.SetTitle(info.Body.Name) .AddRow("Constellation") .AddHeader(Text.Get("Moon.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Moon.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Moon.Equatorial0")) .AddRow("Equatorial0.Alpha") .AddRow("Equatorial0.Delta") .AddHeader(Text.Get("Moon.Ecliptical")) .AddRow("Ecliptical.Lambda") .AddRow("Ecliptical.Beta") .AddHeader(Text.Get("Moon.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddRow("RTS.RiseAzimuth") .AddRow("RTS.TransitAltitude") .AddRow("RTS.SetAzimuth") .AddHeader(Text.Get("Moon.Appearance")) .AddRow("Phase") .AddRow("PhaseAngle") .AddRow("Age") .AddRow("Lunation") .AddRow("Magnitude") .AddRow("Distance") .AddRow("HorizontalParallax") .AddRow("AngularDiameter") .AddRow("Libration.Latitude") .AddRow("Libration.Longitude"); info.AddHeader(Text.Get("Moon.Phases")); var phases = new Tuple <string, Date>[] { new Tuple <string, Date>("Phases.NewMoon", c.Get(NearestPhase, MoonPhase.NewMoon)), new Tuple <string, Date>("Phases.FirstQuarter", c.Get(NearestPhase, MoonPhase.FirstQuarter)), new Tuple <string, Date>("Phases.FullMoon", c.Get(NearestPhase, MoonPhase.FullMoon)), new Tuple <string, Date>("Phases.LastQuarter", c.Get(NearestPhase, MoonPhase.LastQuarter)) }; foreach (var p in phases.OrderBy(i => i.Item2)) { info.AddRow(p.Item1, p.Item2, Formatters.DateTime); } info.AddHeader(Text.Get("Moon.Apsis")); var apsis = new Tuple <string, Date>[] { new Tuple <string, Date>("Apsis.Apogee", c.Get(NearestApsis, MoonApsis.Apogee)), new Tuple <string, Date>("Apsis.Perigee", c.Get(NearestApsis, MoonApsis.Perigee)) }; foreach (var p in apsis.OrderBy(i => i.Item2)) { info.AddRow(p.Item1, p.Item2, Formatters.DateTime); } info.AddHeader(Text.Get("Moon.MaxDeclinations")); var maxDeclinations = new Tuple <string, Date>[] { new Tuple <string, Date>("MaxDeclinations.North", c.Get(NearestMaxDeclination, MoonDeclination.North)), new Tuple <string, Date>("MaxDeclinations.South", c.Get(NearestMaxDeclination, MoonDeclination.South)) }; foreach (var p in maxDeclinations.OrderBy(i => i.Item2)) { info.AddRow(p.Item1, p.Item2, Formatters.DateTime); } info.AddHeader(Text.Get("Moon.MaxLibrations")); var maxLibrations = new Tuple <string, Date>[] { new Tuple <string, Date>("MaxLibrations.North", c.Get(NearestMaxLibration, LibrationEdge.North)), new Tuple <string, Date>("MaxLibrations.South", c.Get(NearestMaxLibration, LibrationEdge.South)), new Tuple <string, Date>("MaxLibrations.East", c.Get(NearestMaxLibration, LibrationEdge.East)), new Tuple <string, Date>("MaxLibrations.West", c.Get(NearestMaxLibration, LibrationEdge.West)) }; foreach (var p in maxLibrations.OrderBy(i => i.Item2)) { info.AddRow(p.Item1, p.Item2, Formatters.DateTime); } }