From: kimikage Date: Wed, 2 Feb 2011 15:31:10 +0000 (+0900) Subject: YUMA形式のアルマナックデータの読み込みに対応 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;ds=sidebyside;h=8fccca9755265cf5f5b874b43f5c36f79fb6503b;p=yubeshi%2Fyubeshi.git YUMA形式のアルマナックデータの読み込みに対応 --- diff --git a/Yubeshi/Almanac.cs b/Yubeshi/Almanac.cs new file mode 100755 index 0000000..898ddd4 --- /dev/null +++ b/Yubeshi/Almanac.cs @@ -0,0 +1,100 @@ +/* + * Yubeshi GPS Parser + * + * This software is distributed under a zlib-style license. + * See license.txt for more information. + */ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Yubeshi +{ + public class Almanac + { + #region properties + public int ID + { + get; + set; + } + + public int Health + { + get; + set; + } + + public double Eccentricity + { + get; + set; + } + + public decimal TimeOfApplicability + { + get; + set; + } + + public Degree OrbitalInclination + { + get; + set; + } + + public double RateOfRightAscen + { + get; + set; + } + + /// + /// Square Root of Semi-Major Axis + /// + public double SqrtA + { + get; + set; + } + + public Degree RightAscenAtWeek + { + get; + set; + } + + public Degree ArgumentOfPerigee + { + get; + set; + } + + public Degree MeanAnom + { + get; + set; + } + + public double Af0 + { + get; + set; + } + + public double Af1 + { + get; + set; + } + + public int Week + { + get; + set; + } + + #endregion + } +} diff --git a/Yubeshi/Yubeshi.csproj b/Yubeshi/Yubeshi.csproj index 772a402..c795212 100755 --- a/Yubeshi/Yubeshi.csproj +++ b/Yubeshi/Yubeshi.csproj @@ -36,6 +36,7 @@ + @@ -75,6 +76,7 @@ + diff --git a/Yubeshi/YumaAlmanacReader.cs b/Yubeshi/YumaAlmanacReader.cs new file mode 100755 index 0000000..08c3193 --- /dev/null +++ b/Yubeshi/YumaAlmanacReader.cs @@ -0,0 +1,156 @@ +/* + * Yubeshi GPS Parser + * + * This software is distributed under a zlib-style license. + * See license.txt for more information. + */ + +using System; +using System.Collections.Generic; +using System.Text; +using System.Text.RegularExpressions; +using System.IO; + +namespace Yubeshi +{ + public class YumaAlmanacReader + { + #region type definitions + private delegate void AlmanacSetter(Almanac almanac, string value); + #endregion + + #region fields + private string filePath; + private static readonly Regex yuma = + new Regex(@"^([\w\s\(\)/]+):\s*([\d.E+-]+)$", + RegexOptions.Compiled); + + private static readonly Dictionary setters; + #endregion + + + #region constructors + public YumaAlmanacReader(string filePath) + { + this.filePath = filePath; + } + + static YumaAlmanacReader() + { + setters = new Dictionary(); + setters["ID"] = delegate(Almanac a, string v) + { + a.ID = Int32.Parse(v); + }; + setters["Health"] = delegate(Almanac a, string v) + { + a.Health = Int32.Parse(v); + }; + setters["Eccentricity"] = delegate(Almanac a, string v) + { + a.Eccentricity = Double.Parse(v); + }; + setters["Time of Applicability(s)"] = delegate(Almanac a, string v) + { + a.TimeOfApplicability = Decimal.Parse(v); + }; + setters["Orbital Inclination(rad)"] = delegate(Almanac a, string v) + { + a.OrbitalInclination = Degree.FromRadian(Double.Parse(v)); + }; + setters["Rate of Right Ascen(r/s)"] = delegate(Almanac a, string v) + { + a.RateOfRightAscen = Double.Parse(v); + }; + setters["SQRT(A) (m 1/2)"] = delegate(Almanac a, string v) + { + a.SqrtA = Double.Parse(v); + }; + setters["Right Ascen at Week(rad)"] = delegate(Almanac a, string v) + { + a.RightAscenAtWeek = Degree.FromRadian(Double.Parse(v)); + }; + setters["Argument of Perigee(rad)"] = delegate(Almanac a, string v) + { + a.ArgumentOfPerigee = Degree.FromRadian(Double.Parse(v)); + }; + setters["Mean Anom(rad)"] = delegate(Almanac a, string v) + { + a.MeanAnom = Degree.FromRadian(Double.Parse(v)); + }; + setters["Af0(s)"] = delegate(Almanac a, string v) + { + a.Af0 = Double.Parse(v); + }; + setters["Af1(s/s)"] = delegate(Almanac a, string v) + { + a.Af1 = Double.Parse(v); + }; + setters["week"] = delegate(Almanac a, string v) + { + a.Week = Int32.Parse(v); + }; + } + #endregion + + public Almanac[] Read() + { + Almanac[] list = null; + try + { + using (Stream s = new FileStream(filePath, + FileMode.Open, FileAccess.Read, FileShare.Read)) + { + using (StreamReader sr = new StreamReader(s)) + { + list = Parse(sr); + } + } + } + catch + { + throw; + } + return list; + } + + private Almanac[] Parse(StreamReader sr) + { + List list = new List(); + string line = null; + Almanac a = null; + while ((line = sr.ReadLine()) != null) + { + MatchCollection m = yuma.Matches(line); + if (m.Count == 1) + { + string key = m[0].Groups[1].Value; + if (setters.ContainsKey(key)) + { + if (a == null) + { + a = new Almanac(); + } + setters[key](a, m[0].Groups[2].Value); + } + else + { + a = null; + } + } + else if(a != null) + { + list.Add(a); + a = null; + } + + } + if (a != null) + { + list.Add(a); + } + return list.ToArray(); + } + + } +} diff --git a/YubeshiTest/Resources/almanac.alm b/YubeshiTest/Resources/almanac.alm new file mode 100755 index 0000000..226a5b5 --- /dev/null +++ b/YubeshiTest/Resources/almanac.alm @@ -0,0 +1,465 @@ +******** Week 597 almanac for PRN-02 ******** +ID: 02 +Health: 000 +Eccentricity: 0.9981155396E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9390506744 +Rate of Right Ascen(r/s): -0.8101778803E-008 +SQRT(A) (m 1/2): 5153.645020 +Right Ascen at Week(rad): 0.1120424271E+001 +Argument of Perigee(rad): -3.091476083 +Mean Anom(rad): -0.7315391302E+000 +Af0(s): 0.3185272217E-003 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-03 ******** +ID: 03 +Health: 000 +Eccentricity: 0.1393413544E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9287567139 +Rate of Right Ascen(r/s): -0.8032657206E-008 +SQRT(A) (m 1/2): 5153.591797 +Right Ascen at Week(rad): -0.3539276123E-001 +Argument of Perigee(rad): 1.071895719 +Mean Anom(rad): -0.7802045345E+000 +Af0(s): 0.6713867188E-003 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-04 ******** +ID: 04 +Health: 000 +Eccentricity: 0.9618282318E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9381332397 +Rate of Right Ascen(r/s): -0.8152710507E-008 +SQRT(A) (m 1/2): 5153.527832 +Right Ascen at Week(rad): 0.1137965083E+001 +Argument of Perigee(rad): 0.707530260 +Mean Anom(rad): 0.2255247593E+001 +Af0(s): 0.2574920654E-004 +Af1(s/s): 0.1091393642E-010 +week: 597 + +******** Week 597 almanac for PRN-05 ******** +ID: 05 +Health: 000 +Eccentricity: 0.2256870270E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9550666809 +Rate of Right Ascen(r/s): -0.8105416782E-008 +SQRT(A) (m 1/2): 5153.545898 +Right Ascen at Week(rad): 0.2182121038E+001 +Argument of Perigee(rad): 0.273877025 +Mean Anom(rad): 0.9578915834E+000 +Af0(s): -0.1087188721E-003 +Af1(s/s): -0.7275957614E-011 +week: 597 + +******** Week 597 almanac for PRN-06 ******** +ID: 06 +Health: 000 +Eccentricity: 0.6402492523E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9359588623 +Rate of Right Ascen(r/s): -0.7938069757E-008 +SQRT(A) (m 1/2): 5153.607422 +Right Ascen at Week(rad): 0.3727996349E-001 +Argument of Perigee(rad): -0.869711637 +Mean Anom(rad): 0.1322691441E+001 +Af0(s): -0.5531311035E-004 +Af1(s/s): -0.2546585165E-010 +week: 597 + +******** Week 597 almanac for PRN-07 ******** +ID: 07 +Health: 000 +Eccentricity: 0.4164218903E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9736423492 +Rate of Right Ascen(r/s): -0.7989001460E-008 +SQRT(A) (m 1/2): 5153.625977 +Right Ascen at Week(rad): -0.1997877717E+001 +Argument of Perigee(rad): -3.099204421 +Mean Anom(rad): -0.2456450820E+001 +Af0(s): 0.2861022949E-005 +Af1(s/s): 0.0000000000E+000 +week: 597 + +******** Week 597 almanac for PRN-08 ******** +ID: 08 +Health: 000 +Eccentricity: 0.1142597198E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9951839447 +Rate of Right Ascen(r/s): -0.7796188584E-008 +SQRT(A) (m 1/2): 5153.576172 +Right Ascen at Week(rad): -0.1924704313E+001 +Argument of Perigee(rad): -3.088928342 +Mean Anom(rad): -0.2986244917E+001 +Af0(s): 0.7629394531E-005 +Af1(s/s): 0.0000000000E+000 +week: 597 + +******** Week 597 almanac for PRN-09 ******** +ID: 09 +Health: 000 +Eccentricity: 0.1701211929E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9826316833 +Rate of Right Ascen(r/s): -0.7879862096E-008 +SQRT(A) (m 1/2): 5153.635254 +Right Ascen at Week(rad): -0.2027178049E+001 +Argument of Perigee(rad): 1.557071447 +Mean Anom(rad): -0.3113306165E+001 +Af0(s): 0.5912780762E-004 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-10 ******** +ID: 10 +Health: 000 +Eccentricity: 0.1004171371E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9500522614 +Rate of Right Ascen(r/s): -0.8149072528E-008 +SQRT(A) (m 1/2): 5153.505859 +Right Ascen at Week(rad): 0.2206461310E+001 +Argument of Perigee(rad): 0.692496061 +Mean Anom(rad): 0.1217050433E+001 +Af0(s): -0.6484985352E-004 +Af1(s/s): 0.0000000000E+000 +week: 597 + +******** Week 597 almanac for PRN-11 ******** +ID: 11 +Health: 000 +Eccentricity: 0.1160764694E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.8880634308 +Rate of Right Ascen(r/s): -0.8527422324E-008 +SQRT(A) (m 1/2): 5153.427246 +Right Ascen at Week(rad): 0.8888931274E+000 +Argument of Perigee(rad): 0.909221053 +Mean Anom(rad): -0.2385749817E+001 +Af0(s): -0.1239776611E-003 +Af1(s/s): -0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-12 ******** +ID: 12 +Health: 000 +Eccentricity: 0.3565311432E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9737148285 +Rate of Right Ascen(r/s): -0.8098140825E-008 +SQRT(A) (m 1/2): 5153.759766 +Right Ascen at Week(rad): -0.9427611828E+000 +Argument of Perigee(rad): -0.291717052 +Mean Anom(rad): -0.2330738068E+001 +Af0(s): -0.3051757812E-004 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-13 ******** +ID: 13 +Health: 000 +Eccentricity: 0.4450321198E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9911518097 +Rate of Right Ascen(r/s): -0.7352355169E-008 +SQRT(A) (m 1/2): 5153.613281 +Right Ascen at Week(rad): -0.2974312305E+001 +Argument of Perigee(rad): 1.787841558 +Mean Anom(rad): 0.6812202930E-001 +Af0(s): 0.2832412720E-003 +Af1(s/s): 0.0000000000E+000 +week: 597 + +******** Week 597 almanac for PRN-14 ******** +ID: 14 +Health: 000 +Eccentricity: 0.5637168884E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9842491150 +Rate of Right Ascen(r/s): -0.7417838788E-008 +SQRT(A) (m 1/2): 5153.590820 +Right Ascen at Week(rad): -0.2997748971E+001 +Argument of Perigee(rad): -2.078460097 +Mean Anom(rad): 0.2423548698E-001 +Af0(s): 0.1287460327E-003 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-15 ******** +ID: 15 +Health: 000 +Eccentricity: 0.3317832947E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9515190125 +Rate of Right Ascen(r/s): -0.7777998690E-008 +SQRT(A) (m 1/2): 5153.518555 +Right Ascen at Week(rad): -0.3069829226E+001 +Argument of Perigee(rad): -0.135819435 +Mean Anom(rad): -0.3191695213E+000 +Af0(s): -0.1544952393E-003 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-16 ******** +ID: 16 +Health: 000 +Eccentricity: 0.6111145020E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9748058319 +Rate of Right Ascen(r/s): -0.8069036994E-008 +SQRT(A) (m 1/2): 5153.691895 +Right Ascen at Week(rad): -0.9250330925E+000 +Argument of Perigee(rad): -0.169160008 +Mean Anom(rad): 0.1548160791E+001 +Af0(s): -0.1478195190E-003 +Af1(s/s): -0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-17 ******** +ID: 17 +Health: 000 +Eccentricity: 0.6045818329E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9613838196 +Rate of Right Ascen(r/s): -0.7657945389E-008 +SQRT(A) (m 1/2): 5153.671387 +Right Ascen at Week(rad): 0.1175963879E+000 +Argument of Perigee(rad): -2.462290406 +Mean Anom(rad): 0.4805569649E+000 +Af0(s): 0.1831054688E-003 +Af1(s/s): 0.0000000000E+000 +week: 597 + +******** Week 597 almanac for PRN-18 ******** +ID: 18 +Health: 000 +Eccentricity: 0.1187324524E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9339637756 +Rate of Right Ascen(r/s): -0.8360075299E-008 +SQRT(A) (m 1/2): 5153.693359 +Right Ascen at Week(rad): 0.2202612877E+001 +Argument of Perigee(rad): -2.275445104 +Mean Anom(rad): 0.1813470125E+001 +Af0(s): 0.1192092896E-003 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-19 ******** +ID: 19 +Health: 000 +Eccentricity: 0.6948471069E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9589195251 +Rate of Right Ascen(r/s): -0.7676135283E-008 +SQRT(A) (m 1/2): 5153.576660 +Right Ascen at Week(rad): 0.1719129086E+000 +Argument of Perigee(rad): -0.013914466 +Mean Anom(rad): -0.2771254778E+000 +Af0(s): -0.1077651978E-003 +Af1(s/s): -0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-20 ******** +ID: 20 +Health: 000 +Eccentricity: 0.4683017731E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9340057373 +Rate of Right Ascen(r/s): -0.8356437320E-008 +SQRT(A) (m 1/2): 5153.666992 +Right Ascen at Week(rad): 0.2148656607E+001 +Argument of Perigee(rad): 1.265661478 +Mean Anom(rad): 0.2188432574E+001 +Af0(s): 0.4863739014E-004 +Af1(s/s): 0.0000000000E+000 +week: 597 + +******** Week 597 almanac for PRN-21 ******** +ID: 21 +Health: 000 +Eccentricity: 0.1722764969E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9317283630 +Rate of Right Ascen(r/s): -0.8229108062E-008 +SQRT(A) (m 1/2): 5153.525879 +Right Ascen at Week(rad): 0.1147058129E+001 +Argument of Perigee(rad): -2.413648725 +Mean Anom(rad): 0.3102271318E+001 +Af0(s): -0.1211166382E-003 +Af1(s/s): -0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-22 ******** +ID: 22 +Health: 000 +Eccentricity: 0.5364894867E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9316616058 +Rate of Right Ascen(r/s): -0.8367351256E-008 +SQRT(A) (m 1/2): 5153.645996 +Right Ascen at Week(rad): 0.2206986785E+001 +Argument of Perigee(rad): -1.947441459 +Mean Anom(rad): 0.9724266529E+000 +Af0(s): 0.1535415649E-003 +Af1(s/s): 0.0000000000E+000 +week: 597 + +******** Week 597 almanac for PRN-23 ******** +ID: 23 +Health: 000 +Eccentricity: 0.6956577301E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9659481049 +Rate of Right Ascen(r/s): -0.7617927622E-008 +SQRT(A) (m 1/2): 5153.552246 +Right Ascen at Week(rad): -0.3041161060E+001 +Argument of Perigee(rad): 3.132017612 +Mean Anom(rad): -0.7284854650E+000 +Af0(s): 0.3280639648E-003 +Af1(s/s): -0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-24 ******** +ID: 24 +Health: 000 +Eccentricity: 0.5812168121E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9482955933 +Rate of Right Ascen(r/s): -0.8105416782E-008 +SQRT(A) (m 1/2): 5153.667969 +Right Ascen at Week(rad): 0.1189983010E+001 +Argument of Perigee(rad): -0.316323280 +Mean Anom(rad): -0.1381778479E+001 +Af0(s): 0.3623962402E-003 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-25 ******** +ID: 25 +Health: 000 +Eccentricity: 0.4076957703E-003 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9624557495 +Rate of Right Ascen(r/s): -0.8243659977E-008 +SQRT(A) (m 1/2): 5153.650391 +Right Ascen at Week(rad): -0.9712693691E+000 +Argument of Perigee(rad): 1.297474384 +Mean Anom(rad): 0.1720767617E+001 +Af0(s): -0.6675720215E-004 +Af1(s/s): 0.0000000000E+000 +week: 597 + +******** Week 597 almanac for PRN-26 ******** +ID: 26 +Health: 000 +Eccentricity: 0.2016544342E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9888095856 +Rate of Right Ascen(r/s): -0.7406924851E-008 +SQRT(A) (m 1/2): 5153.605957 +Right Ascen at Week(rad): -0.2978660703E+001 +Argument of Perigee(rad): 1.120540023 +Mean Anom(rad): -0.1020791531E+001 +Af0(s): -0.1125335693E-003 +Af1(s/s): -0.1091393642E-010 +week: 597 + +******** Week 597 almanac for PRN-27 ******** +ID: 27 +Health: 000 +Eccentricity: 0.2185153961E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9802589417 +Rate of Right Ascen(r/s): -0.7807102520E-008 +SQRT(A) (m 1/2): 5153.675293 +Right Ascen at Week(rad): -0.2052826166E+001 +Argument of Perigee(rad): -1.300917625 +Mean Anom(rad): 0.2404415607E-001 +Af0(s): 0.2336502075E-003 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-28 ******** +ID: 28 +Health: 000 +Eccentricity: 0.1689338684E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9730854034 +Rate of Right Ascen(r/s): -0.8061761037E-008 +SQRT(A) (m 1/2): 5153.640137 +Right Ascen at Week(rad): -0.9176422358E+000 +Argument of Perigee(rad): -1.912107825 +Mean Anom(rad): 0.1091202974E+001 +Af0(s): 0.1811981201E-004 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-29 ******** +ID: 29 +Health: 000 +Eccentricity: 0.2589225769E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9617900848 +Rate of Right Ascen(r/s): -0.7643393474E-008 +SQRT(A) (m 1/2): 5153.541504 +Right Ascen at Week(rad): 0.1259350777E+000 +Argument of Perigee(rad): -1.265166402 +Mean Anom(rad): -0.3030455470E+001 +Af0(s): 0.1831054688E-003 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-30 ******** +ID: 30 +Health: 000 +Eccentricity: 0.1256990433E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9590644836 +Rate of Right Ascen(r/s): -0.8283677744E-008 +SQRT(A) (m 1/2): 5153.583496 +Right Ascen at Week(rad): -0.1000101924E+001 +Argument of Perigee(rad): 1.516665459 +Mean Anom(rad): 0.1851544380E+000 +Af0(s): 0.3185272217E-003 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-31 ******** +ID: 31 +Health: 000 +Eccentricity: 0.7886409760E-002 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9788265228 +Rate of Right Ascen(r/s): -0.7894414011E-008 +SQRT(A) (m 1/2): 5153.542969 +Right Ascen at Week(rad): -0.1997130990E+001 +Argument of Perigee(rad): -1.004593015 +Mean Anom(rad): -0.2415897250E+001 +Af0(s): 0.3719329834E-004 +Af1(s/s): 0.3637978807E-011 +week: 597 + +******** Week 597 almanac for PRN-32 ******** +ID: 32 +Health: 000 +Eccentricity: 0.1230239868E-001 +Time of Applicability(s): 405504.0000 +Orbital Inclination(rad): 0.9559059143 +Rate of Right Ascen(r/s): -0.8050847100E-008 +SQRT(A) (m 1/2): 5153.687988 +Right Ascen at Week(rad): 0.2271159649E+001 +Argument of Perigee(rad): -0.829349875 +Mean Anom(rad): -0.1660401225E+001 +Af0(s): -0.1888275146E-003 +Af1(s/s): -0.7275957614E-011 +week: 597 + diff --git a/YubeshiTest/YubeshiTest.csproj b/YubeshiTest/YubeshiTest.csproj index ed88ab9..cfb9ddb 100755 --- a/YubeshiTest/YubeshiTest.csproj +++ b/YubeshiTest/YubeshiTest.csproj @@ -58,9 +58,13 @@ + + + PreserveNewest + diff --git a/YubeshiTest/YumaAlmanacReaderTest.cs b/YubeshiTest/YumaAlmanacReaderTest.cs new file mode 100755 index 0000000..5e68f4a --- /dev/null +++ b/YubeshiTest/YumaAlmanacReaderTest.cs @@ -0,0 +1,30 @@ +/* + * Yubeshi GPS Parser + * + * This software is distributed under a zlib-style license. + * See license.txt for more information. + */ + +using System; +using System.Collections.Generic; +using System.Text; +using NUnit.Framework; +using Yubeshi; + +namespace YubeshiTest +{ + class YumaAlmanacReaderTest + { + + [Test] + public void Read() + { + YumaAlmanacReader reader = + new YumaAlmanacReader("Resources/almanac.alm"); + Almanac[] list = reader.Read(); + Assert.AreEqual(31, list.Length); + } + + + } +}