Page Title

Der Wiki wird derzeit überarbeitet: neue URL, neues Design, neue Inhalte!

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mikeurban:arcgis:berechnungen_durchnummerieren_93

Felder durchnummerieren

Dieses Skript funktioniert nur mit ArcGIS 9.3. Eine neuere Version funktioniert mit ArcGIS 10.0 und höher

Das Skript rec_Number_ConstantLengthString4.cal nummeriert Elemente nach dem Schema:

S_030
S_031
S_032
etc.

Damit können in ArcMap zum Beispiel ausgwählte Elemente mit einer benutzerdefinierten, fortlaufenden ID versehend werden.

Das Skript basiert auf der exzellenten Sammlung Easy Calculate 5.0 von Ianko Tchoukanski.

Schritt für Schritt

1. Markieren Sie die Elemente, in denen Sie eine neue Bezeichnung einführen wollen.

2. Wechseln Sie mit „Werkzeuge|Layout“ und ArcGIS

3. Öffnen Sie die Attributtabelle.

4. Stellen Sie sicher, dass der „Editor Toolbar“ sichtbar ist (unter Tools|Editor Toolbar), und starten Sie die Bearbeitung im Dropdown-Menü „Editor“.

5. Klicken Sie auf die Spalte, die Sie bearbeiten möchten und öffnen Sie den „Field Calculator“.

6. Laden Sie das beiliegende Skript mit „Load…“.

7. Im Kopf des Skripts müssen Sie einige Konstanten mit Werten belegen:

Konstante Erklärung
sPrefix Zeichenfolge, die an den Anfang gestellt wird
z.B. „S_“
IStringLength Anzahl der Stellen der Ziffernfolge
z.B. 3, um S_001, S_002, S_003 etc. zu erzeugen
IStart Startwert
z.B. 30, um mit S_030 zu beginnen
IInterval Intervall von einem Element zu nächsten
z.B 2, um S_030, S_032, S_034 zu erzeugen
sSuffix Zeichenfolge, die ans Ende gestellt wird
z.B. „a“ um S_030a, S_031a, S_032a zu erzeugen

8. Mit „OK“ starten Sie die Berechnung.

9. Beenden Sie die Bearbeitung im Dropdown-Menü des Editor Toolbars.

10. Wechseln Sie zurück nach MIKE URBAN. Eventuell müssen Sie zum Visualisieren von geänderten Beschriftungen den Bildschirm neu aufbauen.

Reihenfolge der Nummerierung

Die Datensätze werden in der Reihenfolge abgearbeitet, in der Sie in der Datenbank aufscheinen. Dies sollten Sie beim Digitalisieren neuer Schächte beachten. Üblicherweise wird in Hauptfließrichtung nummeriert.

Doppelte Bezeichnungen

Falls Sie einen Namen erzeugen, der als MUID bereits vorhanden ist, stoppt das Skript mit einer Fehlermeldung „Failed to apply changes after the row with ObjectID=22 with the calulated value. Das kann passieren, wenn Sie

a) an einer anderen Stelle im Netz einen gleich lautenden Namen vergeben haben

b) die Ziffernfolge zu kurz ist für die Anzahl der ausgewählten Elemente.

In der Zeile 22 wurde eine doppelte ID erzeugt, danach kam die Fehlermeldung der MIKE URBAN Datenbank. Machen Sie den letzten Schritt rückgängig (dabei werden *alle* Zeilen wieder zurückgesetzt betroffen), und modifizieren Sie Ihren Rechenausdruck entsprechend.

Listing

'=========================
'rec_Number_ConstantLengthString4.cal
'idea from Bill Huber's post on ArcView Forum
'Author: Ianko Tchoukanski
'http://www.ian-ko.com
'Prefix and Suffix added by Thomas Telegdy
'=========================
Static rec As Long
Static j As Long
Dim lStart As Long
Dim lInterval As Long
Dim sFill As String
Dim lStringLength As Long
Dim sID As String
Dim sPrefix As String
Dim sSuffix As String
'============================
'set the variables below
sPrefix = "Knoten_"
lStringLength = 3
lStart = 1
lInterval = 1
sSuffix = ""
'============================
sFill = "00000000000000000000"
sID = ""
If (j = 0) Then
  rec = lStart
Else
  rec = rec + lInterval
End If
sID = sPrefix & Right(sFill & CStr(rec), lStringLength) & sSuffix
j = j + 1
 
 
__esri_field_calculator_splitter__
sID

Changelog

Datum Änderung
14.12.2006 Prefix und Suffix eingefügt (=Version 4)
mikeurban/arcgis/berechnungen_durchnummerieren_93.txt · Zuletzt geändert: 2014/03/06 22:37 von thomas