Exemple #1
0
        /// <summary>
        /// 冲突分析
        /// </summary>
        private void buttonConflict_Click(object sender, EventArgs e)
        {
            TreeNode node = treeView1.SelectedNode;

            if (node.Parent != null)
            {
                #region 采用系统自带对话框,保存选择路径

                SaveFileDialog dialog = new SaveFileDialog();
                dialog.Filter = "Shp files|*.shp";
                DialogResult result = dialog.ShowDialog();
                if (result == DialogResult.OK)
                {
                    Conflict conflict = _ruleTree.GetSelectedNode(node) as Conflict;

                    ///获取Zone
                    PlanTree planTree  = new PlanTree();
                    string   planNameA = conflict.ZoneA.Name.Split('.')[0];
                    string   zoneNameA = conflict.ZoneA.Name.Split('.')[1];
                    conflict.ZoneA = planTree.GetZone(planNameA, zoneNameA);

                    string planNameB = conflict.ZoneB.Name.Split('.')[0];
                    string zoneNameB = conflict.ZoneB.Name.Split('.')[1];
                    conflict.ZoneB = planTree.GetZone(planNameB, zoneNameB);

                    textBox3.Text    = dialog.FileName;
                    conflict.Address = dialog.FileName;
                    conflict.ConflictAnalysis();
                    conflict.Name = conflict.Name.Replace(".shp", "");
                    _ruleTree.SaveConflictPath(dialog.FileName, node.Parent.Text, conflict.Name);
                }

                #endregion
            }
            else
            {
                MessageBox.Show("请选择冲突!");
            }
        }
        /// <summary>
        /// 选择冲突
        /// </summary>
        private void SelectConflict(object sender, EventArgs e)
        {
            foreach (Conflict item in conflicts)
            {
                if (string.Equals(xmlComboBox.SelectedItem.ToString(), item.Name))
                {
                    string conflictAdd = item.Address;
                    //"C:\\Users\\Administrator.ZX-201609231534\\Desktop\\testdata\\c1.shp"
                    featureLayerConflict      = CommonMethod.GetFeatureSetByPath(conflictAdd);
                    featureLayerConflict.Name = item.Name;
                    groupBoxConflict.Text     = "冲突图层,类型:" + item.ConflictType;

                    //bool isSDEA;
                    item.ZoneA = planTree.GetZone(item.ZoneA.Name.Split('.')[0], item.ZoneA.Name.Split('.')[1]);
                    //string zoneAAdd = planTree.GetZoneAddress(item.zoneA.name.Split('.')[0], item.zoneA.name.Split('.')[1], out isSDEA);
                    string zoneAAdd = item.ZoneA.Address;
                    AFieldName         = item.ZoneA.BSM + "_BSM";
                    ConflictA          = AFieldName;
                    featureLayerA      = CommonMethod.GetFeatureSetByPath(zoneAAdd);
                    featureLayerA.Name = item.ZoneA.Name;
                    groupBoxA.Text     = item.ZoneA.Name;

                    //bool isSDEB;
                    item.ZoneB = planTree.GetZone(item.ZoneB.Name.Split('.')[0], item.ZoneB.Name.Split('.')[1]);
                    //string zoneBAdd = planTree.GetZoneAddress(item.zoneB.name.Split('.')[0], item.zoneB.name.Split('.')[1], out isSDEB);
                    string zoneBAdd = item.ZoneB.Address;
                    BFieldName         = item.ZoneB.BSM + "_BSM";
                    ConflictB          = BFieldName;
                    featureLayerB      = CommonMethod.GetFeatureSetByPath(zoneBAdd);
                    featureLayerB.Name = item.ZoneB.Name;
                    groupBoxB.Text     = item.ZoneB.Name;

                    associateLayer(featureLayerA, featureLayerB);
                    break;
                }
            }
        }