private Boolean FieldsCheck(string shapeFilePath, params string[] targetField)
        {
            _shapeOp.FilePath = shapeFilePath;
            IFeatureClass pFeatureClass = _shapeOp.OpenFeatureClass();

            return(pFeatureClass.FieldExistCheck(targetField));
        }
Esempio n. 2
0
 public  void AddField(IFeatureClass pFeatureClass,string fieldName,esriFieldType fieldType)
 {
     //如果存在不必添加字段,直接返回
     if (pFeatureClass.FieldExistCheck(fieldName)) return;
     var pField = new FieldClass();
     var pFieldEdit = (IFieldEdit)pField;
     pFieldEdit.Name_2 = fieldName;
     pFieldEdit.Type_2 = fieldType;  
     pFeatureClass.AddField(pFieldEdit);
 }
Esempio n. 3
0
        public void AddField(IFeatureClass pFeatureClass, string fieldName, esriFieldType fieldType)
        {
            //如果存在不必添加字段,直接返回
            if (pFeatureClass.FieldExistCheck(fieldName))
            {
                return;
            }
            var pField     = new FieldClass();
            var pFieldEdit = (IFieldEdit)pField;

            pFieldEdit.Name_2 = fieldName;
            pFieldEdit.Type_2 = fieldType;
            pFeatureClass.AddField(pFieldEdit);
        }
Esempio n. 4
0
        /// <summary>
        /// 检查所给的字段不为空
        /// </summary>
        /// <param name="pFeatureClass"></param>
        /// <param name="fields"></param>
        /// <returns></returns>
        public static bool NotNullCheck(this IFeatureClass pFeatureClass, params string[] fields)
        {
            if (!pFeatureClass.FieldExistCheck(fields))
            {
                return(false);
            }
            var            fieldsIndex    = pFeatureClass.FieldsIndex(fields);
            IFeatureCursor pFeatureCursor = pFeatureClass.Search(null, false);
            IFeature       pFeature;
            bool           flag    = true;
            var            indices = fieldsIndex as int[] ?? fieldsIndex.ToArray();

            while ((pFeature = pFeatureCursor.NextFeature()) != null)
            {
                if (!indices.Any(index => pFeature.Value[index] == null))
                {
                    continue;
                }
                flag = false;
                break;
            }
            Marshal.ReleaseComObject(pFeatureCursor);
            return(flag);
        }
Esempio n. 5
0
 /// <summary>
 /// 判断要素类的字段是否存在
 /// </summary>
 /// <param name="pFeatureClass">要素类</param>
 /// <param name="fields">字段集合</param>
 /// <returns>是否存在</returns>
 public static bool FieldExistCheck(this IFeatureClass pFeatureClass, IEnumerable <string> fields)
 {
     return(pFeatureClass.FieldExistCheck(fields.ToArray()));
 }