예제 #1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            DataOperator dataoperator = new DataOperator(m_map);

            m_Name       = tbName.Text;
            featureClass = dataoperator.CreateShapefile(tbPath.Text, m_Name, cbType.SelectedItem.ToString());
            if (featureClass == null)
            {
                MessageBox.Show("创建Shapefile失败!");
                return;
            }
            else
            {
                bool bRes = dataoperator.AddFeatureClassToMap(featureClass, m_Name);
                if (bRes)
                {
                    this.DialogResult = DialogResult.OK;
                }
                else
                {
                    MessageBox.Show("将新建的Shapefile加入地图失败!");
                }
                this.Close();
            }
            //return;
        }
예제 #2
0
        //end of operation function

        private void miGetRenderInfo_Click(object sender, EventArgs e)
        {
            DataOperator dataOperator = new DataOperator(axMapControl1.Map);
            ILayer       layer        = axMapControl1.Map.get_Layer(0);

            MessageBox.Show(MapComposer.GetRendererTypeByLayer(layer));
        }
예제 #3
0
        /* Usage: View the data of selected layer
         * Author: Ding
         * Time: 2019/03/22
         */
        private void miAccessData_Click(object sender, EventArgs e)
        {
            IMap m_map = axMapControl1.Map;

            if (m_mapDocumentName == string.Empty)  //If no map was loaded, the function won't run, preventing stack overfolw.
            {
                MessageBox.Show("ERROR: 没有可显示的图层!");
                return;
            }
            DataOperator dataOperator = new DataOperator(axMapControl1.Map);
            DataBoard    dataBoard    = new DataBoard(axMapControl1.Map, dataOperator.GetLayerDataTable(m_map.get_Layer(0).Name));

            //default show the datatable of teh frist layer
            dataBoard.Show();
        }
예제 #4
0
        /* Usage: Simply render the layer - main function
         * Author: Ding
         * Time: 2019/03/22
         */
        private void mainRenderSimply(String LayerName)
        {
            DataOperator dataOperator = new DataOperator(axMapControl1.Map);

            if (LayerName == "")
            {
                MessageBox.Show("ERROR: 没有可显示的图层!");
                return;
            }
            ILayer layer = dataOperator.GetLayerByName(LayerName);

            //Set the color of symbol from ColorDialog
            // -- I don't want to rewrite the colordialog class, so let it show in the middle of window
            ColorDialog colorDialog1  = new ColorDialog();
            Color       selectedColor = Color.FromArgb(0, 255, 0, 0); //selectedColor is the color selected for the symbol, default color is red

            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                selectedColor = colorDialog1.Color;
            }
            //set color
            if (selectedColor.A == 0)
            {
                return;
            }
            IRgbColor rgbColor = new RgbColorClass();

            rgbColor.Red = selectedColor.R; rgbColor.Green = selectedColor.G; rgbColor.Blue = selectedColor.B;



            ISymbol symbol = MapComposer.GetSymbolFromLayer(layer);
            IColor  color  = rgbColor as IColor;

            bool bRes = MapComposer.RenderSimply(layer, color);

            if (bRes)
            {
                axTOCControl1.ActiveView.ContentsChanged();
                axMapControl1.ActiveView.Refresh();
                //miRenderSimply.Enabled = false;
            }
            else
            {
                MessageBox.Show("简单渲染图层失败!");
            }
        }
예제 #5
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            DataOperator dataOperator = new DataOperator(m_map);
            //IPoint point = new PointClass();
            bool SuccessAdd = dataOperator.AddFeatureToLayer(cbLayerList.SelectedItem.ToString(), tbName.Text, m_geometry);

            if (!SuccessAdd)
            {
                MessageBox.Show("添加要素失败!");
                this.DialogResult = DialogResult.Abort;
                this.Close();
            }
            else
            {
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            //return;
        }
예제 #6
0
        //when the selected layer was changed, dispaly the datatable of the newly selected layer
        private void cbLayerList_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataOperator dataOperator = new DataOperator(m_map);

            dataGridView1.DataSource = dataOperator.GetLayerDataTable(cbLayerList.SelectedItem.ToString());
        }