当前位置:   article > 正文

ArcGIS批量添加字段 AddField

java 对远程arcgis gdb库 增加fields字段

       前些日子做了一个数据库的修改工作,要为数据添加字段,数据为Geodatabase类型,里面有90多个图层,每个图层添加6个字段,一共要做2个小时左右,而且效率比较低,容易出错,因此想到了通过程序来解决。

       实现如下,首先先建立程序主窗体,包括TocControl,AxMapControl和ToolBarControl,设置好他们之间的Buddy属性,在ToolBarControl中添加基本工具(包含数据加载工具,用于加载操作数据)。

       地图加载进来,就可以对图层进行循环处理添加字段了。

       主要代码如下:       

       public ILayer pLayer;
       public IFeatureLayerpFLayer;
       public IFeatureClasspFC;
       public ILayerFieldspLayerFields;
       DataTable dt = new DataTable();
       private voidbtnAdd_Click(object sender, EventArgs e)
       {
            if(axMapControl1.LayerCount == 0)
            {
               MessageBox.Show("请先加载添加字段的图层!");
                return;
            }
            //循环所有图层
            for(int i = 0; i < axMapControl1.LayerCount;i++)
            {
                try
                {
                    pLayer =axMapControl1.get_Layer(i);
                    pFLayer = pLayer as IFeatureLayer;
                    pFC = pFLayer.FeatureClass;
                    pLayerFields = pFLayer as ILayerFields;
                    ITablepTable = (ITable)pFC;
                    //删除原来表中的数据,若不需要可以去除,在数据库有数据的情况下无法插入非空字段
                    pTable.DeleteSearchedRows(null);
                    IFieldnewField = new FieldClass();
                    IFieldEditfieldEdit = (IFieldEdit)newField;
                    fieldEdit.Name_2 = "字段名称";
                    //数据类型,这里以字符型为例
                    fieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
                    //字节长度
                    fieldEdit.Length_2 = 1;
                    //字段是否允许为空
                    fieldEdit.IsNullable_2 = false;
                   pFC.AddField(newField);                 
                }
                catch(Exception exc)
                {
                    MessageBox.Show("添加失败" + exc.Message);
                }
            }
        }

 

 

转载于:https://www.cnblogs.com/Jingkunliu/archive/2011/12/26/2452133.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/228127
推荐阅读
相关标签
  

闽ICP备14008679号