6

I am working with some feature classes. I create those feature classes using my add-in. User can add/ delete features from these feature classes clicking on "add", "delete" buttons and selecting features. I added features using following code:

void AddFeature(IFeatureClass featureClass, IGeometry geometry)
{
    IFeature feature = featureClass.CreateFeature();
    feature.Shape = geometry;
    feature.Store();
}

And deleted features using following code:

void DeleteFeaturesWithinPolygon(IFeatureClass featureClass, IPolygon polygon)
{
    List<IFeature> features = GetFeaturesWithinPolygon(featureClass, polygon);
    foreach (var feature in features)
        feature.Delete();
}

Thing is, I did not use editor session. And actually, I did not think about it earlier. but today seeing this question, I think about edit session. I know can do these edits, without edit session. Actually I am doing it right now.

  • After doing work with IEditor, I feel that most amazing thing of this is decreasing significant amount of time. When I updated 13k features, time reduces from 20 minutes to 1 minute. – Emi Apr 24 '13 at 5:48
3

I think this document will provide to you a good source of knowledge: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//000100000340000000

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

6

I recommend starting and finishing all edits within an edit operation inside of a try block, where a catch block would call AbortOperation.

Something I've always wondered about is whether it makes sense before starting an edit operation to check to see if there's already an operation underway, via IWorkspaceEdit2.IsInEditOperation.

  • But if I do edit in the way I am doing now, is it wrong or is there any kind of problem? – Emi Jan 29 '13 at 3:37
5

The benefit of starting an edit session is that you can use the many different edit event listeners to control edit workflow if needed. You also have the ability to undo edits if a feature was deleted by mistake.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.