예제 #1
0
        private void btnCreateTopo_Click(object sender, EventArgs e)
        {
            SpatialDBMS.Classes.Topology second = new SpatialDBMS.Classes.Topology();
            ITopology myTempTopology            = second.create_topology(myWorkSpace, CB_FCIndex, textBoxTopoName.Text);

            myTopology = myTempTopology;
            MessageBox.Show("创建拓扑成功 !");
        }
예제 #2
0
        private void btnValidate_Click_1(object sender, EventArgs e)
        {
            IGeoDataset geoDataset = (IGeoDataset)myTopology;
            IEnvelope   envelope   = geoDataset.Extent;

            SpatialDBMS.Classes.Topology third = new SpatialDBMS.Classes.Topology();
            third.ValidateTopology(myTopology, envelope);
            MessageBox.Show("验证成功!");
        }
예제 #3
0
        private void btnAddRule_Click(object sender, EventArgs e)
        {
            listView1.BeginUpdate();
            ListViewItem LVI = new ListViewItem();

            LVI.Text = SelectText[0];
            for (int i = 1; i <= 2; i++)
            {
                LVI.SubItems.Add(SelectText[i]);
            }
            listView1.Items.Add(LVI);
            listView1.EndUpdate();

            if (lenth == 0)
            {
                int index = 0;
                foreach (string x in TempRuleContainer)
                {
                    if (x.Equals(_CatchTpRule))
                    {
                        break;
                    }
                    else
                    {
                        index++;
                    }
                }
                SpatialDBMS.Classes.Topology second = new SpatialDBMS.Classes.Topology();
                string        RuleName = TempRuleContainer[index].Remove(0, 7);
                IFeatureClass myTempFC = second.get_FCContainer(myWorkSpace).get_Class(FCIndex[0]);
                second.AddRuleToTopology1(myTopology, (esriTopologyRuleType)index, RuleName, myTempFC);
                MessageBox.Show("添加拓扑规则成功!");
            }
            else
            {
                int index = 0;
                foreach (string x in TempRuleContainer)
                {
                    if (x.Equals(_CatchTpRule))
                    {
                        break;
                    }
                    else
                    {
                        index++;
                    }
                }
                SpatialDBMS.Classes.Topology second = new SpatialDBMS.Classes.Topology();
                string        RuleName        = TempRuleContainer[index].Remove(0, 7);
                IFeatureClass myOriginFC      = second.get_FCContainer(myWorkSpace).get_Class(FCIndex[0]);
                IFeatureClass myDestinationFC = second.get_FCContainer(myWorkSpace).get_Class(FCIndex[1]);
                second.AddRuleToTopology2(myTopology, (esriTopologyRuleType)index, RuleName, myOriginFC, 1, myDestinationFC, 1);
                MessageBox.Show("添加拓扑规则成功!");
            }
        }