arcgisengine添加要素的方法

时间:2013-4-17    作者:悬浮的青春    分类:


直接贴代码吧。。。如下

       private void addFeature(string layerName, IGeometry geometry)

        {

            ILayer layer = axMapControl1.Map.get_Layer(0);

            IFeatureLayer featureLayer = layer as IFeatureLayer;

            IFeatureClass featureClass = featureLayer.FeatureClass;

            IDataset dataset = (IDataset)featureClass;

            IWorkspace workspace = dataset.Workspace;

 

            //开始编辑空间

            IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)workspace;

            workspaceEdit.StartEditing(true);

            workspaceEdit.StartEditOperation();

            //IFeatureBuffer featureBuffer = featureClass.CreateFeatureBuffer();

            IFeatureCursor featureCursor;

 

            //清除图层原有的要素

            featureCursor = featureClass.Search(nullfalse);

            IFeature feature;

            IFeatureBuffer featureBuffer = featureClass.CreateFeatureBuffer();

 

            feature = featureCursor.NextFeature();

            while (feature != null)

            {

                feature.Delete();

                feature = featureCursor.NextFeature();

            }

 

            //开始插入要素

            featureCursor = featureClass.Insert(true);

           

            featureBuffer.Shape = geometry;

            object featureOID = featureCursor.InsertFeature(featureBuffer);

 

 

            //保存要素

            featureCursor.Flush();

            axMapControl1.Refresh();

            //完成编辑

            workspaceEdit.StopEditOperation();

            workspaceEdit.StopEditing(true);

            System.Runtime.InteropServices.Marshal.ReleaseComObject(featureCursor);//释放指针

        }

标签: arcgis二次开发

WRITTEN BY

avatar


评论:

ivan 2013-04-17 12:16
博主用的三蛋空间啊~~貌似访问有点慢
悬浮的青春 2013-04-17 15:49
@ivan:看你空间很快。是买的?我刚建站。所以先搞了个免费的。。。