//通过实时判识结果获取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("能见度计算完成!"); }
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"); }
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); }
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); }