ArcEinge|为要素类的属性表添加字段

前言

实现的思路大致如下:

首先查看IFeatureClass接口,其中有AddField方法可以添加字段。

而IFeatureLayer中存在FeatureClass属性直接获得IFeatureClass接口,使用AddField方法就可以添加字段。

但是AddField方法中需要一个IField对象。查看IField接口发现其中的属性不可写;(IFieldEdit中的属性可读可写

可以添加字段),于是使用IFieldEdit来创建IField对象(接口跳转),FieldClass实现了IFieldEdit和IField接口。

代码实现

添加一个字段比较简单,代码如下:

//添加X坐标字段
public void Add_POINT_X_Field(IFeatureClass pfc)
{
    IClass cls = pfc as IClass;
    IField cif = new FieldClass();
    IFieldEdit cfe = cif as IFieldEdit;
    cfe.Name_2 = "POINT_X";
    cfe.AliasName_2 = "POINT_X";
    cfe.Type_2 = esriFieldType.esriFieldTypeDouble;
    cfe.Editable_2 = true;
    if (cls.FindField(cfe.Name) < 0)
    {
        cls.AddField(cfe);
    }
}

添加多个字段同理,重复的设置IFieldEdit即可,比较麻烦。

posted @ 2022-09-04 10:35  Weltㅤ  阅读(154)  评论(0编辑  收藏  举报