示例#1
0
        public void GeoToLeo()
        {
            var passRequest = new SatelliteAccessPassData <IVerifiable>
            {
                Start = new DateTime(2014, 8, 19, 0, 0, 0, DateTimeKind.Utc),
                Stop  = new DateTime(2014, 8, 19, 12, 0, 0, DateTimeKind.Utc)
            };
            var fromObjectPath = new Sgp4RouteData
            {
                Start          = new DateTime(2014, 8, 19, 0, 0, 0, DateTimeKind.Utc),
                Stop           = new DateTime(2014, 8, 19, 12, 0, 0, DateTimeKind.Utc),
                SSC            = 19548,
                OutputSettings =
                {
                    TimeFormat = TimeRepresentation.UTC
                }
            };

            passRequest.FromObjectPath = fromObjectPath;
            passRequest.SSCs.Add(25544); // the International Space Station
            passRequest.FromObjectDark  = false;
            passRequest.ToObjectLit     = true;
            passRequest.UseMinElevation = false;
            passRequest.LineOfSight     = true;
            passRequest.IncludePathCzml = true;
            passRequest.Verify();

            // call the service
            var passResults = AccessServices.GetSatellitePasses <SatellitePassResults <ServiceCartographicWithTime> >
                                  (passRequest).Result;

            Assert.That(passResults.Passes.Count == 13);
            // First Pass
            Assert.AreEqual(7.285152814472, passResults.Passes[0].MaxMagnitude, 1e-12);
            Assert.AreEqual(-80.727902792933861, passResults.Passes[0].MaximumElevationData.Elevation, 1e-15);
            Assert.AreEqual("2014-08-19T00:10:47.7098365Z", passResults.Passes[0].AccessStart);
            Assert.AreEqual("2014-08-19T00:28:20.1973285Z", passResults.Passes[0].AccessStop);
            // Second Pass
            Assert.AreEqual(4.137398061182, passResults.Passes[12].MaxMagnitude, 1e-12);
            Assert.AreEqual(-80.7507306151, passResults.Passes[12].MaximumElevationData.Elevation, 1e-10);
            Assert.AreEqual("2014-08-19T11:54:24.1844298Z", passResults.Passes[12].AccessStart);
            Assert.AreEqual("2014-08-19T12:00:00.0000000Z", passResults.Passes[12].AccessStop);
        }
        public void SensorFor_Noaa16ToIss()
        {
            var sensorForRequest = new SensorForAccessData <IVerifiable>()
            {
                Start = new DateTime(2014, 2, 20, 0, 0, 0, DateTimeKind.Utc),
                Stop  = new DateTime(2014, 2, 21, 0, 0, 0, DateTimeKind.Utc)
            };
            var toObjectPath = new Sgp4RouteData()
            {
                Start          = new DateTime(2014, 2, 20, 0, 0, 0, DateTimeKind.Utc),
                Stop           = new DateTime(2014, 2, 21, 0, 0, 0, DateTimeKind.Utc),
                SSC            = 25544,
                OutputSettings =
                {
                    Step             =                      2,
                    TimeFormat       = TimeRepresentation.UTC,
                    CoordinateFormat = { Coord = CoordinateRepresentation.LLA }
                }
            };
            var fromObjectCatalogPath = new CatalogRouteData()
            {
                Start          = new DateTime(2014, 2, 20, 0, 0, 0, DateTimeKind.Utc),
                Stop           = new DateTime(2014, 2, 21, 0, 0, 0, DateTimeKind.Utc),
                URI            = "https://sdf10.agi.com/SocSearch/catalogs/spacecraft/items/bald7veoYUqyISdiy-KK6w/definition",
                OutputSettings =
                {
                    Step             =                      2,
                    TimeFormat       = TimeRepresentation.UTC,
                    CoordinateFormat = { Coord = CoordinateRepresentation.LLA }
                }
            };

            sensorForRequest.FromObjectCatalogPath = fromObjectCatalogPath;
            sensorForRequest.ToObjectPath          = toObjectPath;
            sensorForRequest.SensorNameContains    = "Noaa19_Avhrr3";
            sensorForRequest.Sunlit      = false;
            sensorForRequest.IncludePath = false;
            sensorForRequest.Verify();

            // call the service
            //var forAccessResults = AccessServices.GetSensorForAccess<>(sensorForRequest).Result;
            //Assert.That(forAccessResults..);
        }
示例#3
0
        public void IssForThirtyMinutes()
        {
            var overflightInput = new OverflightAccessData <IVerifiable> {
                IncludePath = true
            };
            var path = new Sgp4RouteData
            {
                Start          = DateTimeOffset.Parse("2014-02-10T00:00:00Z"),
                Stop           = DateTimeOffset.Parse("2014-02-10T00:30:00Z"),
                SSC            = 25544,
                OutputSettings =
                {
                    Step             =                          300,
                    TimeFormat       = TimeRepresentation.UTC,
                    CoordinateFormat = { Coord = CoordinateRepresentation.XYZ,Frame            = FrameRepresentation.Fixed }
                }
            };

            overflightInput.Path = path;

            var result = OverflightServices.GetRegionalOverflight <ServiceCartesianWithTime>(overflightInput).Result;

            Assert.That(result != null);
            Assert.AreEqual(15, result.Count);
            Assert.AreEqual("USA", result[0].CountryId);
            Assert.AreEqual("United States", result[0].Name);
            Assert.AreEqual(451211.62334118644, result[0].Entry.Position.X);
            Assert.AreEqual(-5040730.1564817084, result[0].Entry.Position.Y);
            Assert.AreEqual(4522633.5835356982, result[0].Entry.Position.Z);
            Assert.AreEqual("2014-02-10T00:00:00", result[0].Entry.Time.ToString("s"));
            Assert.AreEqual(1, result[0].Path.Count);

            Assert.AreEqual("ETH", result[14].CountryId);
            Assert.AreEqual("Ethiopia", result[14].Name);
            Assert.AreEqual(5250413.7026270721, result[14].Exit.Position.X);
            Assert.AreEqual(4282717.8522880469, result[14].Exit.Position.Y);
            Assert.AreEqual(485537.05931469012, result[14].Exit.Position.Z);
            Assert.AreEqual("2014-02-10T00:30:00", result[14].Exit.Time.ToString("s"));
            Assert.AreEqual(1, result[14].Path.Count);
        }