Layer.UpdateFeatures(); Layer.SaveFeatureChanges() is Slow

Layer.UpdateFeatures(); Layer.SaveFeatureChanges() is Slow

Anonymous
Not applicable
823 Views
2 Replies
Message 1 of 3

Layer.UpdateFeatures(); Layer.SaveFeatureChanges() is Slow

Anonymous
Not applicable

Hello,

 

I am working with the AutoDesk Geospatial platform API to connect to a SQL2008 spatial database. I have my application working but whenever I try to add/update features and save the changes it takes a long time. It takes about 5 seconds which making a user wait five seconds to add a feature is too long.

Is this the right approch to add features or is there another method to update features and then save to the database?

 

Here is a section of my code:

 

MgFeatureCommandCollection commands = new MgFeatureCommandCollection();


commands.Add(new MgInsertFeatures(MyPointLayer.FeatureClassName, propcol));


MyPointLayer.UpdateFeatures(commands);

MyPointLayer.SaveFeatureChanges(options);

 

Any insight would be appricated.

Thanks,

-Troy

0 Likes
824 Views
2 Replies
Replies (2)
Message 2 of 3

Anonymous
Not applicable

I think you don't have to call SaveChanges method on layer and did you try updating features like this

 

AcMapFeatureService fs = AcMapServiceFactory.GetService(MgServiceType.FeatureService) as AcMapFeatureService;

fs.UpdateFeatures(new MgResourceIdentifier(layer.FeatureSourceId), commands, false);

 

0 Likes
Message 3 of 3

Anonymous
Not applicable

I found a documentation site that explains this.

 

http://wikihelp.autodesk.com/AutoCAD_Map_3D/enu/2012/Help/0000-AutoCAD_0/0015-Feature_15/0029-Updati...

 

I tried the featureservice method but the problem is AutoCAD does not update the layer correctly. It saves the data to the datasource but then AutoCAD re-overwrites it and I end up losing data. 

 

After my command to updateFeatures I would have to refresh each layer which takes longer then the "Edit Set" method from the above link.

 

 

0 Likes