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);
     }
 }
        //创建工作空间(超图)
        public void CreateWorkspace(string wpsPath, string sources, string symbol)
        {
            // 创建工作空间,弹出 “关于”对话框
            SuperMap.Data.Workspace workspace = new SuperMap.Data.Workspace();
            WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo();
            workspaceConnectionInfo.Type = WorkspaceType.SMWU;

            workspaceConnectionInfo.Name = "MapResult";
            workspaceConnectionInfo.Password = "******";
            String file = wpsPath;
            workspaceConnectionInfo.Server = file;

            if (workspace.Create(workspaceConnectionInfo))
            {
                //MessageBox.Show("创建工作空间成功");
                workspace.Caption = "MapResult";
                workspace.Save();
                DirectoryInfo di = new DirectoryInfo(symbol);
                foreach (FileInfo fill in di.GetFiles("*.bru"))
                {
                    File.Copy(fill.FullName, sources + "//" + fill.Name, true);
                    SymbolFillLibrary sf = workspace.Resources.FillLibrary;
                    sf.FromFile(sources + "//" + fill.Name);
                    workspace.Save();
                }
                foreach (FileInfo point in di.GetFiles("*.sym"))
                {
                    File.Copy(point.FullName, sources + "//" + point.Name, true);

                    SymbolMarkerLibrary sf = workspace.Resources.MarkerLibrary;
                    sf.FromFile(sources + "//" + point.Name);
                    workspace.Save();
                } foreach (FileInfo Line in di.GetFiles("*.lsl"))
                {
                    File.Copy(Line.FullName, sources + "//" + Line.Name, true);

                    SymbolLineLibrary sf = workspace.Resources.LineLibrary;
                    sf.FromFile(sources + "//" + Line.Name);
                    workspace.Save();
                }
                di = new DirectoryInfo(sources);
                FileInfo[] fl = di.GetFiles("*.udb");
                for (int s = 0; s < fl.Length; s++)
                {
                    DatasourceConnectionInfo ds = new DatasourceConnectionInfo();
                    ds.Alias = fl[s].Name.Substring(0, fl[s].Name.Length - 4);
                    ds.Password = "******";
                    ds.Server = sources + "\\" + fl[s].ToString();
                    //ds.Password = "******";
                    Datasource datasource = workspace.Datasources.Open(ds);
                    if (ds.Alias.Substring(0, 4) == "ymgc")
                    {
                        ProjectConverTest(@"G:\移动风险监测\参考坐标\CGCS_2000.xml", datasource);
                        System.Threading.Thread.Sleep(100);
                    }
                    //= "ymgc1";
                    if (datasource == null)
                    {
                        MessageBox.Show("打开数据源失败");
                    }
                    else
                    {
                        //MessageBox.Show(fl[s].Name+"数据源打开成功!");
                    }
                    workspace.Save();

                }
                workspace.Close();
                workspace.Dispose();
                workspaceConnectionInfo.Dispose();
            }

        }
        public void CreateWorkspace(string wpsPath, string sources, string symbol)
        {
            // 创建工作空间,弹出 “关于”对话框
            Msg("正在创建工作空间···");
            SuperMap.Data.Workspace workspace = new SuperMap.Data.Workspace();
            WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo();
            workspaceConnectionInfo.Type = WorkspaceType.SMWU;

            workspaceConnectionInfo.Name = "MapResult";
            workspaceConnectionInfo.Password = set.passWod;
            String file = wpsPath;
            workspaceConnectionInfo.Server = file;

            if (workspace.Create(workspaceConnectionInfo))
            {
                //MessageBox.Show("创建工作空间成功");
                workspace.Caption = "MapResult";
                workspace.Save();
                Msg("工作空间创建成功:" + workspace.Caption);
                //System.Threading.Thread.Sleep(500);
                Msg("正在导入符号库···");
                DirectoryInfo di = new DirectoryInfo(symbol);
                foreach (FileInfo fill in di.GetFiles("*.bru"))
                {
                    File.Copy(fill.FullName, sources + "//" + fill.Name, true);
                    SymbolFillLibrary sf = workspace.Resources.FillLibrary;
                    sf.FromFile(sources + "//" + fill.Name);
                    workspace.Save();
                }
                foreach (FileInfo point in di.GetFiles("*.sym"))
                {
                    File.Copy(point.FullName, sources + "//" + point.Name, true);

                    SymbolMarkerLibrary sf = workspace.Resources.MarkerLibrary;
                    sf.FromFile(sources + "//" + point.Name);
                    workspace.Save();
                } foreach (FileInfo Line in di.GetFiles("*.lsl"))
                {
                    File.Copy(Line.FullName, sources + "//" + Line.Name, true);

                    SymbolLineLibrary sf = workspace.Resources.LineLibrary;
                    sf.FromFile(sources + "//" + Line.Name);
                    workspace.Save();
                }
                Msg("符号库导入成功");

                System.Threading.Thread.Sleep(500);

                di = new DirectoryInfo(sources);
                FileInfo[] fl = di.GetFiles("*.udb");
                for (int s = 0; s < fl.Length; s++)
                {

                    DatasourceConnectionInfo ds = new DatasourceConnectionInfo();
                    ds.Alias = fl[s].Name.Substring(0, fl[s].Name.Length - 4);
                    Msg( "添加数据源:" + ds.Alias);
                    
                    ds.Server = sources + "\\" + fl[s].ToString();
                    ds.Password = set.passWod;
                    
                    Datasource datasource = workspace.Datasources.Open(ds);
                    if (datasource == null)
                    {
                        MessageBox.Show("打开数据源失败");
                    }
                    else
                    {
                        //MessageBox.Show(fl[s].Name+"数据源打开成功!");
                    }
                    workspace.Save();

                }
                workspace.Close();
                workspace.Dispose();
                workspaceConnectionInfo.Dispose();
            }

        }