Ejemplo n.º 1
0
 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();
     }
 }
Ejemplo n.º 2
0
 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);
 }