天天看點

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

一、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()方法送出。

繼續閱讀