private void TryCreate0250DefaultArgs(IRasterDataProvider srcRaster, FY3_MERSI_PrjSettings prjSettings, ref ISpatialReference dstSpatialRef) { if (prjSettings.SecondaryOrbitRaster == null && prjSettings.IsSolarZenith) { prjSettings.IsSolarZenith = false; //throw new Exception("无法获取相应1KM轨道数据文件,无法做太阳天顶角订正"); } if (dstSpatialRef == null) { dstSpatialRef = _srcSpatialRef; } if (string.IsNullOrWhiteSpace(prjSettings.OutFormat)) { prjSettings.OutFormat = "LDF"; } if (dstSpatialRef.ProjectionCoordSystem == null) { _srcImgResolution = 0.0025f; } else { _srcImgResolution = 250f; } if (prjSettings.OutResolutionX == 0 || prjSettings.OutResolutionY == 0) { if (dstSpatialRef.ProjectionCoordSystem == null) { prjSettings.OutResolutionX = 0.0025F;//地理坐标系 prjSettings.OutResolutionY = 0.0025F; } else { prjSettings.OutResolutionX = 250F;//投影坐标系 prjSettings.OutResolutionY = 250F; } } if (prjSettings.OutBandNos == null || prjSettings.OutBandNos.Length == 0) { _prjBands = OrbitBandDefCollection.MERSI_0250_OrbitDefCollecges(); } else { List <PrjBand> bands = new List <PrjBand>(); PrjBand[] defbands = OrbitBandDefCollection.MERSI_0250_OrbitDefCollecges(); foreach (int bandNo in prjSettings.OutBandNos) { bands.Add(defbands[bandNo - 1]); } _prjBands = bands.ToArray(); } }
/// <summary> /// 根据波段序号获取波段信息 /// </summary> /// <param name="bandNos">从1开始的波段号</param> /// <returns></returns> private static PrjBand[] GetPrjBandsVIRR(int[] bandNos) { PrjBand[] prjBand = OrbitBandDefCollection.VIRR_1000_OrbitDefCollecges(); List <PrjBand> bands = new List <PrjBand>(); foreach (int bandNo in bandNos) { if (bandNo <= 0 || bandNo > prjBand.Length) { continue; } bands.Add(prjBand[bandNo - 1]); } return(bands.ToArray()); }
private void TryCreateDefaultArgs(IRasterDataProvider srcRaster, FY3_MERSI_PrjSettings prjSettings, ref ISpatialReference dstSpatialRef) { if (dstSpatialRef == null) { dstSpatialRef = _srcSpatialRef; } if (string.IsNullOrWhiteSpace(prjSettings.OutFormat)) { prjSettings.OutFormat = "LDF"; } if (dstSpatialRef.ProjectionCoordSystem == null) { _srcImgResolution = 0.01F; } else { _srcImgResolution = 1000F; } if (prjSettings.OutResolutionX == 0 || prjSettings.OutResolutionY == 0) { if (dstSpatialRef.ProjectionCoordSystem == null) { prjSettings.OutResolutionX = 0.01F; prjSettings.OutResolutionY = 0.01F; } else { prjSettings.OutResolutionX = 1000F; prjSettings.OutResolutionY = 1000F; } } if (prjSettings.OutBandNos == null || prjSettings.OutBandNos.Length == 0) { _prjBands = OrbitBandDefCollection.MERSI_1000_OrbitDefCollecges(); } else { List <PrjBand> bands = new List <PrjBand>(); PrjBand[] defbands = OrbitBandDefCollection.MERSI_1000_OrbitDefCollecges(); foreach (int bandNo in prjSettings.OutBandNos) { bands.Add(defbands[bandNo - 1]); } _prjBands = bands.ToArray(); } }
public static PrjBand[] GetDefaultBandTable(string satelite, string sensor, string resolution) { if (sensor == "VIRR") { return(OrbitBandDefCollection.GetOrbitBandDefCollection("FY3A", "VIRR", 0.01f)); } else if (sensor == "MERSI" && resolution == "0250M") { return(OrbitBandDefCollection.GetOrbitBandDefCollection("FY3A", "MERSI", 0.0025f)); } else if (sensor == "MERSI" && resolution == "1000M") { return(OrbitBandDefCollection.GetOrbitBandDefCollection("FY3A", "MERSI", 0.01f)); } else if (satelite == "FY1D" && sensor == "AVHRR") { return(OrbitBandDefCollection.GetOrbitBandDefCollection("FY1D", "AVHRR", 0.04f)); } else if (satelite == "NOAA" || sensor == "AVHRR") { return(OrbitBandDefCollection.GetOrbitBandDefCollection("NOAA", "AVHRR", 0.01f)); } else if ((satelite == "EOS" || sensor == "MODIS") && resolution == "0250M") { return(OrbitBandDefCollection.GetOrbitBandDefCollection("EOS", "MODIS", 0.0025f)); } else if ((satelite == "EOS" || sensor == "MODIS") && resolution == "0500M") { return(OrbitBandDefCollection.GetOrbitBandDefCollection("EOS", "MODIS", 0.005f)); } else if (satelite == "EOS" || sensor == "MODIS") { return(OrbitBandDefCollection.GetOrbitBandDefCollection("EOS", "MODIS", 0.01f)); } else if (satelite == "FY2" || sensor == "VISSR") { return(OrbitBandDefCollection.GetOrbitBandDefCollection("FY2", "VISSR", 0.05f)); } return(null); }