public static void FireEndZDEdit() { if (ZDEditTools.OnEndZDEdit != null) { ZDEditTools.OnEndZDEdit(); } }
public static void FireStartZDEdit() { if (ZDEditTools.OnStartZDEdit != null) { ZDEditTools.OnStartZDEdit(); } }
public static void UpdateFeatureGeometry(IFeature ifeature_0, IGeometry igeometry_0) { ZDEditTools.StartEditDateTime = DateTime.Now; IFeature feature = null; bool flag = ZDEditTools.Oids.IndexOf(ifeature_0.OID) == -1; bool flag1 = flag; if (flag) { feature = ZDEditTools.WriteHistory(ifeature_0); } try { ifeature_0.Shape = igeometry_0; ifeature_0.Store(); if (flag1) { IFeature feature1 = ZDEditTools.ZDFeatureClass.CreateFeature(); RowOperator.CopyFeatureToFeature(ifeature_0, feature1); ZDEditTools.Oids.Add(feature1.OID); ZDEditTools.WriteHistoryLine(ifeature_0, feature1, feature, 3, ZDEditTools.StartEditDateTime); ifeature_0.Delete(); } } catch { if (feature != null) { feature.Delete(); } } }
public static void FireAfterCreateZD(IRow irow_0) { if (ZDEditTools.OnAfterCreateZD != null) { ZDEditTools.OnAfterCreateZD(irow_0); } }
private static void DeleteZD(IFeature ifeature_0) { ZDEditTools.StartEditDateTime = DateTime.Now; IFeature feature = ZDEditTools.WriteHistory(ifeature_0); ZDEditTools.WriteDelHistoryLine(ifeature_0, feature, 4, ZDEditTools.StartEditDateTime); ifeature_0.Delete(); }
private static void WriteHistoryLine(IFeature ifeature_0, List <IFeature> list_0, IFeature ifeature_1, int int_0, DateTime dateTime_0) { foreach (IFeature list0 in list_0) { ZDEditTools.WriteHistoryLine(ifeature_0, list0, ifeature_1, int_0, dateTime_0); } }
public static void StopZDEdit() { ZDEditTools.Oids.Clear(); Editor.SaveEditing(); ZDEditTools.ZDFeatureLayer = null; ZDEditTools.ZDFeatureClass = null; ZDEditTools.ZDHisFeatureClass = null; ZDEditTools.FireEndZDEdit(); }
public static void DeletedSelectedZD(ICursor icursor_0) { List <IFeature> features = new List <IFeature>(); for (IRow i = icursor_0.NextRow(); i != null; i = icursor_0.NextRow()) { ZDEditTools.DeleteZD(i as IFeature); } }
public static IFeature Union(ICursor icursor_0) { List <IFeature> features = new List <IFeature>(); for (IRow i = icursor_0.NextRow(); i != null; i = icursor_0.NextRow()) { features.Add(i as IFeature); } return(ZDEditTools.Union(features)); }
private static bool CheckLayerIsCanEditZD(IFeatureLayer ifeatureLayer_0) { bool flag = ZDEditTools.LayerCanEdit(ifeatureLayer_0); bool flag1 = flag; if (flag) { flag1 = ZDRegister.IsZDFeatureClass(ifeatureLayer_0.FeatureClass); } return(flag1); }
public static IFeature Union(IFeatureSelection ifeatureSelection_0) { ICursor cursor = null; ifeatureSelection_0.SelectionSet.Search(null, false, out cursor); IFeature feature = ZDEditTools.Union(cursor); ComReleaser.ReleaseCOMObject(cursor); cursor = null; return(feature); }
public static IFeature CreateZD(IGeometry igeometry_0) { ZDEditTools.StartEditDateTime = DateTime.Now; IFeature igeometry0 = ZDEditTools.ZDFeatureClass.CreateFeature(); igeometry0.Shape = igeometry_0; igeometry0.Store(); ZDEditTools.WriteHistoryLine(igeometry0, null, 0, ZDEditTools.StartEditDateTime); ZDEditTools.Oids.Add(igeometry0.OID); return(igeometry0); }
public static bool UpdateZDAttribute(IFeature ifeature_0, string string_0, object object_0, out IFeature ifeature_1) { ZDEditTools.StartEditDateTime = DateTime.Now; Editor.StartEditOperation(); IWorkspace workspace = AppConfigInfo.GetWorkspace(); if (!WorkspaceOperator.WorkspaceIsSame(workspace, Editor.EditWorkspace as IWorkspace)) { (workspace as IWorkspaceEdit).StartEditOperation(); } ifeature_1 = null; bool flag = ZDEditTools.Oids.IndexOf(ifeature_0.OID) == -1; IFeature feature = null; if (flag) { feature = ZDEditTools.WriteHistory(ifeature_0); } bool flag1 = true; try { ifeature_0.Value[ifeature_0.Fields.FindField(string_0)] = object_0; ifeature_0.Store(); if (flag) { IFeature feature1 = ZDEditTools.ZDFeatureClass.CreateFeature(); RowOperator.CopyFeatureToFeature(ifeature_0, feature1); ZDEditTools.Oids.Add(feature1.OID); ifeature_1 = feature1; ZDEditTools.WriteHistoryLine(ifeature_0, feature1, feature, 5, ZDEditTools.StartEditDateTime); ifeature_0.Delete(); } } catch (Exception exception1) { Exception exception = exception1; if (feature != null) { feature.Delete(); } flag1 = false; MessageBox.Show("输入数据格式错误"); // CErrorLog.writeErrorLog(null, exception, ""); } if (!WorkspaceOperator.WorkspaceIsSame(workspace, Editor.EditWorkspace as IWorkspace)) { (workspace as IWorkspaceEdit).StopEditOperation(); } Editor.StopEditOperation(); return(flag1); }
private static void WriteHistoryLine(List <IFeature> list_0, IFeature ifeature_0, List <IFeature> list_1, int int_0, DateTime dateTime_0) { int num = 0; foreach (IFeature list0 in list_0) { int num1 = num; num = num1 + 1; ZDEditTools.WriteHistoryLine(list0, ifeature_0, list_1[num1], int_0, dateTime_0); } }
public static void ChangeAttribute(IFeature ifeature_0, SortedList <string, object> sortedList_0) { ZDEditTools.StartEditDateTime = DateTime.Now; if (ZDEditTools.Oids.IndexOf(ifeature_0.OID) == -1) { ZDEditTools.Oids.Add(ifeature_0.OID); IFeature feature = ZDEditTools.WriteHistory(ifeature_0); ZDEditTools.WriteHistoryLine(ifeature_0, feature, 5, ZDEditTools.StartEditDateTime); } foreach (KeyValuePair <string, object> sortedList0 in sortedList_0) { RowOperator.SetFieldValue(ifeature_0, sortedList0.Key, sortedList0.Value); } ifeature_0.Store(); }
public static void StartZDEdit() { ZDEditTools.StartEditDateTime = DateTime.Now; IMap editMap = Editor.EditMap; List <IFeatureLayer> featureLayers = new List <IFeatureLayer>(); for (int i = 0; i < editMap.LayerCount; i++) { ILayer layer = editMap.Layer[i]; if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayerEdit(featureLayers, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer featureLayer = layer as IFeatureLayer; if (ZDEditTools.CheckLayerIsCanEditZD(featureLayer)) { featureLayers.Add(featureLayer); } } } if (featureLayers.Count == 0) { MessageBox.Show("当前没有可编辑的宗地图层!"); } else if (featureLayers.Count != 1) { frmSelectEditZD _frmSelectEditZD = new frmSelectEditZD() { FeatureLayers = featureLayers }; if (_frmSelectEditZD.ShowDialog() == DialogResult.OK) { ZDEditTools.ZDFeatureLayer = _frmSelectEditZD.SelectFeatureLayer; ZDEditTools.ZDFeatureClass = ZDEditTools.ZDFeatureLayer.FeatureClass; ZDEditTools.ZDHisFeatureClass = ZDRegister.GetHistoryFeatureClass(ZDEditTools.ZDFeatureClass); ZDEditTools.FireStartZDEdit(); } } else { ZDEditTools.ZDFeatureLayer = featureLayers[0]; ZDEditTools.ZDFeatureClass = ZDEditTools.ZDFeatureLayer.FeatureClass; ZDEditTools.ZDHisFeatureClass = ZDRegister.GetHistoryFeatureClass(ZDEditTools.ZDFeatureClass); ZDEditTools.FireStartZDEdit(); } }
public static List <IFeature> Split(IFeatureSelection ifeatureSelection_0, IPolyline ipolyline_0) { ICursor cursor; ifeatureSelection_0.SelectionSet.Search(null, false, out cursor); IFeature feature = cursor.NextRow() as IFeature; ComReleaser.ReleaseCOMObject(cursor); List <IFeature> features = new List <IFeature>(); if (feature != null) { features = ZDEditTools.Split(feature, ipolyline_0); } return(features); }
public static void DeletedSelectedZD(IMap imap_0, IFeatureLayer ifeatureLayer_0) { Editor.StartEditOperation(); IWorkspace workspace = AppConfigInfo.GetWorkspace(); if (!WorkspaceOperator.WorkspaceIsSame(workspace, Editor.EditWorkspace as IWorkspace)) { (workspace as IWorkspaceEdit).StartEditOperation(); } ZDEditTools.DeletedSelectedZD(ifeatureLayer_0 as IFeatureSelection); if (!WorkspaceOperator.WorkspaceIsSame(workspace, Editor.EditWorkspace as IWorkspace)) { (workspace as IWorkspaceEdit).StopEditOperation(); } Editor.StopEditOperation(); imap_0.ClearSelection(); (imap_0 as IActiveView).Refresh(); }
private static void CheckGroupLayerEdit(List <IFeatureLayer> list_0, ICompositeLayer icompositeLayer_0) { for (int i = 0; i < icompositeLayer_0.Count; i++) { ILayer layer = icompositeLayer_0.Layer[i]; if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayerEdit(list_0, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer featureLayer = layer as IFeatureLayer; if (ZDEditTools.CheckLayerIsCanEditZD(featureLayer)) { list_0.Add(featureLayer); } } } }
private static void CheckGroupLayer(List <IFeatureLayer> list_0, ICompositeLayer icompositeLayer_0) { for (int i = 0; i < icompositeLayer_0.Count; i++) { ILayer layer = icompositeLayer_0.Layer[i]; if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayer(list_0, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer featureLayer = layer as IFeatureLayer; if (ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass)) { list_0.Add(featureLayer); } } } }
public static void DeletedSelectedZD(IFeatureSelection ifeatureSelection_0) { IEnumIDs ds = ifeatureSelection_0.SelectionSet.IDs; ds.Reset(); int num = ds.Next(); List <IFeature> features = new List <IFeature>(); IFeatureClass featureClass = (ifeatureSelection_0 as IFeatureLayer).FeatureClass; while (num > 0) { features.Add(featureClass.GetFeature(num)); num = ds.Next(); } foreach (IFeature feature in features) { ZDEditTools.DeleteZD(feature); } }
public static IFeature Union(List <IFeature> list_0) { ITopologicalOperator4 shapeCopy = null; IGeometry geometry = null; List <IFeature> features = new List <IFeature>(); foreach (IFeature list0 in list_0) { features.Add(ZDEditTools.WriteHistory(list0)); if (shapeCopy != null) { geometry = shapeCopy.Union(list0.ShapeCopy); shapeCopy = geometry as ITopologicalOperator4; } else { shapeCopy = list0.ShapeCopy as ITopologicalOperator4; } } IFeature feature = ZDEditTools.ZDFeatureClass.CreateFeature(); feature.Shape = geometry; RowOperator.CopyFeatureAttributeToFeature(list_0[0], feature); feature.Store(); (ZDEditTools.ZDFeatureClass as IDataset).Name.Split(new char[] { '.' }); ZDHistoryTable zDHistoryTable = new ZDHistoryTable(); ZDEditTools.StartEditDateTime = DateTime.Now; int num = 0; foreach (IFeature list01 in list_0) { int num1 = num; num = num1 + 1; ZDEditTools.WriteHistoryLine(list01, feature, features[num1], 1, ZDEditTools.StartEditDateTime); list01.Delete(); } ZDEditTools.Oids.Add(feature.OID); return(feature); }
public static List <IFeatureLayer> GetZDLayers(IMap imap_0) { List <IFeatureLayer> featureLayers = new List <IFeatureLayer>(); for (int i = 0; i < imap_0.LayerCount; i++) { ILayer layer = imap_0.Layer[i]; if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayer(featureLayers, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer featureLayer = layer as IFeatureLayer; if (ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass)) { featureLayers.Add(featureLayer); } } } return(featureLayers); }
public static List <IFeature> Split(IFeatureClass ifeatureClass_0, IPolyline ipolyline_0) { ISpatialFilter spatialFilterClass = new SpatialFilter() { Geometry = ipolyline_0, SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects }; IFeatureCursor featureCursor = ifeatureClass_0.Search(spatialFilterClass, false); IFeature feature = featureCursor.NextFeature(); List <IFeature> features = new List <IFeature>(); while (feature != null) { List <IFeature> features1 = ZDEditTools.Split(feature, ipolyline_0); if (features1.Count > 0) { features.AddRange(features1); } feature = featureCursor.NextFeature(); } ComReleaser.ReleaseCOMObject(featureCursor); return(features); }
public static void Delete(IFeature ifeature_0) { ZDEditTools.DeleteZD(ifeature_0); }
public static List <IFeature> Split(IFeature ifeature_0, IPolyline ipolyline_0) { IGeometry geometry; IGeometry geometry1; IFeature feature; IFeature feature1; List <IFeature> features = new List <IFeature>(); ITopologicalOperator4 shapeCopy = ifeature_0.ShapeCopy as ITopologicalOperator4; IGeometry geometry2 = shapeCopy.Intersect(ipolyline_0, esriGeometryDimension.esriGeometry0Dimension); List <IFeature> features1 = new List <IFeature>(); ZDEditTools.StartEditDateTime = DateTime.Now; if (geometry2.IsEmpty) { shapeCopy.Cut(ipolyline_0, out geometry, out geometry1); if ((geometry == null ? false : geometry1 != null)) { feature = ZDEditTools.WriteHistory(ifeature_0); feature1 = ZDEditTools.ZDFeatureClass.CreateFeature(); features.Add(feature1); feature1.Shape = geometry; RowOperator.CopyFeatureAttributeToFeature(ifeature_0, feature1); feature1.Store(); ZDEditTools.Oids.Add(feature1.OID); ZDEditTools.WriteHistoryLine(ifeature_0, feature1, feature, 2, ZDEditTools.StartEditDateTime); feature1 = ZDEditTools.ZDFeatureClass.CreateFeature(); features.Add(feature1); feature1.Shape = geometry1; RowOperator.CopyFeatureAttributeToFeature(ifeature_0, feature1); feature1.Store(); ZDEditTools.Oids.Add(feature1.OID); ZDEditTools.WriteHistoryLine(ifeature_0, feature1, feature, 2, ZDEditTools.StartEditDateTime); ifeature_0.Delete(); } } else if ((!(geometry2 is IMultipoint) ? false : (geometry2 as IPointCollection).PointCount > 1)) { ISpatialFilter spatialFilterClass = new SpatialFilter() { Geometry = ipolyline_0, SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects }; IFeatureCursor featureCursor = (ifeature_0.Class as IFeatureClass).Search(spatialFilterClass, false); for (IFeature i = featureCursor.NextFeature(); i != null; i = featureCursor.NextFeature()) { if (i.OID != ifeature_0.OID) { features1.Add(i); } } ComReleaser.ReleaseCOMObject(featureCursor); int pointCount = (geometry2 as IPointCollection).PointCount; IPoint point = (geometry2 as IPointCollection).Point[0]; IPoint point1 = (geometry2 as IPointCollection).Point[pointCount - 1]; foreach (IFeature feature2 in features1) { ZDEditTools.HitTest(feature2, point); ZDEditTools.HitTest(feature2, point1); } IGeometryCollection geometryCollection = shapeCopy.Cut2(ipolyline_0); DateTime startEditDateTime = ZDEditTools.StartEditDateTime; feature = ZDEditTools.WriteHistory(ifeature_0); for (int j = 0; j < geometryCollection.GeometryCount; j++) { IGeometry geometry3 = geometryCollection.Geometry[j]; feature1 = ZDEditTools.ZDFeatureClass.CreateFeature(); features.Add(feature1); feature1.Shape = geometry3; RowOperator.CopyFeatureAttributeToFeature(ifeature_0, feature1); feature1.Store(); ZDEditTools.Oids.Add(feature1.OID); ZDEditTools.WriteHistoryLine(ifeature_0, feature1, feature, 2, startEditDateTime); } ifeature_0.Delete(); } return(features); }
static ZDEditTools() { ZDEditTools.old_acctor_mc(); }