/// <summary>
        /// 根据波段中心波长获取波段号(如果不存在则返回-1)
        /// </summary>
        /// <param name="info"></param>
        /// <param name="waveLength"></param>
        /// <returns></returns>
        public int TryGetBandNum(RasterDatasetInfo info, double waveLength)
        {
            int num = -1;

            if (info != null)
            {
                Dictionary <int, double> bandInfoDic = new Dictionary <int, double>();
                for (int i = 0; i < info.BandCol.Count; i++)
                {
                    var bandInfo = info.BandCol[i];
                    if (!string.IsNullOrEmpty(bandInfo.middleWaveLength))
                    {
                        bandInfoDic.Add(Convert.ToInt32(bandInfo.id),
                                        Math.Abs(Convert.ToDouble(bandInfo.middleWaveLength) - waveLength));
                    }
                }

                if (bandInfoDic.Count > 1)
                {
                    num = bandInfoDic.OrderBy(t => t.Value).First().Key;
                }
            }

            return(num);
        }
        private void LoadConfigInfo(string workPath)
        {
            try
            {
                workpath = workPath;
                string rasterSourceTypesConfigPath =
                    Path.Combine(workPath, "Config", "RasterSourceTypesConfig.xml");
                if (File.Exists(rasterSourceTypesConfigPath))
                {
                    XmlDocument xmlDoc = mXMLHelper.GetXmlDocument(rasterSourceTypesConfigPath);
                    XmlNode     xn     = xmlDoc.SelectSingleNode("RasterSourceTypes");
                    RasterSourceTypesInfo = new RasterSourceTypesInfo(xn as XmlElement);
                }

                string rasterDatasetsConfigPath = Path.Combine(workPath, "Config", "RasterDatasetsConfig.xml");
                if (File.Exists(rasterDatasetsConfigPath))
                {
                    XmlDocument xmlDoc = mXMLHelper.GetXmlDocument(rasterDatasetsConfigPath);
                    XmlNode     xn     = xmlDoc.SelectSingleNode("RasterDatasets");
                    XmlNodeList xnl    = xn.ChildNodes;
                    RasterDatasetInfoCol = new List <RasterDatasetInfo>();
                    foreach (XmlNode xnode in xnl)
                    {
                        XmlElement        xe = (XmlElement)xnode;
                        RasterDatasetInfo rasterDatasetInfo = new RasterDatasetInfo(xe);
                        RasterDatasetInfoCol.Add(rasterDatasetInfo);
                    }
                }

                string identifyListsConfigPath = Path.Combine(workPath, "Config", "IdentifyListsConfig.xml");
                if (File.Exists(identifyListsConfigPath))
                {
                    XmlDocument xmlDoc = mXMLHelper.GetXmlDocument(identifyListsConfigPath);
                    XmlNode     xn     = xmlDoc.SelectSingleNode("Config");
                    XmlNodeList xnl    = xn.ChildNodes;
                    IdentifysDic = new Dictionary <string, string>();
                    foreach (XmlNode xnode in xnl)
                    {
                        XmlElement xe = (XmlElement)xnode;
                        IdentifysDic.Add(xe.Name.ToString(), xe.GetAttribute("identify").ToString());
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
        /// <summary>
        /// 根据波段类型获取波段号(如果不存在则返回-1)
        /// </summary>
        /// <param name="info"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public int TryGetBandNum(RasterDatasetInfo info, string name)
        {
            int num = -1;

            for (int i = 0; i < info.BandCol.Count; i++)
            {
                var bandInfo = info.BandCol[i];

                if (!string.IsNullOrEmpty(bandInfo.bandName))
                {
                    if (name == bandInfo.bandName)
                    {
                        num = Convert.ToInt32(bandInfo.id);
                        return(num);
                    }
                }
            }

            return(num);
        }