Page Title

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mikeurban:arcgis:berechnungen_durchnummerieren

Dies ist eine alte Version des Dokuments!


Datensätze durchnummerieren

Das Skript datensaetze-nummerieren5.cal nummeriert Elemente nach dem Schema:

S_030
S_031
S_032
etc.

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

Das Skript basiert auf einer Idee von Bill Huber im ArcView Forum, und auf der Online-Hilfe zu ArcMap.

Schritt für Schritt

(1) Klicken Sie in der Attributtabelle mit der rechten Maustaste auf den Spaltenkopf und öffnen Sie die Feldberechnung. Das Feld muss vom Typ her ein Textfeld sein!

(2) Wechseln Sie den Parser auf "Python"

(3) Laden Sie das Skript datensaetze-nummerieren5.cal.

(4) Passen Sie die folgenden Parameter an:

Konstante Erklärung
Prefix Zeichenfolge, die an den Anfang gestellt wird
z.B. "S_"
Length Anzahl der Stellen der Ziffernfolge
z.B. 3, um S_001, S_002, S_003 etc. zu erzeugen
Start Startwert
z.B. 30, um mit S_030 zu beginnen
Interval Schrittweite von einem Element zu nächsten
z.B 2, um S_030, S_032, S_034 zu erzeugen
Suffix Zeichenfolge, die ans Ende gestellt wird
z.B. "a" um S_030a, S_031a, S_032a zu erzeugen

(5) Führen Sie das Skript mit "OK" aus.

Technische Details

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 = 0
def autoIncrement():
    global rec
    ### Die folgenden Werte sind anzupassen:
    Prefix = 'Knoten_'    # Zeichenfolge, die an den Anfang gestellt wird
    Length = 3            # Anzahl der Stellen der Ziffernfolge
    Start = 1             # Startwert
    Interval = 1          # Schrittweite
    Suffix = ''           # Zeichenfolge, die ans Ende gestellt wird
    ###
    Fill = '00000000000000000000'
    if ( rec == 0 ):
        rec = Start
    else:
        rec = rec + Interval
    ID = Prefix + (Fill + str(rec))[-Length:] + Suffix
    return ID

Changelog

Datum Änderung
27.11.2013 auf Python umgeschrieben (= Version 5)
14.12.2006 Prefix und Suffix eingefügt (= Version 4)
mikeurban/arcgis/berechnungen_durchnummerieren.1385577403.txt.gz · Zuletzt geändert: 2013/11/27 19:36 von thomas