/// <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; } } }