I've come across this issue a few times and have not yet found an agreed upon solution on any forum.
Simply put, I have a featureclass containing many polyline features. I would like to calculate the lengths of each feature and write that value to a new field, which I have already added to the featureclass.
I know that I can export the featureclass to a geodatabase and have the length calculated automatically, but that doesn't make much sense in terms of programmatic workflow. It seems like I might be missing something simple, but there are obviously others out there with the same unanswered question.
EDIT: I should have been more clear. I would like to carry this out using ArcObjects. The field calculator method that keeps coming up does not appear to work for this purpose.
EDIT 2: I've sorted out one method for doing this using ArcObjects. Solution/Code is below. Thanks for all the help and suggestions.
The following code assumes you are operating on IFeatureClass and have already added a field called "Length" to the existing FeatureClass (which contains a series of polyline Features). I have tested it on a shapefile containing about 300 polyline Features.
Dim nLengthFieldIndex As Integer = pFCXS.FindField("Length") Debug.Assert(nLengthFieldIndex > -1) Dim dLength As Double If TypeOf pFC Is IFeatureClass Then Dim pFeatureCursor As IFeatureCursor pFeatureCursor = pFC.Search(Nothing, False) If TypeOf pFeatureCursor Is IFeatureCursor Then Dim pFeature As IFeature = pFeatureCursor.NextFeature() While pFeature IsNot Nothing Dim pLine As IPolyline pLine = pFeature.Shape If TypeOf pLine Is IPolyline Then dLength = pLine.Length pFeature.Value(nLengthFieldIndex) = dLength pFeature.Store() pFeature = pFeatureCursor.NextFeature End If End While End If pFeatureCursor.Flush() End If