Hallo! Ich bin GIS-Neuling und habe folgendes Problem: ich habe eine Menge Strecken (Polylines) in eine vorhandene Karte eingezeichnet und mit entsprechenden Merkmalen in der Attributtabelle hinterlegt. Nun wollte ich die entsprechenden Längen in die Tabelle shreiben lassen, finde aber keine Möglichkeit (ich wälze grade Literatur und das Handbuch...). Gibt es eine solche Möglichkeit? Ich wäre für Tips dankbar...
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von AlexTegeder am Mo., 17.07.2006 - 11:07
Permalinkhttp://www.ian-ko.com/
Der Ausdruck zum Berechnen der Längen von Polylinien ist gemäß IANKO der folgende:
'=========================
'shape_Return_Length.cal
'Author: Ianko Tchoukanski
'http://www.ian-ko.com
'=========================
On Error Resume Next
Dim pMxDoc As IMxDocument
Dim pMap As IMap
Dim pGeometry As IGeometry
Dim pCurve As ICurve
Dim dLength As Double
Dim bSrefFromMap As Boolean
'=======================
'Adjust the parameter below
'True ==> the length will be calculated in the projection of the Map
'False ==> the length will be calculated in the projection of the data
bSrefFromMap = True
'=======================
If (IsNull([Shape])) Then
dLength = -1
Else
Set pGeometry = [Shape]
If (pGeometry.IsEmpty) Then
dLength = -1
Else
If (bSrefFromMap) Then
Set pMxDoc = ThisDocument
Set pMap = pMxDoc.FocusMap
pGeometry.Project pMap.SpatialReference
End If
Set pCurve = pGeometry
dLength = pCurve.Length
End If
End If
Du kannst entweder diesen Ausdruck direkt in den Taschenrechner hineinkopieren und berechnen oder gehst auf die HP und schaust dich da mal um, um dir das Easy Calculate- Modul herunterzuladen!
Sehr hilfreich!
Gruß Alex
Gespeichert von Gast am Mo., 17.07.2006 - 11:40
PermalinkGespeichert von Wolfgang am Di., 18.07.2006 - 08:31
Permalinkganz einfach geht das, indem man mit einer Personal Geodatabase arbeitet. Hat neben vielen anderen Vorteilen die Funktion, dass automatisch Längen und Flächen nachgeführt werden, sobald sich etwas ändert!
Gruß
Wolfgang