Felder durchnummerieren

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)