2016-04-12 23 views
0

Ich suchte nach einer ähnlichen Frage wie meine, konnte aber nichts Genaues finden. Wenn dies also bereits beantwortet wurde, entschuldige ich mich.ArcGIS: Feldwert aus anderen Feldern automatisch berechnen

ich eine ROW Shape-Datei erschaffe, die (unter anderem) enthält drei Felder: "Liber" "Seite" "ROWID"

Derzeit I "Liber" und "Seite" gesetzt als Textwerte haben (obwohl sich das später in einen numerischen Datentyp ändern kann) und "ROWID" als Textwert. Ist es möglich, ein Skript zu schreiben, das "ROWID" automatisch berechnet als:

"ROW-" +! Liber! +! Seite!

Ich versuche dies einzurichten, damit jemand Daten eingeben kann, ohne viel mehr zu tun, als Werte in die Felder "Liber" und "Page" einzugeben. Wenn es so nicht möglich ist, wie kann ich es so einstellen, dass jemand mit der rechten Maustaste auf das Feld "ROWID" klicken kann, wählen Sie "Werte berechnen" (die ich eigentlich nicht mehr finden kann; außerhalb der Geoverarbeitungs-Toolbox?), und führen Sie das obige Python-Skript aus? Ich kann nicht wirklich erwarten, dass die Dateneingabe Person den Feldrechner jedes Mal ausführen, wenn sie einen neuen "ROWID" -Wert berechnen müssen, leider.

Bitte lassen Sie mich wissen, wenn dies keinen Sinn ergibt. Vielen Dank!

Antwort

1

Der einfachste Weg, um dies zu erreichen, ist die Verwendung von Calculate Field. In diesem Fall würde das Skript sein:

FC = path to shapefile

field = "ROWID"

arcpy.CalculateField(FC, field, '!Liber! + !Page!', "PYTHON_9.3")

Verwandte Themen