private void AddChildrenToMap(TreeNode e)
        {
            e.Nodes.OfType <TreeNode>().ToList().ForEach(x => AddChildrenToMap(x));

            if (e.Tag is GISLayer)
            {
                GISLayer    layer        = (GISLayer)e.Tag;
                IGroupLayer parentGrpLyr = BuildArcMapGroupLayers(e);
                ArcMapUtilities.AddToMap(layer.FilePath, layer.Name, parentGrpLyr);
            }
        }
Exemple #2
0
        private void dataGridView1_Click(object sender, EventArgs e)
        {
            GISLayer layer = document.layers[document.layers.Count - 1];

            layer.ClearSelection();
            for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)
            {
                layer.Features[(int)(dataGridView1.SelectedRows[i].Cells[0].Value)].Selected = true;
            }
            updateview();
        }
Exemple #3
0
        private void Clicked(object sender, EventArgs e)
        {
            if (listBox1.SelectedItem == null)
            {
                return;
            }
            GISLayer layer = Document.getLayer(listBox1.SelectedItem.ToString());

            layer.Selectable         = checkBox1.Checked;
            layer.Visible            = checkBox2.Checked;
            layer.DrawAttributeOrNot = checkBox3.Checked;
            layer.LabelIndex         = comboBox1.SelectedIndex;
        }
Exemple #4
0
 public Form2(GISLayer layer)
 {
     InitializeComponent();
     for (int i = 0; i < layer.Fields.Count; i++) //添加一系列的列
     {
         dataGridView1.Columns.Add(layer.Fields[i].name, layer.Fields[i].name);
     }
     for (int i = 0; i < layer.FeatureCount(); i++)
     {
         dataGridView1.Rows.Add();
         for (int j = 0; j < layer.Fields.Count; j++)
         {
             dataGridView1.Rows[i].Cells[j].Value = layer.GetFeature(i).getAttribute(j);
         }
     }
 }
        public void OnAddGISToMap(object sender, EventArgs e)
        {
            TreeNode    selNode      = treProject.SelectedNode;
            IGroupLayer parentGrpLyr = BuildArcMapGroupLayers(selNode);
            GISLayer    layer        = (GISLayer)selNode.Tag;

            FileInfo symbology = GetSymbology(layer);

            try
            {
                ArcMapUtilities.AddToMap(layer.FilePath, layer.Name, parentGrpLyr, symbology);
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("{0}\n\n{1}", ex.Message, layer.FilePath.FullName), "Error Adding Dataset To Map", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Exemple #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter           = "Shapefile文件|*.shp";
            openFileDialog.RestoreDirectory = true;
            openFileDialog.FilterIndex      = 1;
            openFileDialog.Multiselect      = false;
            if (openFileDialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            layer = GISShapefile.ReadShapefile(openFileDialog.FileName);
            layer.DrawAttributeOrNot = false;
            MessageBox.Show("read " + layer.FeatureCount() + "objects");
            view.UpdateExtent(layer.Extent);
            UpdateMap();
        }
Exemple #7
0
        private void Btaddlayer_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "GIS File (*." + GISConst.SHPFILE + ",*." + GISConst.MYFILE + ")|*."
                                    + GISConst.SHPFILE + ";*." + GISConst.MYFILE;
            openFileDialog.RestoreDirectory = false;
            openFileDialog.FilterIndex      = 1;
            openFileDialog.Multiselect      = false;
            if (openFileDialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            GISLayer layer = Document.Addlayer(openFileDialog.FileName);

            listBox1.Items.Insert(0, layer.Name);
            listBox1.SelectedIndex = 0;
        }
Exemple #8
0
        bool FromMapWindow = true;//记录选择数据集的来源
        public Form2(GISLayer _layer, Form1 mapwindow)
        {
            InitializeComponent();
            Layer     = _layer;
            MapWindow = mapwindow;
            //for (int i = 0; i < layer.Fields.Count; i++) //添加一系列的列
            //{
            //    dataGridView1.Columns.Add(layer.Fields[i].name, layer.Fields[i].name);
            //}
            //for (int i = 0; i < layer.FeatureCount(); i++)
            //{
            //    dataGridView1.Rows.Add();
            //    for (int j = 0; j < layer.Fields.Count; j++)
            //    {
            //        dataGridView1.Rows[i].Cells[j].Value = layer.GetFeature(i).getAttribute(j);
            //    }

            //}
        }
Exemple #9
0
        private void Btexportlayer_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedItem == null)
            {
                return;
            }
            SaveFileDialog savefiledialog1 = new SaveFileDialog();

            savefiledialog1.Filter           = "GIS file (*." + GISConst.MYFILE + ")|*." + GISConst.MYFILE;
            savefiledialog1.FilterIndex      = 1;
            savefiledialog1.RestoreDirectory = false;

            if (savefiledialog1.ShowDialog() == DialogResult.OK)
            {
                GISLayer layer = Document.getLayer(listBox1.SelectedItem.ToString());
                GISMyFile.WriteFile(layer, savefiledialog1.FileName);
                MessageBox.Show("Done! " + savefiledialog1.FileName + " saved!");
            }
        }
Exemple #10
0
 private void FillValue(GISLayer layer)
 {
     dataGridView1.Columns.Clear();
     dataGridView1.Columns.Add("InternalID", "InternalID");
     dataGridView1.Columns[0].Visible = false;
     for (int i = 0; i < layer.Fields.Count; i++)
     {
         dataGridView1.Columns.Add(layer.Fields[i].name, layer.Fields[i].name);
     }
     for (int i = 0; i < layer.Features.Count; i++)
     {
         dataGridView1.Rows.Add();
         dataGridView1.Rows[i].Cells[0].Value = i;
         for (int j = 0; j < layer.Fields.Count; j++)
         {
             dataGridView1.Rows[i].Cells[j + 1].Value = layer.Features[i].getAttributeValue(j);
         }
         dataGridView1.Rows[i].Selected = layer.Features[i].Selected;
     }
 }
Exemple #11
0
        private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //用以应对listbox选择改变的情况 更改相应的项
            if (listBox1.SelectedItem == null)
            {
                return;
            }
            GISLayer layer = Document.getLayer(listBox1.SelectedItem.ToString());//根据选中情况获取对应的layer

            checkBox1.Checked = layer.Selectable;
            checkBox2.Checked = layer.Visible;
            checkBox3.Checked = layer.DrawAttributeOrNot;
            comboBox1.Items.Clear();
            for (int i = 0; i < layer.Fields.Count; i++)
            {
                comboBox1.Items.Add(layer.Fields[i].name);
            }
            comboBox1.SelectedIndex = layer.LabelIndex;
            fileaddr.Text           = layer.Path;
            textBox1.Text           = layer.Name;
        }
Exemple #12
0
        private void Bteditname_Click(object sender, EventArgs e)
        {
            //修改图层名
            if (listBox1.SelectedItem == null)
            {
                return;
            }
            //确保新输入的图层名不会与选中之外的其他图层名相同
            for (int i = 0; i < listBox1.Items.Count; i++)
            {
                if (i != listBox1.SelectedIndex)
                {
                    if (listBox1.Items[i].ToString() == textBox1.Text)
                    {
                        MessageBox.Show("不能与已有图层名重复!!");
                        return;
                    }
                }
            }
            GISLayer layer = Document.getLayer(listBox1.SelectedItem.ToString());

            layer.Name            = textBox1.Text;
            listBox1.SelectedItem = textBox1.Text;
        }
Exemple #13
0
 public abstract bool IsHluLayer(GISLayer newGISLayer);