Home Development Attribute Rules (Teil 2): Beschränkungsregeln in ArcGIS Pro

Attribute Rules (Teil 2): Beschränkungsregeln in ArcGIS Pro

by Jochen Manegold

In dieser 3-teiligen Serie erfahren Sie, wie Attributregeln die Arbeit in ArcGIS Pro erleichtern. Dabei schauen wir uns heute die Beschränkungsregeln an.

Viele Einstellungen und Konfigurationen in der Geodatabase schränken die Möglichkeiten ein, beliebige Werte in Datenbankfeldern einzutragen: angefangen durch die Festlegung des Feldtyps, ob Long oder Short, Text oder Datum, bis hin zu der Definition von Domänen und Gruppenwerten. Darüber hinaus können mit topologischen Regeln räumliche Beziehungen zwischen Features geprüft und bei Verstößen angemahnt werden.

Im Gegensatz zu manchen anderen Regeln in der Geodatabase, die Ausnahmen und sogar Regelverstöße zulassen, sind die neuen Beschränkungsregeln unumstößlich. Wird bei der Bearbeitung eine Beschränkungsregel verletzt, wird die Bearbeitung abgebrochen bzw. solange nicht fortgesetzt, bis die Änderungen regelkonform durchgeführt werden.

Regeln werden auf der Grundlage eines Arcade-Ausdrucks implementiert. Bei Berechnungsregeln entscheidet der Rückgabewert, ob die Aktion regelkonform durchgeführt wurde oder nicht: gibt der Ausdruck den Wert „Wahr“ zurück, kann die Aktion erfolgreich abgeschlossen werden; gibt der Ausdruck den Wert „Falsch“ oder ein Dictionary mit einer „errormessage“ zurück, kann der Vorgang nicht beendet werden.

Im Folgenden stelle ich ein paar Beispiele für den Einsatz von Beschränkungsregeln vor. Die Datengrundlage ist für alle Beispiele eine Punkt-Feature-Class in einer File-Geodatabase, die Bäume in einer Stadt repräsentiert.

Duplikate verhindern

Um zu verhindern, dass ein neuer Baum durch unterschiedliche Bearbeiter mehrfach erfasst wird, kann durch eine Beschränkungsregel geprüft werden, ob in unmittelbarer Umgebung um den vorgesehenen Standort schon ein Baum existiert oder nicht.

Im Arcade-Ausdruck wird dazu um die Koordinate des neuen Objekts eine kleine Pufferzone berechnet und geprüft, ob sich innerhalb dieser Pufferzone schon andere Bäume befinden. Falls ja, wird die Bearbeitung abgebrochen.

Abbildung 1: Beschränkungsregel für Duplikate

Zusätzlich muss ein Fehlerwert und eine Fehlermeldung für die Regel eingegeben sowie ein Trigger festgelegt werden, bei dem die Überprüfung ausgelöst werden soll.

Abbildung 2: Fehler und Trigger definieren

Entsprechend dieser Definitionen wird der Fehler in ArcGIS Pro angezeigt, wenn der Anwendende in unmittelbarer Nähe zu einem bestehenden Baum versucht, einen neuen Baum zu erfassen:

Abbildung 3: Fehlermeldung in ArcGIS Pro

Subtypes ändern

Enthält unsere Feature-Class Subtypes, ist es in ArcGIS Pro jederzeit möglich, den Subtype eines Objektes zu ändern. Dabei wird nur nachgefragt, ob beim Wechsel zu einem anderen Subtype Attributwerte auf den Standardwert geändert werden sollen oder nicht. An dieser Stelle ist auch noch ein Abbruch der Aktion möglich.

Abbildung 4: Ändern des Subtypes in ArcGIS Pro

Mit Hilfe eines kleinen Arcade-Ausdrucks, der prüft, ob die Änderung eines Attributwertes ausgerechnet den Subtype-Wert ändert, kann mit einer Beschränkungsregel eine Änderung des Subtypes grundsätzlich verhindert werden.

Abbildung 5: Änderung im Feld kateg prüfen

Der Ausdruck bedient sich dabei der globalen Variable $feature, die das geänderte Objekt repräsentiert und der globalen Variable $originalFeature, mit der dasselbe Objekte vor der aktuellen Änderung angesprochen werden kann.

Entsprechend der Konfiguration des Fehlers und nach Festlegung des Triggers (Aktualisieren) reagiert ArcGIS Pro auf die Änderung des Subtypes mit dieser Fehlermeldung:

Abbildung 6: Fehlermeldung in ArcGIS Pro

Auf diese Weise kann man aber natürlich nicht nur die Änderung des Subtypes verhindern, sondern die jedes Attributs – und auch die der Geometrie.

Löschen eines Objekts nur einer bestimmten Personengruppe erlauben

Mit der neuen Version von Arcade, die mit ArcGIS Pro 2.7 eingeführt wird, gibt es neue Funktionen, die es erlauben, sich mit dem aktuell aktiven Portal zu verbinden und den aktuellen User-Account abzufragen.

Im folgenden Beispiel wird diese Möglichkeit genutzt, um zu überprüfen, ob der aktuell mit dem Portal verbundene Anwendende zu einer Gruppe gehört (z.B. „Innendienst“), der die Erlaubnis hat, einen Baum aus dem aktuellen Datenbestand zu löschen.

Abbildung 7: Den Portaluser für eine Beschränkungsregel nutzen (ab Version 2.7)

Natürlich erfolgt auch eine Fehlermeldung – und damit ein Abbruch der Aktion – wenn der Anwender gar kein aktives Portal hat oder dort nicht angemeldet ist.

Das waren 3 Einsatzmöglichkeiten von Arcade zur Definition von Beschränkungsregeln. Im nächsten Teil der Blogserie schauen wir uns die Validierung etwas genauer an.

Teil 1 verpasst? Hier geht es zu Attribute Rules (Teil 1): Berechnungsregeln in ArcGIS Pro

Weitere Blogbeiträge zum Thema

ArcGIS Pro: Attributregeln in der Geodatabase

Fehler-Inspektor in ArcGIS Pro

Datenmanagement in ArcGIS Pro

You may also like