1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Ips.Library.Entity
- {
- public class Tle
- {
- public class Enum
- {
- public enum SatClass
- {
- UNCLASSIFIED = 0, //!< int 0 unclassified satellite
- CLASSIFIED = 1, //!< int 1 classified satellite
- SECRET = 2 //!< int 2 secret satellite
- };
- }
- public string TleName { get; set; }
- public string Line1 { get; set; }
- public string Line2 { get; set; }
- public string TleText
- {
- get
- {
- return $"{TleName};{Line1};{Line2}";
- }
- }
- private string satName; /*!<Object Name Identifier*/
- private int epochYear; /*!< Epoch 2 digits StartYear (08)*/
- private double epochDay; /*!< Epoch fractional portion of the Day (264.51782528)*/
- private int satNumber; /*!< Satellite Number (25544) */
- public Tle()
- {
- }
- public Tle(string satName, int satNumber, int year, double day)
- {
- this.satName = satName;
- this.satNumber = satNumber;
- this.epochYear = year;
- this.epochDay = day;
- }
- public bool isValidData()
- {
- return true;
- }
- public string getName()
- {
- return satName;
- }
- public int getSatNumber()
- {
- return satNumber;
- }
- public DateTime getEpochTime()
- {
- int year = 0;
- if (epochYear < 57)
- year = epochYear + 2000;
- else
- year = epochYear + 1900;
- var epoch = new DateTime(year, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddDays(epochDay - 1);
- return epoch.ToLocalTime();
- }
- }
- }
|