コード例 #1
0
ファイル: Form1.cs プロジェクト: configare/hispeed
        //通过实时判识结果获取AOI
        private void 能见度计算_Click(object sender, EventArgs e)
        {
            InitExIdentify();
            _exAlg.CustomIdentify = "陆地";
            _exAlg.Satellite      = "FY3A";
            _exAlg.Sensor         = "VIRR";
            AlgorithmDef        alg = _sub.GetAlgorithmDefByIdentify("FY3Land");
            IArgumentProvider   arg = MonitoringThemeFactory.GetArgumentProvider(_exPro, _exAlg);
            IRasterDataProvider prd = GetRasterDataProviderVIRR();

            arg.DataProvider = prd;
            arg.AOI          = GetAOI(prd, true);
            arg.SetArg("FY3Land", alg);
            SubProductBinaryDst bin    = new SubProductBinaryDst(_sub);
            IPixelIndexMapper   result = bin.Make(null) as IPixelIndexMapper;

            int[] indxs = result.Indexes.ToArray();

            _exPro.SubProductIdentify = "VISY";
            _sub = _pro.GetSubProductDefByIdentify("VISY");
            _exAlg.CustomIdentify = null;
            AlgorithmDef      visiAlg = _sub.GetAlgorithmDefByIdentify("Visibility");
            IArgumentProvider visiArg = MonitoringThemeFactory.GetArgumentProvider(_exPro, _exAlg);

            visiArg.DataProvider = prd;
            visiArg.AOI          = indxs;
            visiArg.SetArg("Visibility", visiAlg);
            SubProductRasterDst          raster       = new SubProductRasterDst(_sub);
            IPixelFeatureMapper <UInt16> rasterResult = raster.Make(null) as IPixelFeatureMapper <UInt16>;

            //
            RasterIdentify id = new RasterIdentify();

            id.ThemeIdentify      = "CMA";
            id.ProductIdentify    = "SAND";
            id.SubProductIdentify = "VISIBILITY";
            id.Satellite          = "FY3A";
            id.Sensor             = "VIRRX";
            id.Resolution         = "1000M";
            id.OrbitDateTime      = DateTime.Now.Subtract(new TimeSpan(1, 0, 0, 0, 0));
            id.GenerateDateTime   = DateTime.Now;
            IInterestedRaster <UInt16> iir = new InterestedRaster <UInt16>(id, new Size(prd.Width, prd.Height), prd.CoordEnvelope.Clone());

            iir.Put(rasterResult);
            iir.Dispose();

            MessageBox.Show("能见度计算完成!");
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: configare/hispeed
        private void FY3陆地_Click(object sender, EventArgs e)
        {
            InitExIdentify();
            _exAlg.CustomIdentify = "陆地";
            _exAlg.Satellite      = "FY3A";
            _exAlg.Sensor         = "VIRR";

            AlgorithmDef        alg = _sub.GetAlgorithmDefByIdentify("FY3Land");
            IArgumentProvider   arg = MonitoringThemeFactory.GetArgumentProvider(_exPro, _exAlg);
            IRasterDataProvider prd = GetRasterDataProviderVIRR();
            // arg.DataProvider = prd;
            //arg.AOI = ApplyAOI(prd, true);
            // arg.SetArg("AlgorithmName","FY3Land");
            SubProductBinaryDst bin = new SubProductBinaryDst(_sub);

            bin.ResetArgumentProvider("FY3Land", prd.DataIdentify.Satellite, prd.DataIdentify.Sensor, "陆地");
            bin.ArgumentProvider.DataProvider = prd;
            bin.ArgumentProvider.SetArg("AlgorithmName", "FY3Land");
            IPixelIndexMapper result = bin.Make(null) as IPixelIndexMapper;

            string saveName = @"E:\沙尘判识VIRR.png";

            CreatBitmap(prd, result.Indexes.ToArray(), saveName);

            RasterIdentify id = new RasterIdentify();

            id.ThemeIdentify      = "CMA";
            id.ProductIdentify    = "DST";
            id.SubProductIdentify = "2VAL";
            id.Satellite          = "FY3A";
            id.Sensor             = "VIRR";
            id.Resolution         = "1000M";
            id.OrbitDateTime      = DateTime.Now.Subtract(new TimeSpan(1, 0, 0, 0, 0));
            id.GenerateDateTime   = DateTime.Now;
            IInterestedRaster <UInt16> iir = new InterestedRaster <UInt16>(id, new Size(prd.Width, prd.Height), prd.CoordEnvelope.Clone());

            iir.Put(result.Indexes.ToArray(), 1);
            iir.Dispose();

            MessageBox.Show("判识完成,输出文件:E:\\data\\dst\\output\\沙尘判识VIRR.png");
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: configare/hispeed
        private void NOAA18海洋_Click(object sender, EventArgs e)
        {
            InitExIdentify();
            _exAlg.CustomIdentify = "海洋";
            _exAlg.Satellite      = "NOAA18";
            _exAlg.Sensor         = "AVHRR";

            AlgorithmDef        alg = _sub.GetAlgorithmDefByIdentify("NOAA18Sea");
            IArgumentProvider   arg = MonitoringThemeFactory.GetArgumentProvider(_exPro, _exAlg);
            IRasterDataProvider prd = GetRasterDataProviderNOAA18();

            arg.DataProvider = prd;
            arg.AOI          = GetAOI(prd, false);
            arg.SetArg("NOAA18Sea", alg);
            SubProductBinaryDst bin = new SubProductBinaryDst(_sub);

            IPixelIndexMapper result   = bin.Make(null) as IPixelIndexMapper;
            string            saveName = @"E:\data\dst\output\3sandNoaa18Sea.png";

            CreatBitmap(prd, result.Indexes.ToArray(), saveName);
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: configare/hispeed
        private void MODIS陆地_Click(object sender, EventArgs e)
        {
            InitExIdentify();
            _exAlg.CustomIdentify = "陆地";
            _exAlg.Satellite      = "EOST";
            _exAlg.Sensor         = "MODIS";

            AlgorithmDef        alg = _sub.GetAlgorithmDefByIdentify("EOSLand");
            IArgumentProvider   arg = MonitoringThemeFactory.GetArgumentProvider(_exPro, _exAlg);
            IRasterDataProvider prd = GetRasterDataProviderMODIS();

            arg.DataProvider = prd;
            arg.AOI          = GetAOI(prd, true);
            arg.SetArg("EOSLand", alg);
            SubProductBinaryDst bin = new SubProductBinaryDst(_sub);

            IPixelIndexMapper result   = bin.Make(null) as IPixelIndexMapper;
            string            saveName = @"E:\data\dst\output\2sandEOSland.png";

            CreatBitmap(prd, result.Indexes.ToArray(), saveName);
        }