读书人

ao增多操作

发布时间: 2012-12-20 09:53:21 作者: rapoo

ao增加操作

 //IFeatureBuffer Example    public void IFeatureBuffer_Example(IFeatureClass featureClass)    {        //Function is designed to work with polyline data        if (featureClass.ShapeType != ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolyline) { return; }        //get the Workspace from the IDataset interface on the feature class        IDataset dataset = (IDataset)featureClass;        IWorkspace workspace = dataset.Workspace;        //Cast for an IWorkspaceEdit        IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)workspace;        //Start an edit session and operation        workspaceEdit.StartEditing(true);        workspaceEdit.StartEditOperation();        //Create the Feature Buffer        IFeatureBuffer featureBuffer = featureClass.CreateFeatureBuffer();        //Create insert Feature Cursor using buffering = true.        IFeatureCursor featureCursor = featureClass.Insert(true);        object featureOID;        //With a feature buffer you have the ability to set the attribute for a specific field to be        //the same for all features added to the buffer.        featureBuffer.set_Value(featureBuffer.Fields.FindField("InstalledBy"), "K Johnston");        //Here you can set the featurebuffers's shape by setting the featureBuffer.Shape         //to a geomerty that matched the featureclasses.        //Create 100 features using FeatureBuffer and insert into a feature cursor        ESRI.ArcGIS.Geometry.IPolyline polyline = new ESRI.ArcGIS.Geometry.PolylineClass();        ESRI.ArcGIS.Geometry.IPoint point = new ESRI.ArcGIS.Geometry.PointClass();        for (int i = 0; i < 100; i++)        {            //Create the polyline geometry to assign to the new feature            point.X = 498490 + i * 10;            point.Y = 675380 + i * 10;            polyline.FromPoint = point;            point = new ESRI.ArcGIS.Geometry.PointClass();            point.X = 498480 + i * 10;            point.Y = 675390 + i * 10;            polyline.ToPoint = point;            featureBuffer.Shape = polyline;            //Insert the feature into the feature cursor            featureOID = featureCursor.InsertFeature(featureBuffer);        }        //Flush the feature cursor to the database        //Calling flush allows you to handle any errors at a known time rather then on the cursor destruction.        featureCursor.Flush();        //Stop editing        workspaceEdit.StopEditOperation();        workspaceEdit.StopEditing(true);        //Release the Cursor        System.Runtime.InteropServices.Marshal.ReleaseComObject(featureCursor);

读书人网 >编程

热点推荐