private void TryCreate0250DefaultArgs(AbstractWarpDataset srcRaster, FY3_MERSI_PrjSettings prjSettings, ref SpatialReference 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.IsGeographic() == 1) { _srcImgResolution = 0.0025f; } else { _srcImgResolution = 250f; } if (prjSettings.OutResolutionX == 0 || prjSettings.OutResolutionY == 0) { if (dstSpatialRef.IsGeographic() == 1) { prjSettings.OutResolutionX = 0.0025F;//地理坐标系 prjSettings.OutResolutionY = 0.0025F; } else { prjSettings.OutResolutionX = 250F;//投影坐标系 prjSettings.OutResolutionY = 250F; } } if (prjSettings.OutBandNos == null || prjSettings.OutBandNos.Length == 0) { _prjBands = BandDefCollection.MERSI2_0250_OrbitDefCollecges(); } else { List <PrjBand> bands = new List <PrjBand>(); PrjBand[] defbands = BandDefCollection.MERSI2_0250_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 == "MERSI" && satelite == "FY3D") { if (resolution == "0250M") { return(BandDefCollection.MERSI2_0250_OrbitDefCollecges()); } if (resolution == "1000M") { return(BandDefCollection.MERSI2_1000_OrbitDefCollecges()); } } if (sensor == "VIRR") { return(BandDefCollection.GetOrbitBandDefCollection("FY3A", "VIRR", 0.01f)); } else if (sensor == "MERSI" && resolution == "0250M") { return(BandDefCollection.GetOrbitBandDefCollection("FY3A", "MERSI", 0.0025f)); } else if (sensor == "MERSI" && resolution == "1000M") { return(BandDefCollection.GetOrbitBandDefCollection("FY3A", "MERSI", 0.01f)); } else if (satelite == "FY1D" && sensor == "AVHRR") { return(BandDefCollection.GetOrbitBandDefCollection("FY1D", "AVHRR", 0.04f)); } else if (satelite == "NOAA" || sensor == "AVHRR") { return(BandDefCollection.GetOrbitBandDefCollection("NOAA", "AVHRR", 0.01f)); } else if ((satelite == "EOS" || sensor == "MODIS") && resolution == "0250M") { return(BandDefCollection.GetOrbitBandDefCollection("EOS", "MODIS", 0.0025f)); } else if ((satelite == "EOS" || sensor == "MODIS") && resolution == "0500M") { return(BandDefCollection.GetOrbitBandDefCollection("EOS", "MODIS", 0.005f)); } else if (satelite == "EOS" || sensor == "MODIS") { return(BandDefCollection.GetOrbitBandDefCollection("EOS", "MODIS", 0.01f)); } else if (satelite == "FY2" || sensor == "VISSR") { return(BandDefCollection.GetOrbitBandDefCollection("FY2", "VISSR", 0.05f)); } else if (satelite == "FY4A" && sensor == "AGRI") { if (resolution == "0500M") { return(BandDefCollection.GetOrbitBandDefCollection("FY4A", "AGRI", 500f)); } else if (resolution == "1000M") { return(BandDefCollection.GetOrbitBandDefCollection("FY4A", "AGRI", 1000f)); } else if (resolution == "2000M") { return(BandDefCollection.GetOrbitBandDefCollection("FY4A", "AGRI", 2000f)); } else if (resolution == "4000M") { return(BandDefCollection.GetOrbitBandDefCollection("FY4A", "AGRI", 4000f)); } } else if (satelite == "FY2G") { return(BandDefCollection.GetOrbitBandDefCollection("FY2G", "VISSR", 5000f)); } return(null); }