向ArcSDE中的FeatureClass添加要素常用函数

本文介绍如何在ArcSDE中通过不同方法编辑空间数据,包括使用IFeatureCursor和IFeatureBuffer的传统方式,以及利用IFeatureClass的CreateFeature方法进行数据插入的简化流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、1. 打开ArcSDE中的FeatureClass:  OpenFeatureClass(String) —> 得到featureClass对象

    2. 创建游标IFeatureCusor :   featureClass.insert(true);

    3. 创建IFeatureBuffer : featureClass.CreateFeatureBuffer();

    4. 调用IFeatureBuffer 的set_value函数设置字段的值,在这之前要获得字段的整数索引。设置IFeatureBuffer的Shape(IGeometry)。

    5. 调用 IFeatureCusor的insertFeature(IFeatureBuffer).

    6. 调用 IFeatureCusor的flush()函数更新到FeatureClass。

注意:在arcsde里打开featureclass时候如果该featureclass 已经注册,则获取游标featurecusor会失败,

解决方法:1、取消版本注册,然后在获取featurecusor。(取消版本注册后,要素无法编辑)

2、使用featureworkspaceEdit 编辑。

workspaceEdit.StartEditing(true);
         workspaceEdit.StartEditOperation();
IFeatureCursor featureCursor = featureClass.Insert(true);

 featureOID = featureCursor.InsertFeature(featureBuffer); featureCursor.Flush();
         //Stop editing
         workspaceEdit.StopEditOperation();
         workspaceEdit.StopEditing(true);

关于SDE注册版本 权限注意的说明

 二、不使用IFeatureCursor和IFeatureBuffer,直接使用IFeatureClass的CreateFeature()方法,然后d调用Store()方法提交。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值