Hi,I am running a check routine on a big (oracle based) SDE database (100K's of entries in dozends of tables) and create new Pointfeatures with some additional Field entries according to that check.I am using an InsertCursor for storing new features, because I've read that it can perform better than the FeaturClass.CreateFeature() / Feature.Store() aproach. However, it seems that my featureclass has some "complex" properties, as calling InsertCursor.InsertFeature() takes about 500 milliseconds for each point. Having to create about 30K Points, this results in a processing time of at least 6 hours, and that's just for storing the features, the check takes some time itself...Does anyone have an idea on how to speed up the process? Maybe a direct method of writing new Rows into the Featureclasses' Table might speed up the whole thing... I'm afraid I don't have much oracle know how, is there a simple way to accomplish such an insert operation with some c# code?
Dim pFeatCur As IFeatureCursor Dim pFeatBuf As IFeatureBuffer pFeatBuf = pFeatureClass.CreateFeatureBuffer pFeatCur = pFeatureClass.Insert(True) '*Add the new point tmpPoint = New ESRI.ArcGIS.Geometry.Point tmpPoint.PutCoords((CDec(row.Item("longitude"))), CDec(row.Item("latitude"))) '*Set the new point to match Projected CoordSys of SDE FeatureClass' pGeo = tmpPoint pGeo.SpatialReference = pSpRefWGS pGeo.Project(pSpRefNAD83) '*Create a point pGeo.SnapToSpatialReference() pFeatBuf.Shape = pGeo pFeatCur.InsertFeature(pFeatBuf)
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.