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.
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.
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:
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.
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.
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:
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.
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