Attributregel hinzufügen (Data Management)

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 über Attributregeln

Informationen zur ArcGIS Arcade-Skriptsprache

Verwendung

  • Regeln für Batch-Berechnungen und Validierungsregeln in einer Enterprise-Geodatabase werden mit dem Validierungsserver für Datasets, die nach Verzweigung versioniert sind, ausgewertet. Damit diese Regeltypen hinzugefügt werden können, muss der Versionierungstyp der Datenbankverbindung auf Verzweigung festgelegt sein.

  • Das Dataset muss ein Global-ID-Feld enthalten.

  • Damit Batch-Berechnungen oder Validierungsregeln dem Dataset hinzugefügt werden können, muss Editor-Tracking aktiviert sein.

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

  • Sie können eine Datenbanksequenz, die vom Werkzeug Datenbanksequenz erstellen erstellt wurde, mit der Arcade-Datenfunktion NextSequenceValue im Parameter Skript-Ausdruck referenzieren.

  • 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 Attributregeln zu einem Dataset hinzufügen, muss die Client-Version für das Dataset mindestens ArcGIS Pro 2.1 entsprechen. Dadurch kann das Dataset in ArcMap nicht mehr verwendet werden.

Parameter

BeschriftungErläuterungDatentyp
Eingabetabelle

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

Table View
Name

Ein eindeutiger Name für die neue Regel.

String
Typ

Gibt den Typ der Attributregel an, die hinzugefügt wird.

  • BerechnungAttributwerte für Features werden automatisch gefüllt, wenn ein anderes Attribut für ein Feature festgelegt wird. Diese Regeln werden basierend auf den angegebenen auslösenden Ereignissen angewendet. Langwierige Berechnungen können für die Ausführung im Batch-Modus eingerichtet werden. Sie werden dann zu einer vom Benutzer definierten Zeit ausgewertet.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, unterschiedlich ausfallen.
  • EinschränkungZulässige Attributkonfigurationen werden für ein Feature angegeben. 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.
  • ValidierungVorhandene Features werden mit einer Batch-Validierung identifiziert. Regeln werden zu einer vom Benutzer definierten Zeit ausgewertet. Wenn eine Regel verletzt wird, wird ein Fehler-Feature erstellt.
String
Skript-Ausdruck

Der Arcade-Ausdruck zur Definition der Regel.

Calculator Expression
Ist editierbar
(optional)

Gibt an, ob der Attributwert bearbeitet werden kann. 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.

  • Aktiviert: Der Attributwert kann bearbeitet werden. Dies ist die Standardeinstellung.
  • Deaktiviert: Der Attributwert kann nicht bearbeitet werden.

Boolean
Auslösende Ereignisse
(optional)

Gibt die Bearbeitungsereignisse an, welche die Anwendung der Attributregel auslösen. Dieser Parameter gilt nur für Berechnungs- und Beschränkungsregeltypen. Mindestens ein auslösendes Ereignis muss für Berechnungsregeln angegeben werden, in denen der Parameter Batch deaktiviert ist. Auslösende Ereignisse sind für Berechnungsregeln, bei denen der Parameter Batch aktiviert ist, nicht anwendbar.

  • EinfügenDie Regel wird beim Hinzufügen eines neuen Features angewendet.
  • AktualisierenDie Regel wird beim Aktualisieren eines neuen Features angewendet.
  • LöschenDie Regel wird beim Löschen eines neuen Features angewendet.
String
Fehlernummer
(optional)

Eine Fehlernummer, die bei einem Verstoß gegen diese Regel zurückgegeben wird. Der Wert muss nicht eindeutig sein, das heißt, für mehrere Regeln kann die gleiche benutzerdefinierte Fehlernummer zurückgegeben werden.

Dieser Parameter ist für Beschränkungs- und Validierungsregeltypen erforderlich. Für den Berechnungsregeltyp ist er optional.

String
Fehlermeldung
(optional)

Eine Fehlermeldung, die bei einem Verstoß gegen diese Regel zurückgegeben 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 für Beschränkungs- und Validierungsregeltypen erforderlich. Für den Berechnungsregeltyp ist er optional.

String
Beschreibung
(optional)

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

String
Subtype
(optional)

Der Subtype, auf den die Regel angewendet wird, wenn das Dataset über Subtypes verfügt.

String
Feld
(optional)

Der Name eines vorhandenen Feldes, auf das die Regel angewendet wird. Dieser Parameter ist nur für Berechnungsattributregeln anwendbar.

String
Von Anwendungsauswertung ausschließen
(optional)

Gibt an, ob die Regel von der Anwendung lokal ausgewertet wird, bevor die Änderungen auf den Workspace angewendet werden.

Da nicht alle Clients über die Fähigkeit verfügen, alle verfügbaren Regeln auszuführen, können die Ersteller bestimmte Regeln von der Client-Auswertung ausschließen. 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 einer App für die Datenerfassung u. U. keine Regel ausführen, die zusätzliche Benutzereingaben oder Informationen erfordert, obgleich der Client, wie z. B. ArcGIS Pro diesen Vorgang unterstützen würde.

Dieser Parameter ist für Validierungs- oder Berechnungsregeltypen nicht anwendbar, wenn der Parameter Batch aktiviert ist.

  • Aktiviert: Die Regel wird von der Client-Auswertung ausgeschlossen.
  • Deaktiviert: Die Regel wird nicht von der Client-Auswertung ausgeschlossen. Dies ist die Standardeinstellung.

Hinweis:

In früheren Versionen als ArcGIS Pro 2.4 wurde dieser Parameter mit Nur Server beschriftet.

Boolean
Batch
(optional)

Gibt an, ob die Regelauswertung im Batch-Modus ausgeführt wird.

  • Aktiviert: Die Regelauswertung erfolgt im Batch-Modus zu einem späteren Zeitpunkt durch Ausführung einer Validierung.
  • Deaktiviert: Die Regelauswertung wird nicht im Batch-Modus ausgeführt. Mithilfe von auslösenden Ereignissen wird bestimmt, wann die Regel für die Bearbeitungsvorgänge "Einfügen", "Aktualisieren" und "Löschen" ausgewertet wird. Dies ist die Standardeinstellung.

Für Berechnungsregeln kann dieser Parameter aktiviert oder deaktiviert werden. Für Validierungsregeln muss dieser Parameter deaktiviert werden. Für Beschränkungsregeln muss dieser Parameter deaktiviert werden.

Boolean
Schweregrad
(optional)

Der Schweregrad des Fehlers.

Ein Wert im Bereich von 1 bis 5 kann ausgewählt werden, um den Schweregrad der Regel zu definieren. Der Wert 1 ist der höchste Schweregrad, und der Wert 5 der niedrigste. Sie können z. B. einen niedrigen Schweregrad für eine bestimmte Attributregel angeben und den Fehler in Workflows zur Datenerzeugung ignorieren. Wenn Fehler zur Verbesserung der Genauigkeit der erfassten Daten behoben werden müssen, können Sie einen hohen Schweregrad festlegen.

Dieser Parameter gilt nur für Validierungsregeln.

Long
Tags
(optional)

Eine Reihe von Tags, die die Regel identifizieren (für die Suche und die Indizierung), als Möglichkeit, eine Funktionsanforderung in einem Datenmodell zuzuordnen.

String
Auslösende Felder
(optional)

Eine Liste mit Feldern, die die Ausführung einer Attributregel auslösen, wenn während eines Triggers für Aktualisierungsvorgänge ein Bearbeitungsereignis für Berechnungs- und Beschränkungsattributregeln auftritt. Wenn keine Felder angegeben werden, verwendet das Werkzeug alle Felder. Dies ist die Standardeinstellung.

Verwenden Sie zur Eingabe mehrerer auslösender Felder ein Semikolon als Trennzeichen. Beispiel: Field1;Field2;Field3.

String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Hinzugefügte Attributregel

Die aktualisierte Eingabetabelle mit einer hinzugefügten Attributregel.

Table View

arcpy.management.AddAttributeRule(in_table, name, type, script_expression, {is_editable}, {triggering_events}, {error_number}, {error_message}, {description}, {subtype}, {field}, {exclude_from_client_evaluation}, {batch}, {severity}, {tags}, {triggering_fields})
NameErlä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

Gibt den Typ der Attributregel an, die hinzugefügt wird.

  • CALCULATIONAttributwerte für Features werden automatisch gefüllt, wenn ein anderes Attribut für ein Feature festgelegt wird. Diese Regeln werden basierend auf den angegebenen auslösenden Ereignissen angewendet. Langwierige Berechnungen können für die Ausführung im Batch-Modus eingerichtet werden. Sie werden dann zu einer vom Benutzer definierten Zeit ausgewertet.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, unterschiedlich ausfallen.
  • CONSTRAINTZulässige Attributkonfigurationen werden für ein Feature angegeben. 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.
  • VALIDATIONVorhandene Features werden mit einer Batch-Validierung identifiziert. Regeln werden zu einer vom Benutzer definierten Zeit ausgewertet. Wenn eine Regel verletzt wird, wird ein Fehler-Feature erstellt.
String
script_expression

Der Arcade-Ausdruck zur Definition der Regel.

Calculator Expression
is_editable
(optional)

Gibt an, ob der Attributwert bearbeitet werden kann. 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.

  • EDITABLEDer Attributwert kann bearbeitet werden. Dies ist die Standardeinstellung.
  • NONEDITABLEDer Attributwert kann nicht bearbeitet werden.
Boolean
triggering_events
[triggering_events,...]
(optional)

Gibt die Bearbeitungsereignisse an, welche die Anwendung der Attributregel auslösen. Dieser Parameter gilt nur für Berechnungs- und Beschränkungsregeltypen. Mindestens ein auslösendes Ereignis muss für Berechnungsregeln angegeben werden, in denen der Parameter batch auf NOT_BATCH festgelegt ist. Auslösende Ereignisse sind für Berechnungsregeln, bei denen der Parameter batch auf BATCH festgelegt ist, nicht anwendbar.

  • 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)

Eine Fehlernummer, die bei einem Verstoß gegen diese Regel zurückgegeben wird. Der Wert muss nicht eindeutig sein, das heißt, für mehrere Regeln kann die gleiche benutzerdefinierte Fehlernummer zurückgegeben werden.

Dieser Parameter ist für Beschränkungs- und Validierungsregeltypen erforderlich. Für den Berechnungsregeltyp ist er optional.

String
error_message
(optional)

Eine Fehlermeldung, die bei einem Verstoß gegen diese Regel zurückgegeben 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 für Beschränkungs- und Validierungsregeltypen erforderlich. Für den Berechnungsregeltyp ist er optional.

String
description
(optional)

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

String
subtype
(optional)

Der Subtype, auf den die Regel angewendet wird, wenn das Dataset über Subtypes verfügt.

String
field
(optional)

Der Name eines vorhandenen Feldes, auf das die Regel angewendet wird. Dieser Parameter ist nur für Berechnungsattributregeln anwendbar.

String
exclude_from_client_evaluation
(optional)

Gibt an, ob die Regel von der Anwendung lokal ausgewertet wird, bevor die Änderungen auf den Workspace angewendet werden.

Da nicht alle Clients über die Fähigkeit verfügen, alle verfügbaren Regeln auszuführen, können die Ersteller bestimmte Regeln von der Client-Auswertung ausschließen. 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 einer App für die Datenerfassung u. U. keine Regel ausführen, die zusätzliche Benutzereingaben oder Informationen erfordert, obgleich der Client, wie z. B. ArcGIS Pro diesen Vorgang unterstützen würde.

Dieser Parameter ist für Validierungs- oder Berechnungsregeltypen nicht anwendbar, wenn für den Parameter batch der Wert BATCH festgelegt ist.

  • EXCLUDEDie Regel wird von der Client-Auswertung ausgeschlossen.
  • INCLUDEDie Regel wird nicht von der Client-Auswertung ausgeschlossen. Dies ist die Standardeinstellung.
Boolean
batch
(optional)

Gibt an, ob die Regelauswertung im Batch-Modus ausgeführt wird.

  • BATCHDie Regelauswertung erfolgt im Batch-Modus zu einem späteren Zeitpunkt durch Ausführung einer Validierung.
  • NOT_BATCHDie Regelauswertung wird nicht im Batch-Modus ausgeführt. Mithilfe von auslösenden Ereignissen wird bestimmt, wann die Regel für die Vorgänge "Einfügen", "Aktualisieren" und "Löschen" ausgewertet wird. Dies ist die Standardeinstellung.

Für Berechnungsregeln kann dieser Parameterwert BATCH oder NOT_BATCH lauten. Für Validierungsregeln muss dieser Parameterwert BATCH lauten. Für Beschränkungsregeln muss dieser Parameterwert NOT_BATCH lauten.

Boolean
severity
(optional)

Der Schweregrad des Fehlers.

Ein Wert im Bereich von 1 bis 5 kann ausgewählt werden, um den Schweregrad der Regel zu definieren. Der Wert 1 ist der höchste Schweregrad, und der Wert 5 der niedrigste. Sie können z. B. einen niedrigen Schweregrad für eine bestimmte Attributregel angeben und den Fehler in Workflows zur Datenerzeugung ignorieren. Wenn Fehler zur Verbesserung der Genauigkeit der erfassten Daten behoben werden müssen, können Sie einen hohen Schweregrad festlegen.

Dieser Parameter gilt nur für Validierungsregeln.

Long
tags
[tags,...]
(optional)

Eine Reihe von Tags, die die Regel identifizieren (für die Suche und die Indizierung), als Möglichkeit, eine Funktionsanforderung in einem Datenmodell zuzuordnen. Verwenden Sie zur Eingabe mehrerer Tags ein Semikolon als Trennzeichen. Beispiel: Tag1;Tag2;Tag3.

String
triggering_fields
[triggering_fields,...]
(optional)

Eine Liste mit Feldern, die die Ausführung einer Attributregel auslösen, wenn während eines Triggers für Aktualisierungsvorgänge ein Bearbeitungsereignis für Berechnungs- und Beschränkungsattributregeln auftritt. Wenn keine Felder angegeben werden, verwendet das Werkzeug alle Felder. Dies ist die Standardeinstellung.

Verwenden Sie zur Eingabe mehrerer auslösender Felder ein Semikolon als Trennzeichen. Beispiel: Field1;Field2;Field3.

String

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_table

Die aktualisierte Eingabetabelle mit einer hinzugefügten Attributregel.

Table View

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.management.AddAttributeRule(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.management.AddAttributeRule(in_table, name, "CONSTRAINT", script_expression, "EDITABLE", triggering_events, error_number, error_message, description, subtype)
AddAttributeRule: Beispiel 3 (Python-Fenster)

Fügen Sie der Feature-Class "GasPipes" eine Validierungsregel hinzu, um vorhandene Features mit einem Betriebsdruck von mehr als "300" zu kennzeichnen.

'''****************************************************************************
Name:        AddAttributeRule_example3.py
Description: This script adds a validation 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 = "validationRuleMaxOP"
rule_type = "VALIDATION"
script_expression = "$feature.OPERATINGPRESSURE < 300"
error_number = 3001
error_message = "Maximum operating pressure exceeded"
description = "Validation rule: max operating pressure value"
subtype = "Coated Steel"
batch = "BATCH"
severity = 3
tags = "OP;MAXOP"

# Run the AddAttributeRule tool
arcpy.management.AddAttributeRule(in_table, name, rule_type, 
                                  script_expression, "", "", 
                                  error_number, error_message, 
                                  description, subtype, "", "", 
                                  batch, severity, tags)

Lizenzinformationen

  • Basic: Nein
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen