Exemple #1
0
        public static IFeatureLayer GetFirstZDLayer(IMap imap_0)
        {
            IFeatureLayer featureLayer;
            IEnumLayer    layers = imap_0.Layers[null, true];

            layers.Reset();
            ILayer layer = layers.Next();

            while (true)
            {
                if (layer == null)
                {
                    featureLayer = null;
                    break;
                }
                else if (!(layer is IFeatureLayer) || !ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass))
                {
                    layer = layers.Next();
                }
                else
                {
                    featureLayer = layer as IFeatureLayer;
                    break;
                }
            }
            return(featureLayer);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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();
            }
        }
Exemple #4
0
 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);
             }
         }
     }
 }
Exemple #5
0
        private static void WriteHistoryLine(IFeature ifeature_0, IFeature ifeature_1, IFeature ifeature_2, int int_0,
                                             DateTime dateTime_0)
        {
            string[]       strArrays      = (ZDEditTools.ZDFeatureClass as IDataset).Name.Split(new char[] { '.' });
            ZDHistoryTable zDHistoryTable = new ZDHistoryTable();
            IRow           row            = ZDEditTools.ZDChangeHisInfoTable.CreateRow();

            RowOperator.SetFieldValue(row, zDHistoryTable.ChageDateFieldName, dateTime_0);
            RowOperator.SetFieldValue(row, zDHistoryTable.ChangeTypeFieldName, int_0);
            RowOperator.SetFieldValue(row, zDHistoryTable.OrigineZDOIDName, ifeature_0.OID);
            RowOperator.SetFieldValue(row, zDHistoryTable.NewZDOIDName, ifeature_1.OID);
            if (ifeature_2 != null)
            {
                RowOperator.SetFieldValue(row, zDHistoryTable.HisZDOIDName, ifeature_2.OID);
            }
            RowOperator.SetFieldValue(row, zDHistoryTable.ZDFeatureClassName, strArrays[(int)strArrays.Length - 1]);
            RowOperator.SetFieldValue(row, zDHistoryTable.ZDRegisterGuidName,
                                      ZDRegister.GetRegisterZDGuid(ZDEditTools.ZDFeatureClass));
            row.Store();
        }
Exemple #6
0
        public static bool HasZDLayer(IMap imap_0)
        {
            bool       flag   = false;
            IEnumLayer layers = imap_0.Layers[null, true];

            layers.Reset();
            for (ILayer i = layers.Next(); i != null; i = layers.Next())
            {
                if (i is IFeatureLayer)
                {
                    bool flag1 = ZDRegister.IsZDFeatureClass((i as IFeatureLayer).FeatureClass);
                    flag = flag1;
                    if (flag1)
                    {
                        break;
                    }
                }
            }
            return(flag);
        }
Exemple #7
0
        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);
        }