示例#1
0
        /// <summary>
        /// 打开LDB数据库
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_OpenLDB_Click(object sender, EventArgs e)
        {
            //打开窗口
            OpenFileDialog openDia = new OpenFileDialog();

            openDia.Filter = "*.ldb | *.ldb";
            if (openDia.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            _glbControl.Globe.Layers.RemoveAll();
            TreeView.Nodes[0].Nodes.Clear();
            //创建数据库链接
            GSODataSourceCnn dataSourceCnn = new GSODataSourceCnn();

            //设置数据库链接为LDB
            dataSourceCnn.Type = EnumDataSourceType.LDB;
            //绑定数据库文件
            dataSourceCnn.Database = openDia.FileName;
            //打开数据库链接
            _ldbDataSource        = _glbControl.Globe.DataManager.OpenDataSource(dataSourceCnn);
            btn_EditLayer.Enabled = true;
            //遍历LDB数据库中的所有图层
            for (int i = 0; i < _ldbDataSource.DatasetCount; i++)
            {
                //获得LDB数据库中的图层数据
                var featuredata = _ldbDataSource[i];
                //将图层数据加载到Globe控件中
                _glbControl.Globe.Layers.Add(featuredata);
            }

            this.Text = this.Text.Split('_')[0] + "_" + openDia.FileName;
            //如果数据库中图层数据不为空
            if (_ldbDataSource.DatasetCount > 0)
            {
                //当前编辑图层赋值
                _featureLayer           = _glbControl.Globe.Layers[0];
                btn_EditFeature.Enabled = true;
                this.Text = this.Text + "_" + _featureLayer.Caption;
            }
            else
            {
                btn_EditFeature.Enabled = false;
            }
        }
示例#2
0
        /// <summary>
        /// 创建ldb数据库
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_CreateLDB_Click(object sender, EventArgs e)
        {
            //保存文件窗口
            SaveFileDialog dialog = new SaveFileDialog();

            dialog.Filter          = "*.ldb | *.ldb";
            dialog.OverwritePrompt = false;
            if (dialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            if (System.IO.File.Exists(dialog.FileName))
            {
                MessageBox.Show("文件已存在,数据文件不可覆盖。");
                return;
            }

            //创建数据库连接
            GSODataSourceCnn dataSourceCnn = new GSODataSourceCnn();

            //设置连接类型为LDB
            dataSourceCnn.Type = EnumDataSourceType.LDB;
            //绑定ldb文件
            dataSourceCnn.Database = dialog.FileName;
            //创建ldb数据库
            _ldbDataSource = _glbControl.Globe.DataManager.CreateDataSource(dataSourceCnn);

            //窗口名称修改为当前创建的数据库
            this.Text             = this.Text.Split('_')[0] + "_" + dialog.FileName;
            btn_EditLayer.Enabled = true;

            _glbControl.Globe.Layers.RemoveAll();
            TreeView.Nodes[0].Nodes.Clear();
            _featureLayer           = null;
            btn_EditFeature.Enabled = false;
        }