Exemplo n.º 1
0
        //初始时默认打开指定数据
        private Boolean OpenData()
        {
            String wksPath = @"../../SampleData/Analysis3D/Analysis3D.sxwu";
            WorkspaceConnectionInfo connInfo = new WorkspaceConnectionInfo(wksPath);

            bool bOpen = workspace.Open(connInfo);

            if (!bOpen)
            {
                MessageBox.Show("打开工作空间失败!");
                return(false);
            }

            Scene scene = this.m_sceneControl.Scene;

            scene.Workspace = workspace;
            bOpen           = scene.Open("Model");
            if (!bOpen)
            {
                MessageBox.Show("打开场景失败!");
                return(false);
            }
            this.m_bWksSaved = false;

            return(true);
        }
Exemplo n.º 2
0
 private static Workspace InitWorkspace()
 {
     try
     {
         var workspace = new Workspace();
         var workspaceConnectionInfo = new WorkspaceConnectionInfo
         {
             Type     = WorkspaceType.SQL,
             Driver   = ConfigHelper.GetConfig("WorkspaceDriver"),
             Server   = ConfigHelper.GetConfig("WorkspaceServer"),
             Database = ConfigHelper.GetConfig("WorkspaceDatabase"),
             Name     = ConfigHelper.GetConfig("WorkspaceName"),
             User     = ConfigHelper.GetConfig("WorkspaceUser"),
             Password = ConfigHelper.GetConfig("WorkspacePassword")
         };
         if (workspace.Open(workspaceConnectionInfo))
         {
             return(workspace);
         }
     }
     catch (Exception ex)
     {
         Logger.Error(string.Format("打开工作空间失败:{0}", ex));
     }
     return(null);
 }
Exemplo n.º 3
0
        /// <summary>
        /// 打开文件形工作空间
        /// </summary>
        public void fileWorkSpaceOpen()
        {
            this.fileWorkspace = new SuperMap.Data.Workspace();



            try
            {
                //打开工作空间及地图文件类型
                WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"..\..\template\temp.smwu");

                fileWorkspace.Open(conInfo);
                m_srcDatasource = fileWorkspace.Datasources["temp"];
                m_sourceRegion  = m_srcDatasource.Datasets["gkfqd"] as DatasetVector;
                dataImport      = new DataImport();

                this.mapControl1.Map.Workspace = fileWorkspace;
                mapControl1.Map.Layers.Clear();
                mapControl1.Map.Layers.Add(m_sourceRegion, true);
                mapControl1.Map.ViewEntire();
                mapControl1.Map.Refresh();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 创建工作空间
        /// </summary>
        /// <param name="connectionInfo">工作空间连接信息</param>
        /// <returns>操作结果描述信息</returns>
        public String Create(WorkspaceConnectionInfo connectionInfo)
        {
            String result = String.Empty;

            try
            {
                m_workspace.Close();
                m_connectionInfo = connectionInfo;

                Boolean isSucceed = m_workspace.Create(m_connectionInfo);


                if (isSucceed)
                {
                    result  = System.Environment.NewLine;
                    result += "创建工作空间成功!";
                    result += System.Environment.NewLine;
                    result += GetWorkspaceInfomation();
                    OnCheck(false);
                }
                else
                {
                    result  = System.Environment.NewLine;
                    result += "创建工作空间失败!";
                    result += System.Environment.NewLine;
                    OnCheck(true);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(result);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 另存工作空间
        /// </summary>
        /// <param name="connectionInfo">工作空间连接信息</param>
        /// <returns>操作结果描述信息</returns>
        public String SaveAs(WorkspaceConnectionInfo connectionInfo)
        {
            String result = String.Empty;

            try
            {
                m_connectionInfo = connectionInfo;

                Boolean isSucceed = m_workspace.SaveAs(m_connectionInfo);


                if (isSucceed)
                {
                    result  = System.Environment.NewLine;
                    result += "另存工作空间成功!";
                    result += System.Environment.NewLine;
                    result += GetWorkspaceInfomation();
                    OnCheck(false);
                }
                else
                {
                    result  = System.Environment.NewLine;
                    result += "另存工作空间失败!";
                    result += System.Environment.NewLine;
                    OnCheck(false);
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
            return(result);
        }
Exemplo n.º 6
0
 private static Workspace InitWorkspace()
 {
     try
     {
         var workspace = new Workspace();
         var workspaceConnectionInfo = new WorkspaceConnectionInfo
         {
             Type = WorkspaceType.SQL,
             Driver = ConfigHelper.GetConfig("WorkspaceDriver"),
             Server = ConfigHelper.GetConfig("WorkspaceServer"),
             Database = ConfigHelper.GetConfig("WorkspaceDatabase"),
             Name = ConfigHelper.GetConfig("WorkspaceName"),
             User = ConfigHelper.GetConfig("WorkspaceUser"),
             Password = ConfigHelper.GetConfig("WorkspacePassword")
         };
         if (workspace.Open(workspaceConnectionInfo))
         {
             return workspace;
         }
     }
     catch (Exception ex)
     {
         Logger.Error(string.Format("打开工作空间失败:{0}",ex));
     }
     return null;
 }
Exemplo n.º 7
0
        /// <summary>
        /// 打开需要的工作空间文件及地图
        /// </summary>
        private void Initialize()
        {
            try
            {
                //打开工作空间及地图
                // WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"..\..\SampleData\City\Changchun.smwu");
                //WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo() { Type = WorkspaceType.Oracle, Server = "ORCL", Database = "", Name = "workspace", User = "******", Password = "******" };
                //m_workspace.Open(conInfo);
                //m_dataset = m_workspace.Datasources[0].Datasets["ClipResult"] as DatasetVector;

                //mapControl1.Map.Layers.Add(m_dataset, true);
                //mapControl1.Map.Refresh();


                Workspace x_workspace       = new Workspace();
                WorkspaceConnectionInfo wci = new WorkspaceConnectionInfo()
                {
                    Type = WorkspaceType.Oracle, Server = "ORCL", Database = "", Name = "workspace", User = "******", Password = "******"
                };
                x_workspace.Open(wci);
                importDatasource          = x_workspace.Datasources["ORCL_gkfqd"];
                importResultShp           = importDatasource.Datasets["ClipResult"] as DatasetVector;
                mapControl1.Map.Workspace = x_workspace;
                mapControl1.Map.Layers.Clear();
                mapControl1.Map.Layers.Add(importResultShp, true);
                mapControl1.Map.ViewEntire();
                mapControl1.Map.Refresh();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
Exemplo n.º 8
0
 private void toolStripOpen_Click_1(object sender, EventArgs e)
 {
     openFileDialog1.Filter = "SuperMap 工作空间文件(*.smwu)|*.smwu";
     //判断打开的结果,如果打开就执行下列操作
     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
         //避免连续打开工作空间导致程序异常
         mapControl1.Map.Close();
         workspace1.Close();
         mapControl1.Map.Refresh();
         //定义打开工作空间文件名
         String fileName = openFileDialog1.FileName;
         //打开工作空间文件
         WorkspaceConnectionInfo connectionInfo = new WorkspaceConnectionInfo(fileName);
         //打开工作空间
         workspace1.Open(connectionInfo);
         //建立MapControl与Workspace的连接
         mapControl1.Map.Workspace = workspace1;
         //判断工作空间中是否有地图
         if (workspace1.Maps.Count == 0)
         {
             MessageBox.Show("当前工作空间中不存在地图!");
             return;
         }
         //通过名称打开工作空间中的地图
         mapControl1.Map.Open("世界地图");
         //刷新地图窗口
         mapControl1.Map.Refresh();
     }
 }
        /// <summary>
        /// 打开需要的工作空间文件及地图
        /// Open the workspace and the map
        /// </summary>
        private void Initialize()
        {
            try
            {
                // 打开工作空间及地图
                // Open the workspace and the map.
                WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"../../SampleData/Topo/TopoProcessing.smwu");
                m_datasetName        = "RoadLine";
                m_createRegionName   = "LineToRegion";
                m_processDatasetName = "copyDataset";
                m_checkDataName      = "checkTopo";
                m_bufDatasetName     = "bufDataset";

                m_workspace.Open(conInfo);
                Datasets datasets = m_workspace.Datasources[0].Datasets;
                if (datasets.Contains(m_datasetName))
                {
                    this.m_mapControl.Map.Layers.Add(datasets[m_datasetName], true);
                    m_mapControl.Map.Refresh();
                    m_dataset = datasets[m_datasetName];
                }

                // 调整mapControl的状态
                // Adjust the status of mapControl
                m_mapControl.Action = SuperMap.UI.Action.Pan;

                SetOptions();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
        private void Ftp_OnCommitCompleted(object sender, System.Net.UploadFileCompletedEventArgs e)
        {
            try
            {
                m_Count++;

                if (m_Count == m_TotleCount)
                {
                    Application.ActiveApplication.Output.ClearOutput();
                    FileInfo fileinfo = new FileInfo(m_WorkspacePath);
                    Application.ActiveApplication.Output.Output("【" + fileinfo.Name.Split('.')[0] + "】工程上传完成!", InfoType.Information);
                    WorkspaceConnectionInfo info = new WorkspaceConnectionInfo()
                    {
                        Server = m_WorkspacePath,
                        Type   = (WorkspaceType)Enum.Parse(typeof(WorkspaceType), fileinfo.Name.Split('.')[1].ToUpper()),
                    };
                    if (Application.ActiveApplication.Workspace.Open(info))
                    {
                        Application.ActiveApplication.Workspace.Caption = fileinfo.Name.Split('.')[0];
                        Application.ActiveApplication.Workspace.Save();
                        Application.ActiveApplication.CreateSceneWindow(Application.ActiveApplication.Workspace.Scenes[0]);
                    }
                }
            }
            catch (Exception ex)
            {
                Log.OutputBox(ex);
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// 打开需要的工作空间文件及地图
        /// Open the workspace and the map
        /// </summary>
        private void Initialize()
        {
            try
            {
                // 打开工作空间及地图
                // Open the workspace and the map
                WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"..\..\SampleData\ThematicMaps\ThematicMaps.smwu");

                m_workspace.Open(conInfo);
                m_datasource = m_workspace.Datasources[0];

                m_dataset = m_workspace.Datasources["Thematicmaps"].Datasets["BaseMap_R"] as DatasetVector;
                if (SuperMap.Data.Environment.CurrentCulture != "zh-CN")
                {
                    m_mapControl.Map.Open("Beijing-Tianjin Area Division Map");
                }
                else
                {
                    m_mapControl.Map.Open("京津地区地图");
                }
                m_mapControl.Map.Refresh();

                // 调整mapControl的状态
                // Adjust the condition of mapControl
                m_mapControl.Action = SuperMap.UI.Action.Pan;
                m_mapControl.IsWaitCursorEnabled = false;
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
Exemplo n.º 12
0
        private void buttonItem14_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "smwu 工作空间文件(*.smwu)|*.smwu|smw 工作空间文件(*.smw)|*.smw";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                mapControl1.Map.Close();
                mapControl2.Map.Close();
                workspace1.Close();
                mapControl1.Map.Refresh();
                mapControl2.Map.Refresh();
                String fileName = openFileDialog1.FileName;
                WorkspaceConnectionInfo connectionInfo = new WorkspaceConnectionInfo(fileName);
                workspace1.Open(connectionInfo);
                Program.resources = workspace1.Resources;
                workspaceControl1.WorkspaceTree.Workspace = workspace1;
                mapControl1.Map.Workspace             = workspace1;
                mapControl2.Map.Workspace             = workspace1;
                sceneControl1.Scene.Workspace         = workspace1;
                mapLayoutControl1.MapLayout.Workspace = workspace1;
                m_datasource = workspace1.Datasources[0];
                if (workspace1.Maps.Count == 0)
                {
                    MessageBox.Show("当前工作空间中不存在地图!");
                }

                m_sampleRun = new SampleRun(workspaceControl1, layersControl1, mapControl1, mapControl2, mapLayoutControl1, toolStripStatusLabel2, textBoxResult, toolStripStatusLabel3, sceneControl1);
                m_sampleRun.AddDatasetToScene(m_datasource.Datasets[0].Name);
                m_sampleRun.RegisterEvents(false);
            }
        }
        /// <summary>
        /// 打开需要的工作空间文件及地图
        /// Open the workspace and the map
        /// </summary>
        private void Initialize()
        {
            try
            {
                // 打开工作空间及地图
                // Open the workspace and the map
                WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"..\..\SampleData\World\World.smwu");
                m_workspace.Open(conInfo);

                this.m_mapControl.Map.Open(m_mapName);
                this.m_mapControl.Map.Refresh();

                // 调整mapControl的状态
                // Adjust the condition of mapControl
                for (int i = 0; i < m_mapControl.Map.Layers.Count; i++)
                {
                    Layer layer = m_mapControl.Map.Layers[i];
                    if (layer.Caption != m_queryObjectLayerName)
                    {
                        layer.IsSelectable = false;
                    }
                    else
                    {
                        layer.IsSelectable = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
        /// <summary>
        /// 打开需要的工作空间文件及地图
        /// Open the workspace and the map
        /// </summary>
        private void Initialize()
        {
            try
            {
                // 打开工作空间及地图
                // Open the workspace and the map
                String filePath = "E:\\supermap\\supermap-iobjectsdotnet-10.0.0-17523-73237-all\\SampleData\\ThematicMaps\\Thematicmaps.smwu";

                WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(filePath);
                m_workspace.Open(conInfo);
                if (SuperMap.Data.Environment.CurrentCulture != "zh-CN")
                {
                    m_mapControl.Map.Open("Beijing-Tianjin Area Division Map");
                }
                else
                {
                    m_mapControl.Map.Open("京津地区地图");
                }


                // 调整mapControl的状态
                // Adjust the condition of mapControl
                m_mapControl.Action = SuperMap.UI.Action.Pan;
                m_mapControl.IsWaitCursorEnabled = false;
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
Exemplo n.º 15
0
        public static void OpenWorkspace()
        {
            // 打开工作空间,取出工作空间中名为“World”的数据集,查询其描述信息
            Workspace workspace = new Workspace();
            WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo
            {
                Type = WorkspaceType.SXWU
            };
            String file = @"D:\gitrep\dme\src\database\supermap-data\ws-rule.smwu";

            workspaceConnectionInfo.Server = file;
            workspace.Open(workspaceConnectionInfo);
            Datasource    datasource = workspace.Datasources[0];
            DatasetVector dataset    = (DatasetVector)datasource.Datasets["World"];

            Console.WriteLine("数据集的描述信息为:" + dataset.Description);

            // 保存工作空间
            workspace.Save();
            // 另存工作空间
            String file_saveAs = @"D:\gitrep\dme\src\database\supermap-data\world_saveAs.sxwu";
            WorkspaceConnectionInfo workspaceConnectionInfo_saveAs = new WorkspaceConnectionInfo(file_saveAs);

            if (workspace.SaveAs(workspaceConnectionInfo_saveAs))
            {
                Console.WriteLine("另存工作空间成功!");
            }

            // 释放资源
            dataset.Close();
            workspaceConnectionInfo.Dispose();
            workspaceConnectionInfo_saveAs.Dispose();
            workspace.Close();
            workspace.Dispose();
        }
Exemplo n.º 16
0
        public FormMain()
        {
            try
            {
                InitializeComponent();

                m_workspace = new SuperMap.Data.Workspace();

                m_connectionInfo = new WorkspaceConnectionInfo();
                //实例化SampleRun
                m_sampleRun          = new SampleRun(m_workspace);
                m_sampleRun.OnCheck += new SampleRun.CheckEventHandler(m_sampleRun_OnCheck);
                this.comboBoxCreateSDBVersion.SelectedIndexChanged += new EventHandler(comboBoxCreateSDBVersion_SelectedIndexChanged);
                this.comboBoxSaveSDBVersion.SelectedIndexChanged   += new EventHandler(comboBoxSaveSDBVersion_SelectedIndexChanged);
                // 初始化控件

                comboBoxCreateSQLVersion.SelectedIndex    = 0;
                comboBoxCreateOracleVersion.SelectedIndex = 0;
                comboBoxCreateSDBType.SelectedIndex       = 0;
                comboBoxCreateSDBVersion.SelectedIndex    = 0;
                comboBoxSaveSQLVersion.SelectedIndex      = 0;
                comboBoxSaveOracleVersion.SelectedIndex   = 0;
                comboBoxSaveSDBType.SelectedIndex         = 0;
                comboBoxSaveSDBVersion.SelectedIndex      = 0;
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
Exemplo n.º 17
0
        /// <summary>
        /// 打开需要的工作空间文件及地图
        /// Open the workspace and the map
        /// </summary>
        private void Initialize()
        {
            try
            {
                // 打开工作空间及地图
                // Open the workspace and the map.
                WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"..\..\SampleData\DataExchange\DataExchange.smwu");

                m_workspace.Open(conInfo);
                m_srcDatasource = m_workspace.Datasources["SrcDatasource"];
                m_desDatasource = m_workspace.Datasources["DesDatasource"];

                m_sourceRegion = m_srcDatasource.Datasets["China400"] as DatasetVector;
                m_sourceImg    = m_srcDatasource.Datasets["Day"] as DatasetImage;

                m_dataExport = new DataExport();
                m_dataImport = new DataImport();

                this.m_mapControl.Map.Layers.Add(m_sourceRegion, true);
                this.m_mapControl.Map.Refresh();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
Exemplo n.º 18
0
        public static WorkspaceConnectionInfo GetConnectionInfo()
        {
            string file = System.Windows.Forms.Application.ExecutablePath;

            System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(file);
            string connectionString = config.ConnectionStrings.ConnectionStrings["gkfqd.Common.Supermap.connectionInfo"].ConnectionString.ToString();

            string[] temp = connectionString.Split(';');

            WorkspaceConnectionInfo workspaceconnectionInfo = new WorkspaceConnectionInfo();

            workspaceconnectionInfo.Type = WorkspaceType.Oracle;
            // workspaceconnectionInfo.Server = "ORCL";
            workspaceconnectionInfo.Server   = temp[0].Split('=')[1];
            workspaceconnectionInfo.Database = "";
            //  workspaceconnectionInfo.Name = "workspace";
            workspaceconnectionInfo.Name = temp[5].Split('=')[1];
            // workspaceconnectionInfo.User = "******";
            workspaceconnectionInfo.User = temp[2].Split('=')[1];
            //  workspaceconnectionInfo.Password = "******";
            workspaceconnectionInfo.Password = temp[3].Split('=')[1];
            return(workspaceconnectionInfo);
            //  commonWorkspace.Open(workspaceconnectionInfo);
            // return commonDatasource = commonWorkspace.Datasources["ORCL"];
        }
Exemplo n.º 19
0
        /// <summary>
        /// 打开需要的工作空间,加载数据到地图上
        /// Open the workspace and add data to the map
        /// </summary>
        private void Initialize()
        {
            try
            {
                // 打开工作空间
                // Open the workspace
                String filePath = @"..\..\..\..\DATA\City\Changchun.smwu";
                WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(filePath);
                info.Type = WorkspaceType.SMWU;
                m_workspace.Open(info);

                // 加载底图
                // Load the base map
                if (SuperMap.Data.Environment.CurrentCulture != "zh-CN")
                {
                    m_mapControl.Map.Open("ChangChunCityMap");
                }
                else
                {
                    m_mapControl.Map.Open("长春市区图");
                }
                // 获取公交线路(BusLine)、站点(BusStop)和网络数据集
                // Get BusLine, BusStop and network dataset
                m_datasource     = m_workspace.Datasources["changchun"];
                m_datasetLine    = m_datasource.Datasets["BusLine"] as DatasetVector;
                m_datasetStop    = m_datasource.Datasets["BusPoint"] as DatasetVector;
                m_datasetNetwork = m_datasource.Datasets["RoadNet"] as DatasetVector;

                // 底图中有线路数据集的图层,因此不再添加
                // 为突出显示站点,将站点添加到地图上并设置风格
                // The base map has a path dataset
                // Add stops the map and set their style
                m_layerStop = m_mapControl.Map.Layers.Add(m_datasetStop, true);
                m_layerStop.IsSelectable = true;

                // 设置站点数据集的图层风格
                // Set the layer style for the stops
                LayerSettingVector stopSetting = new LayerSettingVector();
                GeoStyle           stopStyle   = new GeoStyle();
                stopStyle.LineColor           = Color.FromArgb(170, 0, 192);
                stopStyle.MarkerSize          = new Size2D(4, 4);
                stopSetting.Style             = stopStyle;
                m_layerStop.AdditionalSetting = stopSetting;

                m_mapControl.Map.IsAntialias = true;
                m_mapControl.Map.Refresh();

                // 设置跟踪图层
                // Set the tracking layer
                m_trackingLayer = m_mapControl.Map.TrackingLayer;
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
Exemplo n.º 20
0
 /// <summary>
 /// 打开需要的数据库及工作空间
 /// </summary>
 private void Initialize()
 {
     try
     {
         WorkspaceConnectionInfo wci = new WorkspaceConnectionInfo()
         {
             Type = WorkspaceType.Oracle, Server = "ORCL", Database = "", Name = "workspace", User = "******", Password = "******"
         };
         m_workspace.Open(wci);
     }
     catch (Exception ex)
     {
         Trace.WriteLine(ex.Message);
     }
 }
 public Boolean OpenWorkspace(String WorkSpacePath, Workspace workspace, string password = "")
 {
     Boolean result = false;
     try
     {
         WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(WorkSpacePath);
         conInfo.Password = password;
         result = workspace.Open(conInfo);
     }
     catch (Exception ex)
     {
         //Output.OutputClass.Infomation = ex.Message;
     }
     return result;
 }
Exemplo n.º 22
0
        /// <summary>
        /// 初始化工作空间
        /// </summary>
        private void InitWorkspace()
        {
            SplashScreenManager.ShowForm(typeof(MyWaitForm), false, true);
            SplashScreenManager.Default.SetWaitFormCaption("系统初始化");
            SplashScreenManager.Default.SetWaitFormDescription("正在初始化工作空间,请稍候...");

            Workspace = new Workspace();
            var workspaceConnectionInfo = new WorkspaceConnectionInfo
            {
                Type     = WorkspaceType.SQL,
                Driver   = ConfigHelper.GetConfig("WorkspaceDriver"),
                Server   = ConfigHelper.GetConfig("WorkspaceServer"),
                Database = ConfigHelper.GetConfig("WorkspaceDatabase"),
                Name     = ConfigHelper.GetConfig("WorkspaceName"),
                User     = ConfigHelper.GetConfig("WorkspaceUser"),
                Password = ConfigHelper.GetConfig("WorkspacePassword")
            };
            var workspaceOpened = Workspace.Open(workspaceConnectionInfo);

            SplashScreenManager.CloseForm();
            if (workspaceOpened)
            {
                var datasoureName = ConfigHelper.GetConfig("StationDatasourceName");
                if (Workspace.Datasources.Contains(datasoureName))
                {
                    var datasource = Workspace.Datasources[datasoureName];
                    if (!datasource.IsConnected)
                    {
                        Workspace.Datasources.Close(datasoureName);
                        Workspace.Datasources.Open(CreateDatasourceConnectionInfo(datasoureName));
                        Workspace.Save();
                    }
                }
                else
                {
                    var datasource = Workspace.Datasources.Open(CreateDatasourceConnectionInfo(datasoureName));
                    Workspace.Save();
                }
            }
            else
            {
                var dlgConfigWorkspace = new DlgConfigWorkspace();
                if (dlgConfigWorkspace.ShowDialog() == DialogResult.Cancel)
                {
                    this.Close();
                }
            }
        }
Exemplo n.º 23
0
        private void toolStripButton_loadmap_Click(object sender, EventArgs e)
        {
            //设置公用打开对话框
            openFileDialog1.Filter = "SuperMap 工作空间文件(*.smwu)|*.smwu";
            //判断打开的结果,如果打开就执行下列操作
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                //避免连续打开工作空间导致程序异常
                mapControl1.Map.Close();
                workspace1.Close();
                mapControl1.Map.Refresh();
                //定义打开工作空间文件名
                String fileName = openFileDialog1.FileName;
                //打开工作空间文件
                WorkspaceConnectionInfo connectionInfo = new WorkspaceConnectionInfo(fileName);
                //打开工作空间
                workspace1.Open(connectionInfo);
                //建立MapControl与Workspace的连接
                mapControl1.Map.Workspace = workspace1;
                //判断工作空间中是否有地图
                if (workspace1.Maps.Count == 0)
                {
                    MessageBox.Show("当前工作空间中不存在地图!");
                    return;
                }

                //通过名称打开工作空间中的地图
                mapControl1.Map.Open(workspace1.Maps[0]);

                //刷新地图窗口
                mapControl1.Map.Refresh();


                ////////////////////////////////////实例化地图操作对象////////////////////////////////////////


                //实例化m_MapCommon
                m_MapCommon = new MapCommon(workspace1, mapControl1);

                //实例化m_MapMeasure
                m_MapMeasure = new MapMeasure(workspace1, mapControl1, labelResult);


                ////////////////////////////////////////////////////////////////////////////////////////////
            }
        }
Exemplo n.º 24
0
        private void button1_Click(object sender, EventArgs e)
        {
            splashScreenManager1.ShowWaitForm();
            splashScreenManager1.SetWaitFormCaption("正在查询");
            splashScreenManager1.SetWaitFormDescription("请等待...");
            WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(gkfqd.Common.Tool.GetConnectionInfo());

            workspace1.Open(conInfo);
            mapControl1.Map.Workspace = workspace1;
            importDatasource          = workspace1.Datasources[0];
            //mapControl1.Map.Open(comboBox3.Text + comboBox4.Text );
            mapControl1.Map.Open("新城区2017");
            m_map = mapControl1.Map;
            splashScreenManager1.CloseWaitForm();
            mapControl1.Map.ViewEntire();
            mapControl1.Map.Refresh();
            MessageBox.Show("查询完成");
        }
Exemplo n.º 25
0
        private void Ftp_OnUpdateComplete(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
            try
            {
                m_Count++;
                if (m_Count == m_TotleCount)
                {
                    foreach (string file in Directory.GetFiles(CommonPars.CurrentWorkspaceDir))
                    {
                        FileInfo info = new FileInfo(file);
                        if (info.Extension.Contains("smwu") || info.Extension.Contains("sxwu"))
                        {
                            //改名
                            string name = CommonPars.CurrentWorkspaceDir.Substring(CommonPars.CurrentWorkspaceDir.LastIndexOf("\\") + 1);
                            string path = CommonPars.CurrentWorkspaceDir + "\\" + name + info.Extension;
                            info.MoveTo(path);

                            //打开
                            WorkspaceConnectionInfo wsinfo = new WorkspaceConnectionInfo()
                            {
                                Server = info.FullName,
                                Type   = (WorkspaceType)Enum.Parse(typeof(WorkspaceType), info.Extension.Substring(1).ToUpper()),
                            };
                            if (Desktop.Application.ActiveApplication.Workspace.Open(wsinfo))
                            {
                                Desktop.Application.ActiveApplication.Workspace.Caption = name;
                                Desktop.Application.ActiveApplication.Workspace.Save();
                                Desktop.Application.ActiveApplication.CreateSceneWindow(Desktop.Application.ActiveApplication.Workspace.Scenes[0]);
                                Desktop.Application.ActiveApplication.Output.Output("工作空间【" + info.Name.Split('.')[0] + "】已创建!", InfoType.Information);
                            }
                            else
                            {
                                Desktop.Application.ActiveApplication.Output.Output("工作空间【" + info.Name.Split('.')[0] + "】创建失败!", InfoType.Information);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.OutputBox(ex);
                Desktop.Application.ActiveApplication.Output.Output(ex);
            }
        }
Exemplo n.º 26
0
        /// <summary>
        /// 打开需要的工作空间文件及地图
        /// </summary>
        private void Initialize()
        {
            try
            {
                //打开工作空间及地图
                WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(gkfqd.Common.Tool.GetConnectionInfo());

                workspace1.Open(conInfo);
                m_datasource = workspace1.Datasources[0];

                // 调整mapControl的状态
                m_mapControl.Action = SuperMap.UI.Action.Pan;
                m_mapControl.Map.ViewEntire();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
Exemplo n.º 27
0
        void init()
        {
            scon      = new SceneControl();
            scon.Dock = DockStyle.Fill;
            this.Controls.Add(scon);
            string wsPath = @"D:\模型找正面\ws.smwu";

            ws = new Workspace();
            WorkspaceConnectionInfo wsCon = new WorkspaceConnectionInfo()
            {
                Server = wsPath,
                Type   = WorkspaceType.SMWU
            };

            ws.Open(wsCon);

            scon.Scene.Workspace = ws;
            scon.Scene.Open(ws.Scenes[0]);

            scon.Scene.EnsureVisible(scon.Scene.Layers[0]);
        }
Exemplo n.º 28
0
        public WorkSpaceManageWnd()
        {
            try
            {
                InitializeComponent();

                m_workspace      = new SuperMap.Data.Workspace();
                m_SceneControl   = new SuperMap.UI.SceneControl();
                m_MapControl     = new SuperMap.UI.MapControl();
                m_connectionInfo = new WorkspaceConnectionInfo();
                //实例化SampleRun
                m_sampleRun          = new SampleWorkSpaceRun(m_workspace);
                m_sampleRun.OnCheck += new SampleWorkSpaceRun.CheckEventHandler(m_sampleRun_OnCheck);
                this.comboBoxCreateSDBVersion.SelectedIndexChanged += new EventHandler(comboBoxCreateSDBVersion_SelectedIndexChanged);
                this.comboBoxSaveSDBVersion.SelectedIndexChanged   += new EventHandler(comboBoxSaveSDBVersion_SelectedIndexChanged);
                // 初始化控件

                comboBoxCreateSQLVersion.SelectedIndex    = 0;
                comboBoxCreateOracleVersion.SelectedIndex = 0;
                comboBoxCreateSDBType.SelectedIndex       = 0;
                comboBoxCreateSDBVersion.SelectedIndex    = 0;
                comboBoxSaveSQLVersion.SelectedIndex      = 0;
                comboBoxSaveOracleVersion.SelectedIndex   = 0;
                comboBoxSaveSDBType.SelectedIndex         = 0;
                comboBoxSaveSDBVersion.SelectedIndex      = 0;

                this.m_SceneControl.Scene.Opened += new SceneOpenedEventHandler(Scene_Opened);
                this.m_SceneControl.MouseUp      += new System.Windows.Forms.MouseEventHandler(SceneControl_MouseUp);

                m_DeviceAddressWnd = SQLUtility.DeviceAddressWnd.Create();
                m_DeviceAddressWnd.CameraDataAdjustHandler += new LineGraph.SQLUtility.DeviceAddressWnd.CameraDataAdjustEventHandler(CameraDataAdjust_Ctrl);
                m_DeviceAddressWnd.AddModelIDHandler       += new LineGraph.SQLUtility.DeviceAddressWnd.AddModelIDEventHandler(AddModelID_Ctrl);
                m_DeviceAddressWnd.AddModelHandler         += new LineGraph.SQLUtility.DeviceAddressWnd.AddModelEventHandler(AddModel_Ctrl);
                m_DeviceAddressWnd.DeleteModelHandler      += new LineGraph.SQLUtility.DeviceAddressWnd.DeleteModelEventHandler(DeleteModel_Ctrl);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemplo n.º 29
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //打开 World.smwu 工作空间
            Workspace workspace = new Workspace();
            WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo(
                @"..\..\..\..\DATA\World\World.smwu");

            workspace.Open(workspaceConnectionInfo);

            //将打开的工作空间指定给工作空间管理器
            workspaceControl.WorkspaceTree.Workspace = workspace;



            workspace.Open(workspaceConnectionInfo);
            mapControl.Map.Workspace = workspace;
            mapControl.Map.Open(workspace.Maps[0]);
            mapControl.Map.Refresh();

            // 将地图控件中所显示的地图关联到二维图层树,使其管理其中的地图图层
            layersTree.Map = mapControl.Map;
        }
Exemplo n.º 30
0
        public BE(string path)
        {
            WorkspaceConnectionInfo wscon = new WorkspaceConnectionInfo();

            wscon.Type   = WorkspaceType.SMWU;
            wscon.Server = path;
            root         = path.Substring(0, path.LastIndexOf('\\'));
            ws.Open(wscon);

            TypeModelProcess tmp = new TypeModelProcess();

            foreach (Datasource datasource in ws.Datasources)
            {
                foreach (Dataset dataset in datasource.Datasets)
                {
                    switch (dataset.Type)
                    {
                    case DatasetType.CAD:
                        //case DatasetType.Model:
                        if (tmp.OutPath == root + @"\BoundingBox\" + dataset.Name + "@" + datasource.Description + ".txt")
                        {
                            break;
                        }
                        else
                        {
                            tmp.Dataset = dataset as DatasetVector;
                            tmp.OutPath = root + @"\BoundingBox\" + dataset.Name + "@" + datasource.Description + ".txt";
                            new Thread(tmp.run).Start();
                            Thread.Sleep(100);
                        }
                        //addBox(tmp.Dataset, tmp.OutPath);
                        break;

                    default:
                        break;
                    }
                }
            }
        }
Exemplo n.º 31
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //打开 World.smwu 工作空间
            Workspace workspace = new Workspace();
            WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo(
                @"D:\supermap-iobjectsdotnet-10.0.0-17523-73237-all\SampleData\World\World.smwu");

            workspace.Open(workspaceConnectionInfo);

            //将打开的工作空间指定给工作空间管理器
            workspaceControl.WorkspaceTree.Workspace = workspace;



            workspace.Open(workspaceConnectionInfo);
            mapControl.Map.Workspace = workspace;
            mapControl.Map.Open(workspace.Maps[0]);
            mapControl.Map.Refresh();

            // 将地图控件中所显示的地图关联到二维图层树,使其管理其中的地图图层
            layersTree.Map = mapControl.Map;
        }
Exemplo n.º 32
0
        /// <summary>
        /// 打开工作空间
        /// </summary>
        /// <param name="connectionInfo">工作空间连接信息</param>
        /// <returns>操作结果描述信息</returns>
        public String Open(WorkspaceConnectionInfo connectionInfo)
        {
            String result = String.Empty;

            try
            {
                m_workspace.Close();
                m_connectionInfo = connectionInfo;

                Boolean isSucceed = m_workspace.Open(m_connectionInfo);

                if (isSucceed)
                {
                    Lemon.SwapAppend(m_workspace, true);
                    result  = System.Environment.NewLine;
                    result += "打开工作空间成功!";
                    result += System.Environment.NewLine;
                    // 获取成功后的工作空间信息
                    result += GetWorkspaceInfomation();
                    //触发事件,通知界面做相应的处理,false则另存和删除功能可用,true为不可用
                    OnCheck(false);
                }
                else
                {
                    result  = System.Environment.NewLine;
                    result += "打开工作空间失败!";
                    result += System.Environment.NewLine;
                    //触发事件,通知界面做相应的处理,false则另存和删除功能可用,true为不可用
                    OnCheck(true);
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }

            return(result);
        }
Exemplo n.º 33
0
        public BE(string path)
        {
            WorkspaceConnectionInfo wscon = new WorkspaceConnectionInfo();
            wscon.Type = WorkspaceType.SMWU;
            wscon.Server = path;
            root = path.Substring(0, path.LastIndexOf('\\'));
            ws.Open(wscon);

            TypeModelProcess tmp = new TypeModelProcess();

            foreach (Datasource datasource in ws.Datasources)
            {
                foreach (Dataset dataset in datasource.Datasets)
                {
                    switch (dataset.Type)
                    {
                        case DatasetType.CAD:
                            //case DatasetType.Model:
                            if (tmp.OutPath == root + @"\BoundingBox\" + dataset.Name + "@" + datasource.Description + ".txt")
                            {
                                break;
                            }
                            else
                            {
                                tmp.Dataset = dataset as DatasetVector;
                                tmp.OutPath = root + @"\BoundingBox\" + dataset.Name + "@" + datasource.Description + ".txt";
                                new Thread(tmp.run).Start();
                                Thread.Sleep(100);
                            }
                        //addBox(tmp.Dataset, tmp.OutPath);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
Exemplo n.º 34
0
        private void btn_Test_Click(object sender, EventArgs e)
        {
            if(!dxValidationProvider1.Validate())
            {
                XtraMessageBox.Show("请填写完整信息!", "提示");
                return;
            }

             _server = txt_WorkspaceServer.Text.Trim();
             _database = txt_WorkspaceDatabase.Text.Trim();
             _name = txt_WorkspaceName.Text.Trim();
             _user = txt_WorkspaceUsername.Text.Trim();
             _password = txt_WorkspacePassword.Text.Trim();

            var workspaceConnectionInfo = new WorkspaceConnectionInfo()
                                              {
                                                  Driver = "SQL Server",
                                                  Server = _server,
                                                  Database = _database,
                                                  Name = _name,
                                                  User = _user,
                                                  Password = _password,
                                                  Type = WorkspaceType.SQL
                                              };
            var workspace = new Workspace();
            if(workspace.Open(workspaceConnectionInfo))
            {
                XtraMessageBox.Show("测试成功,请保存!","提示");
                btn_Save.Enabled = true;
                btn_Test.Enabled = false;
            }else
            {
                XtraMessageBox.Show("配置不正确,请重新填写。","提示");
                btn_Save.Enabled = false;
            }
        }
Exemplo n.º 35
0
        static void Main(string[] args)
        {
            string wsPath = @"D:\模型找正面\ws.smwu";

            Workspace ws = new Workspace();
            WorkspaceConnectionInfo wsCon = new WorkspaceConnectionInfo()
            {
                Server = wsPath,
                Type = WorkspaceType.SMWU
            };

            ws.Open(wsCon);

            foreach (Datasource datasource in ws.Datasources)
            {
                foreach (Dataset dataset in datasource.Datasets)
                {
                    switch (dataset.Type)
                    {
                        case DatasetType.CAD:
                        //case DatasetType.Model:
                            Console.WriteLine(dataset.Name);
                            Phineas p = new Phineas()
                            {
                                dv = dataset as DatasetVector
                            };
                            p.run();
                            break;
                    }
                }
            }

            Console.Read();
        }
Exemplo n.º 36
0
        public void ModelApplication(String xml, string wksPath, string name)
        {
            //初始化工作空间
            try
            {
                SuperMap.Data.Workspace sWorkspace1 = new SuperMap.Data.Workspace();
                WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(wksPath);//@"G:\数据转换\测试数据\Test1\test.smwu");
                info.Password = set.passWod;
                sWorkspace1.Open(info);
                SuperMap.Data.Maps maps = sWorkspace1.Maps;
                maps.Add(name, xml);//,WorkspaceVersion.UGC60
                
                //sWorkspace1.Maps.SetMapXML(name, xml);
                
                sWorkspace1.Save();

                sWorkspace1.Dispose();
            }
            catch (Exception ex)
            {
                Msg(ex.Message);
            }

        }
Exemplo n.º 37
0
        /// <summary>
        /// 初始化工作空间
        /// </summary>
        private void InitWorkspace()
        {
            SplashScreenManager.ShowForm(typeof(MyWaitForm), false, true);
            SplashScreenManager.Default.SetWaitFormCaption("系统初始化");
            SplashScreenManager.Default.SetWaitFormDescription("正在初始化工作空间,请稍候...");

            Workspace = new Workspace();
            var workspaceConnectionInfo = new WorkspaceConnectionInfo
            {
                Type = WorkspaceType.SQL,
                Driver = ConfigHelper.GetConfig("WorkspaceDriver"),
                Server = ConfigHelper.GetConfig("WorkspaceServer"),
                Database = ConfigHelper.GetConfig("WorkspaceDatabase"),
                Name = ConfigHelper.GetConfig("WorkspaceName"),
                User = ConfigHelper.GetConfig("WorkspaceUser"),
                Password = ConfigHelper.GetConfig("WorkspacePassword")
            };
            var workspaceOpened = Workspace.Open(workspaceConnectionInfo);
            SplashScreenManager.CloseForm();
            if (workspaceOpened)
            {
                var datasoureName = ConfigHelper.GetConfig("StationDatasourceName");
                if (Workspace.Datasources.Contains(datasoureName))
                {
                    var datasource = Workspace.Datasources[datasoureName];
                    if (!datasource.IsConnected)
                    {
                        Workspace.Datasources.Close(datasoureName);
                        Workspace.Datasources.Open(CreateDatasourceConnectionInfo(datasoureName));
                        Workspace.Save();
                    }
                }
                else
                {
                    var datasource = Workspace.Datasources.Open(CreateDatasourceConnectionInfo(datasoureName));
                    Workspace.Save();
                }
            }
            else
            {
                var dlgConfigWorkspace = new DlgConfigWorkspace();
                if (dlgConfigWorkspace.ShowDialog() == DialogResult.Cancel)
                {
                    this.Close();
                }
            }
        }
Exemplo n.º 38
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.º 39
0
        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();
            }

        }
Exemplo n.º 40
0
        public void ProjectConver(string wpsPath, string prjRef, string name)
        {
            try
            {
                SuperMap.Data.Workspace wps = new SuperMap.Data.Workspace();
                WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(wpsPath);
                wps.Open(info);
                Datasource dc = wps.Datasources["ymgc3"];

                //Dataset dset = wps.Datasources["ymgc1"].Datasets[name];// dsets["time1"];

                //dset.Datasource.Datasets.Delete("time2");
                //Dataset dst = dset.Datasource.CopyDataset(dset, "time2", dset.EncodeType);
                PrjCoordSys prj = new PrjCoordSys();
                prj.FromFile(prjRef, PrjFileType.SuperMap);

                for (int i = 1; i <= dc.Datasets.Count; i++)
                {
                    name = "time" + i.ToString();
                    try
                    {
                        Dataset dset = dc.Datasets[name];
                        //bool ok = CoordSysTranslator.Convert(dset, prj, new CoordSysTransParameter(), CoordSysTransMethod.GeocentricTranslation);
                        dset = CoordSysTranslator.Convert(dset, prj, dset.Datasource, name + "_", new CoordSysTransParameter(), CoordSysTransMethod.GeocentricTranslation);
                        dset.Datasource.Datasets.Delete(name);
                        dset.Datasource.CopyDataset(dset, name, dset.EncodeType);
                        dset.Datasource.Datasets.Delete(name + "_");
                        wps.Save();
                    }
                    catch
                    {
                        continue;
                    }

                }
                wps.Dispose();
                MessageBox.Show("OVER");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }
Exemplo n.º 41
0
        /// <summary>
        /// 打开三维场景
        /// </summary>
        /// <param name="path">工作空间路径</param>
        /// <param name="sceneName">三维场景名称</param>
        private void OpenScene(string path, string sceneName)
        {
            try
            {
                WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(path);
				conInfo.Type = WorkspaceType.SXWU;
                bool isOpened = m_workspace.Open(conInfo);
				if (isOpened)
				{
					SmObjectLocator.getInstance().GlobeObject.Scene.Workspace = m_workspace;

					SmObjectLocator.getInstance().GlobeObject.Scene.Open(sceneName);

					for (int i = 0; i < SmObjectLocator.getInstance().GlobeObject.Scene.Layers.Count; i++)
					{
						Layer3D layer = SmObjectLocator.getInstance().GlobeObject.Scene.Layers[i];
						//只对矢量图层管理
						if (layer is Layer3DVectorFile)
						{
							layer.IsSelectable = false;
							LayerVO layerVo = new LayerVO();
							layerVo.LayerBounds = layer.Bounds;
							layerVo.LayerCenter = layer.Bounds.Center;
							layerVo.LayerName = layer.Name.Substring(0, layer.Name.IndexOf("@"));
							layerVo.LayerType = layer.Type.ToString();
							layerVo.LayerId = i.ToString();
							layerVo.LayerVisible = layer.IsVisible;
							layerVo.IsQueryLayer = true;
							layerVo.LayerCaption = layer.Caption;
							layerVo.LayerOrigin = layer.Name;
							SysModelLocator.getInstance().LayerList.Add(layerVo);
						}
					}

					//范围全幅显示
					//Layer3D olympicGreenLayer = SmObjectLocator.getInstance().GlobeObject.Scene.Layers[0];
					//SmObjectLocator.getInstance().GlobeObject.Scene.EnsureVisible(olympicGreenLayer.Bounds, 10);
				}
            }
            catch(Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Exemplo n.º 42
0
 /// <summary>
 /// 获得地图模板:从已有地图中
 /// </summary>
 /// <param name="wksPath">工作空间</param>
 /// <param name="index">地图索引</param>
 /// <returns>xml的字符</returns>
 public String gainXML(string wksPath, int index)
 {
     SuperMap.Data.Workspace sWorkspace = new SuperMap.Data.Workspace();
     WorkspaceConnectionInfo infomation = new WorkspaceConnectionInfo(wksPath);//@"G:\数据转换\测试数据\Test\test.smwu");
     sWorkspace.Open(infomation);
     if (sWorkspace.Maps.Count == 0)
     {
         MessageBox.Show("当前工作空间中不存在地图!");
         return "";
     }
     SuperMap.Mapping.Map map = new SuperMap.Mapping.Map(sWorkspace);
     map.Open(sWorkspace.Maps[index]);
     String xml = map.ToXML();
     string name = map.Name;
     map.Close();
     sWorkspace.Dispose();
     return xml;
 }
Exemplo n.º 43
0
 //
 /// <summary>
 /// 模板应用
 /// </summary>
 /// <param name="xml">模板文件字符</param>
 /// <param name="wksPath">工作空间路径</param>
 /// <param name="name">地图名称</param>
 public void ModelApplication(String xml, string wksPath, string name)
 {
     //初始化工作空间
     SuperMap.Data.Workspace sWorkspace1 = new SuperMap.Data.Workspace();
     WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(wksPath);//@"G:\数据转换\测试数据\Test1\test.smwu");
     info.Password ="******";
     sWorkspace1.Open(info);
     SuperMap.Data.Maps maps = sWorkspace1.Maps;
     maps.Add(name, xml);
     sWorkspace1.Save();
     sWorkspace1.Dispose();
 }
Exemplo n.º 44
0
        void init()
        {
            scon = new SceneControl();
            scon.Dock = DockStyle.Fill;
            this.Controls.Add(scon);
            string wsPath = @"D:\模型找正面\ws.smwu";
            ws = new Workspace();
            WorkspaceConnectionInfo wsCon = new WorkspaceConnectionInfo()
            {
                Server = wsPath,
                Type = WorkspaceType.SMWU
            };

            ws.Open(wsCon);

            scon.Scene.Workspace = ws;
            scon.Scene.Open(ws.Scenes[0]);

            scon.Scene.EnsureVisible(scon.Scene.Layers[0]);
        }
Exemplo n.º 45
0
        //创建工作空间(超图)
        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();
            }

        }
Exemplo n.º 46
0
        /*专题图制作部分 
         * 一、SuperMap中
         *   1、将一个数据集拖拽到地图
         *   2、进来的是默认的栅格图层  然后右键制作专题图  选择栅格分段专题图
         *   3、加载专题图模板。
         *   二、代码部分
         *   1、将数据集添加进地图
         *   2、
         */
        public void refreshMod(string wksPath, string name,string password,string ref_zt)
        {
            try
            {
                SuperMap.Data.Workspace sWorkspace1 = new SuperMap.Data.Workspace();
                WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(wksPath + ".smwu");//@"G:\数据转换\测试数据\Test1\test.smwu");
                info.Password = password;
                sWorkspace1.Open(info);
                if (sWorkspace1.Datasources[name] == null)
                    return;
                Datasource ds = sWorkspace1.Datasources[name];
                int con = ds.Datasets.Count;
               
                SuperMap.Mapping.Map map = new SuperMap.Mapping.Map(sWorkspace1);
                map.Open(name);
                
                Layers layers = map.Layers;
                
                ThemeGridRange tgr = new ThemeGridRange();
                tgr.FromXML(readXML(ref_zt));
                
                for (int i = 1; i <= con; i++)
                {
                    
                    if (map.Layers[i].Name.Substring(0, 4) == "time")
                        continue;
                    DatasetGrid dataSet = ds.Datasets["time" + i.ToString()] as DatasetGrid;
                    Layer layer =map.Layers.Insert(i, dataSet,tgr);
                    // map.Layers.Add(dataSet, tgr, true);
                    layer.IsVisible = false;
                    layer.Caption = "time" + i.ToString();
                    map.Refresh();
                    

                }
                sWorkspace1.Maps.SetMapXML(name, map.ToXML());
                //sWorkspace1.Maps.Add(name+"_x", map.ToXML());
                map.Workspace.Save();
                sWorkspace1.Dispose();
               
                //MessageBox.Show("Over");
                //  sWorkspace1.Save(); MessageBox.Show(layers.Count + "");
                 //layer.FromXML(readXML(@"D:\移动风险监测\time1.xml"));
                //layerSettingGrid.ColorTable = Colors.MakeGradient(20, ColorGradientType.BlueWhite, false);

                //layerSettingGrid.SpecialValue = -9999;
                //layerSettingGrid.IsSpecialValueTransparent = true;
                //LayerSettingVector layerSettingVector = new LayerSettingVector();
                //GeoStyle style = new GeoStyle();
                //style.FillForeColor = Color.HotPink;
                //layerSettingGrid.Style = style;
                
                
                
                //ThemeCustom tc = new ThemeCustom();
                //tc.FromXML(readXML(@"D:\移动风险监测\time53.xml"));
               
                //Theme theme=
                //string themes = theme.ToXML();
                //DevComponents.DotNetBar.Controls.RichTextBoxEx re = new DevComponents.DotNetBar.Controls.RichTextBoxEx();
                //re.Text = themes;
                //re.SaveFile(@"D:\移动风险监测\test.txt",RichTextBoxStreamType.TextTextOleObjs);
                //theme.FromXML(readXML(@"D:\移动风险监测\time53.xml"));
               

                   

                  //  layer.Theme.FromXML(readXML(@"D:\移动风险监测\time1.xml"));
                   //layer.FromXML(readXML(@"D:\移动风险监测\time1.xml"));
                   // lyy1.Caption = ;
                    
                    //Layer lyy = layers.Add(dataSet, layerSettingGrid, true);
                    
                 
                    //MessageBox.Show(layers.Count + "");
                    //if(layers.Count==400)
                    //    j=layers.Count;
                    //layers.Add(dataSet,new LayerSettingGrid(), true);
                   //Layer ly=  layers.Insert(i, dataSet, tgr);
                   //MessageBox.Show(layers.Count + "");
                   //layers.Add(dataSet, true);
                   //MessageBox.Show(layers.Count + "");
                   //map.EnsureVisible(ly);
                 
                //sWorkspace1.Maps.Add(sWorkspace1.Maps.GetAvailableMapName(name), map.ToXML()); 
              
               
                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }