Exemplo n.º 1
0
        /// <summary>
        /// udb中导入tiff
        /// </summary>
        /// <param name="importPath"></param>
        public string  ImportTIFF(string importPath, DatasourceConnectionInfo info)
        {
            try
            {
                string name = importPath.Substring(importPath.LastIndexOf("\\") + 1);

                // 1. 构建数据源连接对象。
                //DatasourceConnectionInfo info = new DatasourceConnectionInfo();
                //info.Server = sourceUDB;
                // 2. 构建SHP导入设置对象(ImportSettingSHP),设置数据源,设置导入数据路径。
                //info.Password = "******";
                ImportSettingTIF importSettingTIF = new ImportSettingTIF();
                //m_workspace.Datasources.Open(info);
                importSettingTIF.ImportMode = ImportMode.Overwrite;//可复写
                importSettingTIF.SourceFilePath = importPath;
                importSettingTIF.TargetDatasourceConnectionInfo = info;
                importSettingTIF.ImportingAsGrid = true;//栅格数据集形式
                // 3. 获取导入设置对象的导入信息集合(ImportDataInfos),设置目标数据集的名字。
                // ImportDataInfo dataInfos = importSettingSHP.GetTargetDataInfos("");
                //importSettingSHP.SetTargetDataInfos(dataInfos);
                // 4. 构建数据导入类对象(DataImport),构建并设置导入设置对象集合。
                //string prjRef = @"G:\移动风险监测\参考坐标\CGCS_2000.xml";
                PrjCoordSys prj = new PrjCoordSys();
                // prj.FromFile(prjRef, PrjFileType.SuperMap);
                prj.Type = PrjCoordSysType.SphereMercator;
                importSettingTIF.TargetPrjCoordSys = prj;//设置了参考投影,还需改变其投影转换
                DataImport import1 = new DataImport();
                ImportSettings settings = import1.ImportSettings;
                settings.Add(importSettingTIF);
                ImportResult dd= import1.Run();
                i++;
                if (dd.FailedSettings.Length != 0)
                    return "【tif数据导入】" + name + "导入失败!请检查数据是否有效。\t\n";
                return null;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return null;
            }
        }
Exemplo n.º 2
0
 public void ImportTIFFTest(string importPath, string sourceUDB)
 {
     try
     {
         // 1. 构建数据源连接对象。
         DatasourceConnectionInfo info = new DatasourceConnectionInfo();
         info.Server = sourceUDB;
         WorkspaceConnectionInfo ConnectionInfo = new WorkspaceConnectionInfo(sourceUDB);
         SuperMap.Data.Workspace wps = new SuperMap.Data.Workspace();
         wps.Create(ConnectionInfo);
         Datasources ds = wps.Datasources;
         //ds.Open(info);
         Datasource dss = ds.Create(info); // new Datasource();
         //dss.Connect();
         // 2. 构建SHP导入设置对象(ImportSettingSHP),设置数据源,设置导入数据路径。
         ImportSettingTIF importSettingTIF = new ImportSettingTIF();
         importSettingTIF.ImportMode = ImportMode.Overwrite;//可复写
         importSettingTIF.SourceFilePath = importPath;
         importSettingTIF.TargetDatasourceConnectionInfo = info;
         importSettingTIF.ImportingAsGrid = true;//栅格数据集形式
         // 3. 获取导入设置对象的导入信息集合(ImportDataInfos),设置目标数据集的名字。
         // ImportDataInfo dataInfos = importSettingSHP.GetTargetDataInfos("");
         //importSettingSHP.SetTargetDataInfos(dataInfos);
         // 4. 构建数据导入类对象(DataImport),构建并设置导入设置对象集合。
         PrjCoordSys prj = new PrjCoordSys();
         prj.Type = PrjCoordSysType.SphereMercator;
         importSettingTIF.TargetPrjCoordSys = prj;//设置了参考投影,还需改变其投影转换
         //prj.GeoCoordSys.FromXML(readXML())
         DataImport import1 = new DataImport();
         ImportSettings settings = import1.ImportSettings;
         settings.Add(importSettingTIF);
         import1.Run();
         try
         {
             int m = importPath.LastIndexOf('\\');
             string dsName = importPath.Substring(m + 1);
             int n = dsName.LastIndexOf('.');
             string dsname = dsName.Substring(0, n);
             Datasets datasets = dss.Datasets;
             Dataset m_processDataset = datasets[dsname];
             PrjCoordSys prj1 = new PrjCoordSys();
             prj1.FromXML(readXML(@"G:\移动风险监测\参考坐标\CGCS_2000.xml"));
             Boolean result = CoordSysTranslator.Convert(m_processDataset, prj1, new CoordSysTransParameter(), CoordSysTransMethod.GeocentricTranslation);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
         i++;
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemplo n.º 3
0
        public override void Run()
        {
            try
            {
                ////  WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"D:\Program Files (x86)\SuperMap\SuperMap iDesktop 7C\SampleData\World\World.smwu");
                //  WorkspaceControl workspaceControl
                //      = SuperMap.Desktop.Application.ActiveApplication.MainForm.DockBarManager[typeof(WorkspaceControlManager)].Control as WorkspaceControl;
                //  if (workspaceControl != null)
                //  {
                //      workspaceControl.ResourcesNodeVisible = false;
                //      workspaceControl.LayoutsNodeVisible = false;
                //      //workspaceControl.WorkspaceTree.Workspace.Open(conInfo);
                //     WorkspaceConnectionInfo conInfo1 = new WorkspaceConnectionInfo(@"..\..\Default.smwu");

                //      //workspaceControl.WorkspaceTree.Workspace.Create(conInfo1);
                //      //workspaceControl.WorkspaceTree.Workspace.Close();
                //      //workspaceControl.WorkspaceTree.Workspace.Dispose();
                //      bool dd= workspaceControl.WorkspaceTree.Workspace.Open(conInfo1);
                //      workspaceControl.WorkspaceTree.Workspace.Datasources.Create()
                //      //workspaceControl.Update();
                //      //workspaceControl.WorkspaceTree.WorkspaceNode.Nodes.Add("dafsaf");
                //     // workspaceControl.WorkspaceTree.Update();
                //  }

                // System.Windows.Forms.MessageBox.Show("LoadImageCtrlAction");
                //IFormMap activeMapForm = Application.ActiveForm as IFormMap;
                //MapControl activeMap = activeMapForm.MapControl;

                //IFormManager dd=  Application.ActiveApplication.MainForm.FormManager;
                //for (int i = 0; i < dd.Count; i++)
                //{

                //}


                WorkspaceControl workspaceControl = SuperMap.Desktop.Application.ActiveApplication.MainForm.DockBarManager[typeof(WorkspaceControlManager)].Control as WorkspaceControl;
                Datasource       targetDatasource;

                DatasourceConnectionInfo dataSourceConnectionInfo = new DatasourceConnectionInfo();
                dataSourceConnectionInfo.Server = @"..\..\Default";

                if (workspaceControl != null)
                {
                    workspaceControl.ResourcesNodeVisible = false;
                    workspaceControl.LayoutsNodeVisible   = false;


                    Form1 form1 = new Form1();
                    form1.Show();

                    try {
                        bool isExist = workspaceControl.WorkspaceTree.Workspace.Datasources.Contains(dataSourceConnectionInfo.Alias);
                        if (isExist)
                        {
                            targetDatasource = workspaceControl.WorkspaceTree.Workspace.Datasources[dataSourceConnectionInfo.Alias];
                        }
                        else
                        {
                            targetDatasource = workspaceControl.WorkspaceTree.Workspace.Datasources.Open(dataSourceConnectionInfo);
                        }
                    }
                    catch (Exception ex1)
                    {
                        targetDatasource = workspaceControl.WorkspaceTree.Workspace.Datasources.Create(dataSourceConnectionInfo);
                    }

                    OpenFileDialog ofd = new OpenFileDialog();
                    ofd.Filter          = "影像文件(*.tif)|*.*";
                    ofd.ValidateNames   = true;
                    ofd.CheckPathExists = true;
                    ofd.CheckFileExists = true;
                    ofd.ShowHelp        = true;
                    //ofd.HelpRequest += ofd_HelpRequest;
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        string strFileName = ofd.FileName;
                        //其他代码



                        DataImport m_dataImport = new DataImport();
                        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;


                        ImportSettingTIF importSetingTif = new ImportSettingTIF();

                        importSetingTif.ImportMode     = ImportMode.Overwrite;
                        importSetingTif.SourceFilePath = strFileName;
                        PrjCoordSys prgCoord = importSetingTif.GetSourcePrjCoordSys();
                        Charset     pCharset = importSetingTif.SourceFileCharset;


                        ImportDataInfos importDataInfoTif = importSetingTif.GetTargetDataInfos("");

                        importSetingTif.SetTargetDataInfos(importDataInfoTif);

                        //ImportDataInfoTIF importDataInfoTif1 = null;

                        importSetingTif.TargetDatasource = targetDatasource;

                        m_dataImport.ImportSettings.Add(importSetingTif);



                        m_dataImport.Run();
                    }
                }
            }
            catch (Exception ex)
            {
                SuperMap.Desktop.Application.ActiveApplication.Output.Output(ex.StackTrace);
            }
        }