Skip To Content

Attributregel hinzufügen

Zusammenfassung

Fügt einem Dataset eine Attributregel hinzu.

Attributregeln sind benutzerdefinierte Regeln, die einem Dataset hinzugefügt werden können, um die Bearbeitung zu vereinfachen und Datenintegrität zu erzwingen. Diese Regeln können dazu verwendet werden, Attributwerte einzupflegen oder zulässige Feature-Konfigurationen einzuschränken, und werden bei der Feature-Bearbeitung umgesetzt. Wird eine Regel bei der Bearbeitung eines Features verletzt, wird eine Fehlermeldung zurückgegeben.

Weitere Informationen zu Regeln

Weitere Informationen zur Arcade-Skriptsprache.

Verwendung

  • Attributregeln werden nur in Enterprise-Geodatabase-Datasets unterstützt.

  • Der für die Definition einer Attributregel verwendete Ausdruck ist beschränkt auf die Funktionen, die in der Arcade-Sprache geschrieben werden können.

  • Für die Übertragung vorhandener Attributregeln in ein anderes Dataset können Sie die Werkzeuge Attributregeln exportieren und Attributregeln importieren verwenden, statt dieses Tool mehrfach auszuführen.

  • Hinweis:

    Wenn Sie einem Dataset Attributregeln hinzugefügt haben, muss die Client-Version des Datasets mindestens ArcGIS Pro 2.1 entsprechen. Dadurch kann das Dataset in ArcGIS Desktop nicht mehr verwendet werden.

Syntax

AddAttributeRule_management (in_table, name, type, {script_expression}, {is_editable}, {triggering_events}, {error_number}, {error_message}, {description}, subtype, {field}, {exclude_from_client_evaluation})
ParameterErläuterungDatentyp
in_table

Die Tabelle oder Feature-Class, auf die die neue Regel angewendet wird.

Table View
name

Ein eindeutiger Name für die neue Regel.

String
type

Der Typ der hinzuzufügenden Attributregel.

  • CALCULATIONFüllt Attributwerte für Features automatisch, wenn ein anderes Attribut für ein Feature festgelegt wird. Beim Hinzufügen mehrerer Berechnungsregeln ist es wichtig, die Reihenfolge zu beachten, in der die Regeln hinzugefügt werden, wenn zirkuläre Abhängigkeiten bestehen. Wenn beispielsweise Regel A berechnet, dass Field1 gleich dem Wert von $feature.Field2 + $feature.Field3 ist, und Regel B, dass Field4 gleich $feature.Field1 + $feature.Field5 ist, dann können die Ergebnisse je nach Reihenfolge, in der die Regeln hinzugefügt werden, sehr unterschiedlich ausfallen. Diese Regeln werden basierend auf den angegebenen auslösenden Ereignissen angewendet.
  • CONSTRAINTGeben Sie zulässige Attributkonfigurationen für ein Feature an. Wird die Beschränkungsregel verletzt, wird ein Fehler generiert und das Feature nicht gespeichert. Wenn beispielsweise der Wert von Field A niedriger sein muss als die Summe aus Field B und Field C, wird bei Verletzen der Beschränkung ein Fehler generiert.
String
script_expression
(optional)

Ein Arcade-Ausdruck zur Definition der Regel.

Calculator Expression
is_editable
(optional)

Attributregeln können so konfiguriert werden, dass sie die Bearbeitung der Attributwerte des berechneten Feldes durch Editoren zulassen oder nicht. Dieser Parameter ist nur für Berechnungsattributregeln anwendbar.

  • EDITABLEEditoren können den Attributwert bearbeiten. Dies ist die Standardeinstellung.
  • NONEDITABLEEditoren können den Attributwert nicht bearbeiten.
Boolean
triggering_events
[triggering_events,...]
(optional)

Die Bearbeitungsereignisse, welche die Anwendung der Attributregel auslösen.

  • INSERTDie Regel wird beim Hinzufügen eines neuen Features angewendet.
  • UPDATEDie Regel wird beim Aktualisieren eines neuen Features angewendet.
  • DELETEDie Regel wird beim Löschen eines neuen Features angewendet.
String
error_number
(optional)

Stellen Sie eine Fehlernummer bereit, die zurückgegeben wird, wenn diese Regel verletzt wird. Der Wert muss nicht eindeutig sein; Sie können also eine benutzerdefinierte Fehlernummer für mehrere Regeln zurückgeben lassen. Dieser Parameter ist erforderlich für Beschränkungsattributregeln und nicht anwendbar auf den Berechnungsregeltyp.

Long
error_message
(optional)

Stellen Sie eine Fehlermeldung bereit, die zurückgegeben wird, wenn diese Regel verletzt wird. Sie sollten eine beschreibende Meldung verwenden, die es dem Editor einfacher macht, die Verletzung bei ihrem Auftreten zu verstehen. Die Meldung ist auf eine Länge von 256 Zeichen begrenzt. Dieser Parameter ist erforderlich für Beschränkungsattributregeln und nicht anwendbar auf den Berechnungsregeltyp.

String
description
(optional)

Eine Beschreibung der neuen Attributregel. Die Beschreibung ist auf eine Länge von 256 Zeichen begrenzt.

String
subtype

Wenn das Dataset über Subtypes verfügt, geben Sie den Subtype an, auf den die Regel angewendet werden soll.

String
field
(optional)

Der Name eines vorhandenen Feldes, auf das die Regel angewendet wird. Dieser Parameter ist erforderlich für Berechnungsattributregeln und nicht anwendbar auf den Beschränkungsregeltyp.

String
exclude_from_client_evaluation
(optional)

Ermöglicht dem Client auszuwählen, ob die Regel vor der Anwendung von Bearbeitungen ausgewertet werden soll. Da möglicherweise nicht alle Clients über die Fähigkeit verfügen, alle verfügbaren Regeln auszuführen, können Sie eine Regeln wahlweise als nur für einfache Clients gedacht kennzeichnen. Einige Regeln verweisen möglicherweise auf Daten, die nicht allen Clients zur Verfügung gestellt wurden (aus Gründen der Größe, Sicherheit oder weil Daten offlline sind), oder sind benutzer- oder kontextabhängig. So kann eine einfache Feldaktualisierung in Collector for ArcGIS u. U. keine Regel ausführen, die zusätzliche Benutzereingaben oder Informationen erfordert. Ein anderer Client wie ArcGIS Pro kann hierfür wiederum die nötige Unterstützung bieten.

  • EXCLUDEDie Regel sollte von der Client-Auswertung ausgeschlossen werden.
  • INCLUDEDie Regel sollte für alle Clients ausgeführt werden. Dies ist die Standardeinstellung.
Boolean

Codebeispiel

AddAttributeRule – Beispiel 1 (Python-Fenster)

Fügen Sie eine Berechnungsregel hinzu, die das Feld labeltext der Feature-Class GasPipes berechnet.

'''****************************************************************************
Name:        AddAttributeRule_example1.py
Description: This script adds a calcualtion rule to a feature class
Created by:  Esri
****************************************************************************'''

# Import required modules        
import arcpy

# Set local variables
in_table = "C:\\MyProject\\sdeConn.sde\\progdb.user1.GasPipes"
name = "calculateRuleLabel"
script_expression = 'if ($feature.material == 5) {return "Plastic"} else {return "Other"}'
triggering_events = "INSERT;UPDATE"
description = "Populate label text"
subtype = "Coated Steel"
field = "labeltext"

# Run the AddAttributeRule tool
arcpy.AddAttributeRule_management(in_table, name, "CALCULATION", script_expression, "EDITABLE", triggering_events, "", "", description, subtype, field)
AddAttributeRule – Beispiel 2 (Python-Fenster)

Fügen Sie eine Beschränkungsregel hinzu, die das Betriebsdruckattribut der Feature-Class GasPipes auf 300 beschränkt.

'''****************************************************************************
Name:        AddAttributeRule_example2.py
Description: This script adds a constraint rule to a feature class
Created by:  Esri
****************************************************************************'''

# Import required modules        
import arcpy

# Set local variables
in_table = "C:\\MyProject\\sdeConn.sde\\progdb.user1.GasPipes"
name = "constraintRuleOP"
script_expression = '$feature.OPERATINGPRESSURE < 300'
triggering_events = "INSERT;UPDATE"
description = "Operating pressure must be less than 300"
subtype = "ALL"
error_number = 2001
error_message = "Invalid operating pressure. Must be less than 300."

# Run the AddAttributeRule tool
arcpy.AddAttributeRule_management(in_table, name, "CONSTRAINT", script_expression, "EDITABLE", triggering_events, error_number, error_message, description, subtype)

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • ArcGIS Desktop Basic: Nein
  • ArcGIS Desktop Standard: Ja
  • ArcGIS Desktop Advanced: Ja

Verwandte Themen