向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()方法提交。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章