Exemplo n.º 1
0
        public void OpenFile()
        {
            string fname = "d:\\1110910.1a5";

            fname = @"H:\测试\测试数据\1a5\1110908.1a5";
            IRasterDataDriver driver = GeoDataDriver.GetDriverByName("NOAA_1A5") as IRasterDataDriver;

            Assert.NotNull(driver);
            //IRasterDataProvider prd = driver.Open(fname, enumDataProviderAccess.ReadOnly) as IRasterDataProvider;
            IRasterDataProvider prd = GeoDataDriver.Open(fname) as IRasterDataProvider;

            Assert.NotNull(prd);
            Console.WriteLine(prd.BandCount.ToString());
            Console.WriteLine(prd);
            //PrintHeaderInfo(prd);

            ID1A5DataProvider noaaPrd = prd as ID1A5DataProvider;

            Assert.NotNull(noaaPrd);
            D1A5Header header = noaaPrd.Header as D1A5Header;

            Assert.NotNull(header);
            Console.WriteLine(header.SatelliteIdentify);
            Console.WriteLine(header.BitErrorRatio);
            Console.WriteLine(header.DataBeginDayNums);
            Console.WriteLine(header.DataBeginMilliSecond);
        }
Exemplo n.º 2
0
        //准备[辐射定标]参数
        private void ReadyRadiationArgs(IRasterDataProvider srcRaster)
        {
            ID1A5DataProvider dp = srcRaster as ID1A5DataProvider;

            try
            {
                if (dp == null)
                {
                    throw new Exception("读取亮温计算参数失败,可能为非NOAA 1a5格式轨道数据");
                }
                //D1BDHeader
                D1A5Header header       = dp.Header;
                int        sateIdentify = (header == null ? 0 : header.SatelliteIdentify);
                CreateEvABV(sateIdentify);
                _isDay             = false;
                double[,] c        = null;
                double[,] b        = null;
                double[,] operCoef = null;
                dp.ReadVisiCoefficient(ref operCoef, ref b, ref c);
                _refSB_Coeff         = operCoef;
                double[,] evCoefOper = null;
                //dp.ReadIRCoefficient(ref evCoefOper, ref b);
                _emissive_Radiance_Coeff = evCoefOper;
            }
            catch (Exception ex)
            {
                throw new Exception("读取亮温计算参数失败", ex);
            }
        }
Exemplo n.º 3
0
        private void PrintHeaderInfo(IRasterDataProvider prd)
        {
            ID1A5DataProvider noaaPrd = prd as ID1A5DataProvider;

            Assert.NotNull(noaaPrd);
            D1A5Header header = noaaPrd.Header as D1A5Header;

            Assert.NotNull(header);

            Console.WriteLine(header.BitErrorRatio);
            Console.WriteLine(header.DataBeginDayNums);
            Console.WriteLine(header.DataBeginMilliSecond);
        }