IFeatureBuffer接口的使用——添加要素进入要素类的方法

在实例代码中,首先要得到一个几何对象,再将这几个几何对象保存到要素类的Shape字段中,如果要素类存在其他类型的字段,则依据这个字段的类型设置一些默认的数值或字符串。

 

    private void AddFeatureToFeatureClass(IFeatureClass pFeatClass, IGeometry pGeom)
        {
            //打开要素游标和要素缓冲,pFeatClass的一个要素类
            IFeatureCursor pFeatCur = pFeatClass.Insert(true);
            IFeatureBuffer pFeatBuf = pFeatClass.CreateFeatureBuffer();
            //pGeom对象时需要传入的几何形体对象
            IPolygon pPolygon = pGeom as IPolygon;
            IFields pFlds = pFeatClass.Fields;
            for (int i = 1; i <= pFlds.FieldCount; i++)
            {
                IField pFld = pFlds.get_Field(i);
                  //如果为几何字段,将pGeom传入
                if (pFld.Type = esriFieldType.esriFieldTypeGeometry)
                {
                    pFeatBuf.set_Value(i, pGeom);
                }
                else
                {
                    //传入各种试验值
                    if (pFld.Type == esriFieldType.esriFieldTypeInteger)
                        pFeatBuf.set_Value(i, 0);
                    if (pFld.Type == esriFieldType.esriFieldTypeDouble)
                        pFeatBuf.set_Value(i, 0.0);
                    if (pFld.Type == esriFieldType.esriFieldTypeSmallInteger)
                        pFeatBuf.set_Value(i, 0);
                    if (pFld.Type == esriFieldType.esriFieldTypeString)
                        pFeatBuf.set_Value(i, "noname");
                }
            }
            //将要素缓冲对象通过插入游标保存进要素类中
            pFeatCur.InsertFeature(pFeatBuf);         
        }


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值