コード例 #1
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");
        }