private IExtractResult ISOTAlgorithm() { int FarInfraredCH = (int)_curArguments.GetArg("FarInfrared"); double FarInfraredZoom = (double)_curArguments.GetArg("FarInfrared_Zoom"); int smaping = (int)_curArguments.GetArg("Smaping"); int tempratureMin = (int)(((int)_curArguments.GetArg("TempratureMin") + 273) * FarInfraredZoom); int tempratureMax = (int)(((int)_curArguments.GetArg("TempratureMax") + 273) * FarInfraredZoom); int interval = (int)((int)_curArguments.GetArg("IntervalMax") * FarInfraredZoom); if (FarInfraredCH == -1) { PrintInfo("获取波段序号失败,可能是波段映射表配置错误或判识算法波段参数配置错误。"); return(null); } if (_argumentProvider.DataProvider == null) { PrintInfo("获取文件错误,可能是没有打开影像文件。"); return(null); } try { string shpFile = @"C:\Users\Administrator\Desktop\1.shp"; GenerateContourLines gcl = new GenerateContourLines(_progressTracker, _contextMessage); gcl.DoGenerateContourLines(_argumentProvider.DataProvider, FarInfraredCH, _argumentProvider.AOI, interval, tempratureMin, tempratureMax, smaping, shpFile); _curArguments.SetArg("SelectedPrimaryFiles", new string[] { shpFile }); return(ThemeGraphyResult(null)); } finally { _curArguments.SetArg("SelectedPrimaryFiles", null); } }
private IExtractResult AEDGAlgorithm() { int smaping, contourValue; if (!Int32.TryParse(_argumentProvider.GetArg("Smaping").ToString(), out smaping)) { return(null); } if (!Int32.TryParse(_argumentProvider.GetArg("contourValue").ToString(), out contourValue)) { return(null); } double[] contourValues = new double[] { contourValue }; string[] files = GetStringArray("SelectedPrimaryFiles"); if (files == null || files.Length == 0) { PrintInfo("获取文件错误,可能是没有选择判识结果文件。"); return(null); } IRasterDataProvider provider = null; try { provider = GeoDataDriver.Open(files[0], enumDataProviderAccess.ReadOnly, null) as IRasterDataProvider; if (provider == null) { PrintInfo("获取文件错误,可能是系统不支持当前文件。"); return(null); } string shpFile = GenFiename(files[0]); GenerateContourLines gcl = new GenerateContourLines(_progressTracker, _contextMessage); gcl.DoGenerateContourLines(provider, 1, _argumentProvider.AOI, contourValues, smaping, shpFile); if (!File.Exists(shpFile)) { PrintInfo("生成等值线数据失败。"); return(null); } CreateLegendItems(shpFile); CreateMcd(shpFile); _argumentProvider.SetArg("SelectedPrimaryFiles", shpFile); _shpFile = shpFile; IExtractResult er = ThemeGraphyResult(null); _gxdFile = (er as FileExtractResult).FileName; AddShpToGxd(); return(er); } finally { provider.Dispose(); } }
private IExtractResult ISOTAlgorithm() { int FarInfraredCH = (int)_argumentProvider.GetArg("FarInfrared"); double FarInfraredZoom = (double)_argumentProvider.GetArg("FarInfrared_Zoom"); int smaping = (int)_argumentProvider.GetArg("Smaping"); int tempratureMin = (int)(((int)_argumentProvider.GetArg("TempratureMin") + 273) * FarInfraredZoom); int tempratureMax = (int)(((int)_argumentProvider.GetArg("TempratureMax") + 273) * FarInfraredZoom); int interval = (int)((int)_argumentProvider.GetArg("IntervalMax") * FarInfraredZoom); bool isOutputUncompleted = (bool)_argumentProvider.GetArg("IsOutputUncompleted"); string filename = _argumentProvider.GetArg("CurrentRasterFile") as string; using (IRasterDataProvider rasterProvider = RasterDataDriver.Open(filename) as IRasterDataProvider) { if (rasterProvider != null) { IBandNameRaster bandNameRaster = rasterProvider as IBandNameRaster; FarInfraredCH = TryGetBandNo(bandNameRaster, "FarInfrared"); } } if (FarInfraredCH == -1) { PrintInfo("获取波段序号失败,可能是波段映射表配置错误或判识算法波段参数配置错误。"); return(null); } if (_argumentProvider.DataProvider == null) { PrintInfo("获取文件错误,可能是没有打开影像文件。"); return(null); } try { //生成等值线shp文件 string shpFile = GenISOTFiename(filename); //bool isOutputUncompleted = true; GenerateContourLines gcl = new GenerateContourLines(_progressTracker, _contextMessage); gcl.DoGenerateContourLines(_argumentProvider.DataProvider, FarInfraredCH, _argumentProvider.AOI, interval, tempratureMin, tempratureMax, smaping, shpFile, isOutputUncompleted); if (!File.Exists(shpFile)) { PrintInfo("生成等值线数据失败。"); return(null); } //根据等值线的配色表,生成等值线shp付色方案mcd文件,_legendItems CreateLegendItems(shpFile); CreateMcd(shpFile); return(new FileExtractResult(_subProductDef.Identify, shpFile, true)); } finally { } }