private static MPEphEntry ParseLine(string line) { // 00055 // Date UT R.A. (J2000) Decl. Delta r El. Ph. V Sky Motion Object Sun Moon Uncertainty info // h m s "/min P.A. Azi. Alt. Alt. Phase Dist. Alt. 3-sig/" P.A. // 1 1 1 1 1 // 1 2 3 4 5 6 7 8 9 0 1 2 3 4 // 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 // 2009 07 27 124800 22 18 36.1 -20 15 18 1.545 2.497 153.8 10.3 11.4 0.40 249.0 264 +47 -68 0.36 130 +03 0 318.1 // 2010 12 11 130549 07 34 48.3 -17 52 01 0.342 1.220 126.5 40.5 7.9 0.54 235.0 261 +46 -32 0.31 137 -03 try { MPEphEntry retVal = new MPEphEntry(); int year = int.Parse(line.Substring(0, 4).Trim()); int month = int.Parse(line.Substring(5, 2).Trim()); int day = int.Parse(line.Substring(8, 2).Trim()); int hr = int.Parse(line.Substring(11, 2).Trim()); int min = int.Parse(line.Substring(13, 2).Trim()); int sec = int.Parse(line.Substring(15, 2).Trim()); retVal.UtcDate = new DateTime(year, month, day, hr, min, sec); retVal.RAHours = AstroConvert.ToRightAcsension(line.Substring(18, 10).Trim()); retVal.DEDeg = AstroConvert.ToDeclination(line.Substring(29, 9).Trim()); retVal.Mag = double.Parse(line.Substring(69, 4).Trim(), CultureInfo.InvariantCulture); retVal.SkyMotion = double.Parse(line.Substring(74, 7).Trim(), CultureInfo.InvariantCulture); return(retVal); } catch { return(null); } }
internal static List <MPEphEntry> Parse(string preTagContent) { List <MPEphEntry> result = new List <MPEphEntry>(); string[] lines = preTagContent.Split(new string[] { "\n" }, StringSplitOptions.None); foreach (string line in lines) { Trace.WriteLine(line); if (line.StartsWith("20")) { MPEphEntry entry = ParseLine(line); if (entry != null) { result.Add(entry); } } } return(result); }
private static MPEphEntry ParseLine(string line) { // 00055 // Date UT R.A. (J2000) Decl. Delta r El. Ph. V Sky Motion Object Sun Moon Uncertainty info // h m s "/min P.A. Azi. Alt. Alt. Phase Dist. Alt. 3-sig/" P.A. // 1 1 1 1 1 // 1 2 3 4 5 6 7 8 9 0 1 2 3 4 // 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 // 2009 07 27 124800 22 18 36.1 -20 15 18 1.545 2.497 153.8 10.3 11.4 0.40 249.0 264 +47 -68 0.36 130 +03 0 318.1 // 2010 12 11 130549 07 34 48.3 -17 52 01 0.342 1.220 126.5 40.5 7.9 0.54 235.0 261 +46 -32 0.31 137 -03 try { MPEphEntry retVal = new MPEphEntry(); int year = int.Parse(line.Substring(0, 4).Trim()); int month = int.Parse(line.Substring(5, 2).Trim()); int day = int.Parse(line.Substring(8, 2).Trim()); int hr = int.Parse(line.Substring(11, 2).Trim()); int min = int.Parse(line.Substring(13, 2).Trim()); int sec = int.Parse(line.Substring(15, 2).Trim()); retVal.UtcDate = new DateTime(year, month, day, hr, min, sec); retVal.RAHours = AstroConvert.ToRightAcsension(line.Substring(18, 10).Trim()); retVal.DEDeg = AstroConvert.ToDeclination(line.Substring(29, 9).Trim()); retVal.Mag = double.Parse(line.Substring(69, 4).Trim(), CultureInfo.InvariantCulture); retVal.SkyMotion = double.Parse(line.Substring(74, 7).Trim(), CultureInfo.InvariantCulture); return retVal; } catch { return null; } }