Zwei scheinbar noch recht unbekannte Features sind die Split- und Join-Regeln, die man im Administrator beim Anlegen von Relationen angeben kann (ca. seit Map 2012 oder 2013).

Beim Erstellen von Attributen zu einer Tabelle hat man im unteren Bereich der Maske die Möglichkeit eine übergeordnete Tabelle, also eine Relation, anzulegen:

[attachment=35]addattributes.png[/attachment]

Per Default ist dort keine Relation angegeben, aber man kann entweder eine Domain-Tabelle aus der Liste wählen oder ganz unten eine Featureklasse/Objekttabelle. Rechts neben der ausgewählten Tabelle kann man dann einstellen, was beim Löschen des Parents passieren soll und daneben findet man die Einstellungen zum Splitten und Joinen:

[attachment=37]split_2014-08-20.png[/attachment]

Diese Einstellungen machen nur Sinn, wenn die Parent-Tabelle einen Linien-Tabelle ist, denn nur Linien kann man splitten oder joinen.

Wenn man beim Splitten nichts einstellt, dann werden alle Child-Datensätze beim Splitten des Parents gelöscht, sofern das beim Relation Type so eingestellt ist.
Bei „Assign children“ werden die Children dann nicht gelöscht, sondern automatisch der jeweils nächst liegenden Parent-Linie zugeordnet.
„Duplicate children“ erzeugt Kopien von allen Children und sorgt dafür, dass beide neuen Linien dieselben Children bekommen.

Beim Joinen wird es etwas komplizierter:

[attachment=38]join.png[/attachment]

Bei „Keep children of the first feature“ kommt es darauf an, welche Linie man zuerst in der Grafik ausgewählt hat. Das kann in der Praxis zu Fehlern führen, wenn der Anwender sich nicht über diese Regel im Klaren ist.
„Merge, children must be identical“ soll dafür sorgen, dass keine gleichen Children entstehen, wobei mir nicht im Detail klar ist, was „gleich“ hier bedeutet. Jedenfalls funktioniert das nur, wenn alle Attribute „gleich“ sind, was man nur selten der Fall sein wird. Ansonsten wird die Grafik der Children gelöscht (GEOM = NULL)! Allerdings gibt es bei Attributtabellen keine Probleme, da gibt es ja auch kein GEOM.
„Keep all children“ verwende ich immer, denn dann bleiben alle untergeordneten Datensätze 1:1 erhalten, nur dass sie an die neue Linie gehängt werden. Im Zweifel muss der Bearbeiter dann noch nacharbeiten, z.B. bei Leitungen, die dann zwei Fließrichtungspfeile haben.
„Merge identical, keep others“ ist die Verbindung der letzten beiden Optionen. „Gleiche“ werden zu einem Datensatz verbunden und der Rest wird umgehängt.

Im Einzelfall wird es hier auf einen Test der benötigten Option hinauslaufen. Wie gesagt, verwende ich nur die Keep-Option und in Ausnahmefällen bei Attribut-Tabellen Merge.

Falls sich noch jemand fragt, wie man splittet und joint? Dazu gibt es die COGO-Funktionen im Modify-Ribbon:

[attachment=39]cogo.png[/attachment]

GordenKock
Author: GordenKock