Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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;

And deleted features using following code:

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

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. But I want to know what is the best practice to do these edits.

share|improve this question
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
up vote 4 down vote accepted

I think this document will provide to you a good source of knowledge:

enjoy it

share|improve this answer

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.

share|improve this answer
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

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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