Längen von Linien-features addieren

Hallo Forum,

ich muss immer wieder im großen Umfang Längen von ausgewählten Linienfeatures (in einer geodatabase) addieren. Bisher wähle ich dazu immer die entsprechenden features aus und lasse mir über die Statistik die Gesamtlänge angeben.

Schön wäre es, wenn man sich die Länge der ausgewählten features irgendwie direkt anzeigen lassen könnte. Hat da jemand eine Idee oder schon ein kleines VBA-script parat?

Beste Grüße,
Achim
Versuch's mal hiermit. Einen Button musst du zwar immernoch drücken...

Private Sub UIButtonControl1_Click()
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument

Dim pEnumFeat As IEnumFeature
Set pEnumFeat = pMxDoc.FocusMap.FeatureSelection

Dim pFeat As IFeature, pCurve As ICurve, dLen As Double
dLen = 0#

Set pFeat = pEnumFeat.Next
Do Until pFeat Is Nothing
If TypeOf pFeat.Shape Is ICurve Then
Set pCurve = pFeat.ShapeCopy
pCurve.Project pMxDoc.FocusMap.SpatialReference
dLen = dLen + pCurve.Length
End If
Set pFeat = pEnumFeat.Next
Loop

Dim sUnits As String
If TypeOf pMxDoc.FocusMap.SpatialReference Is IProjectedCoordinateSystem Then
Dim pPCS As IProjectedCoordinateSystem
Set pPCS = pMxDoc.FocusMap.SpatialReference
'dLen = dLen * pPCS.CoordinateUnit.MetersPerUnit / 1000#
'sUnits = " km"
sUnits = " m"
Else
sUnits = " unknown units"
End If
MsgBox "Total Length: " & Format(dLen, "0.0000") & sUnits
End Sub


Quelle
Wow! Hammer :-)

Das erleichtert die Sache ungemein.

Vielen Dank