Esempio n. 1
0
 public void AddImage(Boolean isWithStyle)
 {
     try
     {
         DatasetImage dataset = m_datasource.Datasets[m_datasetImage] as DatasetImage;
         //设置风格并添加数据集
         Layer layer = null;
         if (isWithStyle)
         {
             LayerSettingImage setting = new LayerSettingImage();
             setting.OpaqueRate = 50;
             layer = m_mapControl.Map.Layers.Add(dataset, setting, true);
         }
         else
         {
             layer = m_mapControl.Map.Layers.Add(dataset, true);
         }
         //全幅显示添加的图层
         m_mapControl.Map.EnsureVisible(layer);
         m_mapControl.Map.Refresh();
     }
     catch (Exception ex)
     {
         Trace.WriteLine(ex.Message);
     }
 }
        /// <summary>
        /// 导入为Img
        /// Import as Img
        /// </summary>
        public void ImportToImg()
        {
            try
            {
                m_dataImport.ImportSettings.Clear();

                ImportSettingIMG imgSetting = new ImportSettingIMG();
                imgSetting.ImportMode          = ImportMode.Overwrite;
                imgSetting.SourceFilePath      = @"..\..\SampleData\DataExchange\ImgImport\Multibands.img";
                imgSetting.TargetDatasource    = m_desDatasource;
                imgSetting.MultiBandImportMode = MultiBandImportMode.MultiBand;

                m_dataImport.ImportSettings.Add(imgSetting);
                m_dataImport.Run();

                DatasetImage      importResult = m_desDatasource.Datasets["Multibands"] as DatasetImage;
                LayerSettingImage layerSetting = new LayerSettingImage();
                layerSetting.DisplayBandIndexes = new Int32[] { 3, 2, 1 };
                layerSetting.DisplayColorSpace  = ColorSpaceType.RGB;

                m_mapControl.Map.Layers.Clear();
                m_mapControl.Map.Layers.Add(importResult, layerSetting, true);
                m_mapControl.Map.IsDynamicProjection = false;
                m_mapControl.Map.ViewEntire();
                m_mapControl.Map.Refresh();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }