Während Änderungen an den Versionen in einer Versionsstruktur vorgenommen werden, beginnen die Versionen, sich zu unterscheiden. Das Abrufen aller Änderungen aus einer Vorgängerversion und das Zusammenführen von Änderungen aus Ihrer Version in dieser Version wird als Abgleichen und Zurückschreiben bezeichnet. Sobald Sie die Bearbeitung einer Version abgeschlossen haben, können Sie die vorgenommenen Änderungen in einer anderen Version zusammenführen. Bei traditioneller Versionierung können Sie die Änderungen in jeder Version, die die Vorgängerversion dieser Version ist, zusammenführen, z. B. der Parent- oder Default-Version.
Nachdem Sie mit der Bearbeitung Ihrer Version begonnen haben, wurde die Vorgängerversion möglicherweise von anderen Benutzern auf eine Weise geändert, die mit Ihren Änderungen in Konflikt steht. Beim Abgleichen Ihrer Änderungen mit der Zielversion werden diese Konflikte erkannt.
Wenn Konflikte bestehen, löst ArcGIS Pro diese je nach gewählter Einstellung zunächst zugunsten der Versionsrepräsentation, die Sie bearbeiten, oder in der Zielversion. Nachdem die Konflikte zunächst gelöst wurden, können Sie diese einzeln überprüfen und bei Bedarf Änderungen vornehmen. Wenn z. B. ein Konflikt zugunsten der Editierversion gelöst wurde, können Sie diese Fassung durch die Fassung in der Zielversion ersetzen oder sogar mit den Editierwerkzeugen ändern.
Hinweis:
In diesem Thema wird das Abgleichen und Zurückschreiben mit der Registerkarte Versionierung beschrieben. Sie können Versionen auch mit dem Geoverarbeitungswerkzeug Versionen abgleichen und der Schaltfläche Abgleichen/Zurückschreiben auf der Registerkarte Versionen abgleichen und zurückschreiben, wenn die Ansicht "Versionen" angezeigt wird.Abgleichvorgang
Um bei traditioneller Versionierung Ihre Änderungen mit einer Vorgängerversion abzugleichen, müssen die folgenden Voraussetzungen erfüllt sein:
- Sie müssen der einzige Benutzer sein, der aktuell die traditionelle Version bearbeitet, die Sie abgleichen.
- Die Zielversion darf von keinem anderen Benutzer bearbeitet werden. Eine Ausnahme besteht, wenn die Zielversion die Default-Version ist. Sie können einen Abgleich gegen die Default-Version nur dann ausführen, wenn sie von anderen Benutzern bearbeitet wird.
- Sie müssen die Zielversion anzeigen können, d. h. sie kann öffentlich oder geschützt sein. Wenn sie privat ist, müssen Sie der Versionsbesitzer oder der Geodatabase-Administrator sein.
- Wenn Ihr Workflow so aussieht, dass ein Benutzer Änderungen vornimmt und ein anderer den Abgleich ausführt, müssen Sie sicherstellen, dass dem Benutzer, der den Abgleich ausführt, alle Berechtigungen für alle Feature-Classes und -Tabellen zugewiesen sind, die in der Version geändert wurden. Andernfalls kann der Benutzer keinen Abgleich vornehmen. Der Benutzer, der den Abgleich ausführt, muss volle Berechtigungen für beide Seiten jeder Beziehung aufweisen, die geändert wurde, darunter grundlegende oder abhängige Beziehungen. Bei diesem Typ von Workflow muss der Benutzer, der den Abgleich ausführt, ebenfalls über ausreichende Versionsberechtigungen verfügen. Der Benutzer, der den Abgleich ausführt, muss die abzugleichende Version ändern können, d. h. sie muss öffentlich sein. Außerdem muss er die Zielversion anzeigen können, d. h. der Benutzer muss die Version besitzen oder sie muss öffentlich oder geschützt sein.
Informationen zum Ändern des Umgangs mit Konflikten beim Abgleichen finden Sie unter Versionierungsoptionen für die Bearbeitung.
Zum Abgleichen können Sie auf der Registerkarte Versionierung auf den Befehl Abgleichen zugreifen, indem Sie im Bereich Inhalt auf die Schaltfläche Nach Datenquelle auflisten klicken. Um den Abgleichvorgang zu starten, klicken Sie auf der Registerkarte Versionierung auf die Schaltfläche Abgleichen. Das Dialogfeld Abgleichen wird angezeigt.
Wenn das Dialogfeld Abgleichen angezeigt wird, geben Sie die folgenden Informationen ein:
- Die Zielversion.
- Geben Sie an, wie die Konflikte definiert werden sollen. Die folgenden Optionen sind verfügbar:
Konflikte auf dieser Ebene definieren Um diese Fälle zu erkennen Zeile (nach Objekt)
Ein zweiter Benutzer bearbeitet die gleiche Zeile oder das gleiche Feature bzw. topologisch verknüpfte Features auf die gleiche Weise wie Sie. Der Konflikt tritt selbst dann auf, wenn Sie unterschiedliche Attribute bearbeitet haben.
Spalte (nach Attribut)
Ein zweiter Benutzer bearbeitet das gleiche Attribut eines Features oder einer Tabelle. Dies ist die Standardeinstellung.
Optionen zum Definieren eines Konflikts - Wie Konflikte von ArcGIS Pro zunächst gelöst werden sollen. Die folgenden Optionen sind verfügbar:
Lösen von Konflikten Beschreibung Zugunsten der Edit-Version (der Version, die Sie gerade bearbeiten)
Alle in Konflikt stehenden Features haben in der aktuellen Version Vorrang vor den entsprechenden Repräsentationen in der Zielversion.
Zugunsten der Zielversion
Alle in Konflikt stehenden Features werden in der aktuellen Version durch ihre Repräsentationen in der Zielversion ersetzt.
Optionen zum Lösen eines Konflikts
Hinweis:
Ein Abgleichvorgang kann nicht mit einem "Rückgängig"-Vorgang rückgängig gemacht werden. Um einen Abgleich rückgängig zu machen, müssen Sie lediglich die Änderungen verwerfen, ohne sie zu speichern.
Gehen Sie wie folgt vor, um Änderungen an Ihrer traditionellen Version mit einer Vorgängerversion abzugleichen:
- Klicken Sie auf der Registerkarte Versionierung in der Gruppe Versionierung auf Abgleichen.
Das Dialogfeld Abgleichen wird angezeigt.
- Wählen Sie die Zielversion aus.
- Geben Sie an, wie die Konflikte definiert werden sollen.
- Geben Sie an, ob alle Konflikte zugunsten der Editierversion oder einer anderen Zielversion gelöst werden sollen.
- Klicken Sie auf OK.
Konflikte werden von ArcGIS Pro je nach gewählter Einstellung gelöst. Nachdem die Konflikte gelöst sind, können Sie diese einzeln überprüfen und bei Bedarf Änderungen vornehmen. Wenn z. B. ein Konflikt zugunsten der Editierversion gelöst wurde, können Sie diese Fassung durch die Fassung in der Zielversion ersetzen oder mit den Editierwerkzeugen auf andere Weise ändern.
Beim Abgleich wird nur die Editierversion aktualisiert, sodass von ArcGIS Pro eine Überprüfung auf Konflikte erfolgen kann. Die Änderungen werden nicht in der Zielversion zusammengeführt. Nachdem Sie den Abgleich und die Überprüfung der Konflikte fertig gestellt haben, können Sie die Zusammenführung abschließen, indem Sie Ihre Änderungen in die Zielversion zurückschreiben.
Überprüfen von Konflikten in der Ansicht "Konflikte"
Wenn Sie den Abgleich vornehmen und dabei Konflikte festgestellt werden, können Sie diese in der interaktiven Ansicht "Konflikte" überprüfen. Die Ansicht kann an einer beliebigen Stelle in der App verankert oder als unverankertes Fenster verwendet werden. So sind gleichzeitig Interaktionen mit der Ansicht "Karte" möglich, in der Kontext bereitgestellt wird und weitere Analysen der Daten möglich sind.
Die Ansicht "Konflikte" enthält alle Klassen sowie die jeweiligen Features oder Zeilen, die in Konflikt stehen. Konflikte werden nach Datenquelle, Klasse, Konfliktkategorie und ObjectID gegliedert. Die Konfliktklassen stehen für die Konflikte verursachenden Layer der gesamten Geodatabase.
Die Ansicht "Konflikte" ermöglicht Ihnen Folgendes:
- Ermitteln der in Konflikt stehenden Felder oder Zeilen
- Anzeigen von Konflikten
- Markieren von Konflikten als überprüft oder als nicht überprüft.
- Lösen von Konflikten durch Festlegen der Repräsentation, mit der Features oder Attribute ersetzt werden sollen
Konflikte treten in folgenden Fällen auf:
- In der derzeit bearbeiteten Version und in der Zielversion wird dasselbe Feature aktualisiert.
- Ein einzelnes Feature wird in einer Version aktualisiert und in einer anderen gelöscht.
- Ein topologisch in Beziehung stehendes Feature bzw. eine Beziehungsklasse wird in der derzeit bearbeiteten Version und in der Zielversion geändert.
Die Ansicht "Konflikte" enthält auch den Abschnitt "Konfliktanzeige" zum Anzeigen der unterschiedlichen Darstellungen von Geometrieänderungen. Der Inhalt der Konfliktanzeige ist unterschiedlich, je nachdem, ob die Konfliktklasse in der aktiven Karte vorhanden ist:
- Wenn die Konfliktklasse in der aktiven Karte vorhanden ist, werden in der Konfliktanzeige alle Karten-Layer angezeigt. Zudem wird in der Konfliktanzeige die Kartensymbolisierung verwendet, und in der Konfliktanzeige ist die Grundkarte enthalten.
- Wenn die Konfliktklasse in der aktiven Karte nicht vorhanden ist, wird in der Konfliktanzeige nur der Layer mit einem Konflikt angezeigt. Zudem wird in der Konfliktanzeige die Standardsymbolisierung verwendet, und in der Konfliktanzeige ist die Grundkarte nicht enthalten.
Ermitteln der in Konflikt stehenden Felder oder Zeilen
Alle in Konflikt stehenden Klassen und Features werden im Listenfeld links oben in der Ansicht "Konflikte" aufgeführt. In dieser Liste finden Sie die Gesamtzahl der Konflikte in allen Feature-Classes.
Wenn Sie auf den Dropdown-Pfeil eines Objekts klicken, sehen Sie die Konflikte für jedes Feature. Sie sind in drei mögliche Kategorien unterteilt:
- Aktualisieren-Löschen: Das Feature wurde in der aktuellen Version aktualisiert und in der Zielversion gelöscht.
- Löschen-Aktualisieren: Das Feature wurde in der aktuellen Version gelöscht und in der Zielversion aktualisiert.
- Aktualisieren-Aktualisieren: Das Feature wurde in der aktuellen und der Zielversion aktualisiert.
Wenn Sie die ObjectID eines einzelnen Features in der Liste auswählen, werden in der Informationstabelle auf der rechten Seite der Ansicht "Konflikte" die Spalten und Attribute in der Version vor dem Abgleich, in der aktuellen Version und in der Zielversion des Features angezeigt.
Wenn Sie die in Konflikt stehenden Attribute und Werte für alle Repräsentationen eines Features anzeigen, können Sie die Unterschiede zwischen den Attributwerten der verschiedenen Versionen erkennen und leichter entscheiden, welche Repräsentation der Daten beibehalten werden soll.
- Die aktuelle Version stellt die von Ihnen vorgenommenen Änderungen am Feature und an den Attributen dar.
- Die Zielversion stellt das Feature und dessen Attribute in der von einem anderen Benutzer bearbeiteten und abgeglichenen Version dar. Dies ist die Zielversion, die Sie ausgewählt haben, als Sie die Ansicht "Konflikte" geöffnet haben.
- Die gemeinsame Vorgängerversion ist die Repräsentation des Features und der zugehörigen Attribute in deren Zustand in der Datenbank. Dies entspricht dem Zustand des Features und der Attribute vor sämtlichen Änderungen.
Ein roter Indikator links neben der Zeile gibt einen Konflikt an. Wenn beispielsweise die Geometrie des Features in verschiedenen Versionen bearbeitet wurde, wird ein roter Indikator neben dem Feld "Shape" angezeigt.
Wenn andere Attributfelder in Konflikt stehen, wird links neben der Zeile ein roter Indikator angezeigt. Wenn ein Feature in einer der Versionen gelöscht wurde, wird <Gelöscht> als Attributwert dieser Version angezeigt.
Wurden Features in die Editierversion eingefügt und haben sie zu einem Konflikt geführt, dann wird in der Zielversion und der Version Gemeinsamer Vorgänger der Wert <Nicht vorhanden> angezeigt.
Mit den beiden Schaltflächen am unteren Rand des Dialogfeldes können Sie entweder alle Felder einblenden oder nur diejenigen, die miteinander in Konflikt stehen.
Hinweis:
Alle Felder werden in der Ansicht "Konflikte" angezeigt. Felder, auf die ein Konfliktfilter angewendet wird, werden jedoch nicht als Felder mit einem Konflikt erkannt und sie werden ohne roten Indikator angezeigt.
Markieren als überprüft oder als nicht überprüft
Nachdem Sie die in Konflikt stehenden Felder oder Zeilen ermittelt haben, können Sie ein Feature als überprüft markieren. Sie können verfolgen, welche Features Sie in der Liste überprüft haben, weil die als überprüft markierten Features nicht mehr fett formatiert sind.
Wenn Sie einen Feature-Konflikt später behandeln möchten, können Sie in der Liste Konflikte mit der rechten Maustaste auf die ObjectID und dann auf Als nicht überprüft markieren klicken. Auf diese Weise wird das Feature wieder fett formatiert.
Wenn Sie auf das Kontrollkästchen Überprüfte Konflikte filtern oben in der Ansicht klicken, können Sie die Liste so filtern, dass nur die Konflikte, die noch nicht überprüft wurden, angezeigt werden.
Lösen von Konflikten
Beim Lösen von Konflikten entscheiden Sie, welche Repräsentation der Features und Attribute Sie beibehalten möchten. Unabhängig von der Version, zugunsten der Sie den Abgleich vornehmen möchten (Ziel- oder Edit-Version), können Sie angeben, welche Repräsentation beibehalten werden soll: die aktuelle Repräsentation (Repräsentation Ihrer Version vor dem Abgleich), die Zielrepräsentation (durch einen anderen Benutzer geänderte Repräsentation) oder die Repräsentation des gemeinsamen Vorgängers (Repräsentation des Features oder Attributs in der Zielversion).
Für die Konfliktlösung stehen vier Ersetzungsoptionen zur Verfügung:
- Attributersetzung:
Diese Ersetzung erfolgt auf Feldebene. Wenn Konflikte in Attributen vorliegen, können Sie diesen Attributwert in der aktuellen Version durch den Wert in der aktuellen, in der Ziel- oder in der Repräsentation des gemeinsamen Vorgängers ersetzen. Klicken Sie dazu mit der rechten Maustaste auf das in Konflikt stehende Attribut. Klicken Sie dann im Kontextmenü auf die gewünschte Option.
- Feature-Ersetzung:
Diese Ersetzung erfolgt auf Zeilenebene. Sie können ein vollständiges Feature durch die Repräsentation des Features in der aktuellen, in der Ziel- oder in der Version des gemeinsamen Vorgängers ersetzen. Dies bedeutet, dass alle in Konflikt stehenden Felder ersetzt werden.
- Ersetzung auf Klassenebene:
Sie können die aktuelle Repräsentation der gesamten Feature-Class durch die Repräsentation Ihrer aktuellen, Ziel- oder gemeinsamen Vorgängerversion ersetzen, um den Konflikt zu lösen. Auf diese Weise werden alle in Konflikt stehenden Features und Attribute auf einmal ersetzt, wodurch Sie in Konflikt stehende Features schnell aktualisieren und ersetzen können. Wenn die Liste Unterschiede mehrere Features enthält, werden alle durch die ausgewählte Version ersetzt.
Um eine Ersetzungsoption auf Klassenebene auszuwählen, klicken Sie in der Liste Unterschiede mit der rechten Maustaste auf den Namen der Feature-Class. Klicken Sie dann auf die Version, die Sie verwenden möchten.
- Vollständige Ersetzung:
Dies ist die Ersetzung auf Stammebene Mit dieser Ersetzungsoption werden sämtliche in Konflikt stehenden Features und Feature-Classes in der Liste durch die angegebene Repräsentation ersetzt. Wenn mehrere Feature-Classes und mehrere Objekte in Konflikt stehen, werden alle durch die von Ihnen ausgewählte Version ersetzt.
Klicken Sie oben in der Liste der Unterschiede mit der rechten Maustaste auf die Version und die Verbindungsinformationen. Klicken Sie dann auf die Version, mit der die Konflikte ersetzt werden sollen.
Filtern von Konflikten auf Feldebene
Wenn bei der Arbeit mit der traditionellen Versionierung während eines Abgleichs Konflikte festgestellt werden, kann es vorkommen, dass Sie Änderungen, die auf ein Feld oder eine Gruppe von Feldern angewendet wurden, erhalten möchten. Nachfolgend sind einige Beispiele für Situationen aufgeführt, in denen es sinnvoll ist, erkannte Konflikte herauszufiltern, wenn ein Feld abgeglichen wird:
- Es wird eine Batch-Aktualisierung für ein Feld in verschiedenen Versionen durchgeführt
- Informationen werden anhand von innerhalb der Version vorgenommenen Änderungen in ein Feld geschrieben
Wenn Sie verhindern möchten, dass Konflikte erkannt werden, wenn in den Parent- und Child-Versionen dasselbe Attribut aktualisiert wird, können Sie das Werkzeug Feld-Konfliktfilter hinzufügen verwenden, um die Felder zu definieren, die in Konflikten herausgefiltert werden sollen. Mit einem Feldkonflikt-Filter können ein oder mehrere in einer Feature-Class enthaltene Felder getaggt werden, um sie aus der Konflikterkennung auszuschließen. Wenn nur Felder mit Konfliktfiltern bearbeitet werden, werden beim Abgleichen keine Konflikte angezeigt. Dies trifft nur dann zu, wenn Sie Konflikte nach Attribut definieren.
Hinweis:
Alle Felder werden in der Ansicht "Konflikte" angezeigt. Felder, auf die ein Konfliktfilter angewendet wird, werden jedoch nicht als Felder mit einem Konflikt erkannt und sie werden ohne roten Indikator angezeigt.
Nachdem Sie Änderungen abgeglichen haben, hängt der Wert, der in dem Feld angezeigt wird, das über einen Konfliktfilter verfügt, davon ab, ob Sie festgelegt haben, dass der Abgleich zugunsten der Zielversion oder zugunsten der Änderung erfolgen soll. Wenn Sie festgelegt haben, dass der Abgleich zugunsten der Zielversion erfolgen soll, weisen Felder mit einem Konfliktfilter den Wert aus der Zielversion auf. Wenn Sie festgelegt haben, dass der Abgleich zugunsten der Änderung erfolgen soll, weisen Felder mit einem Konfliktfilter den Wert aus der Editierversion auf.
Mit dem Werkzeug Feld-Konfliktfilter entfernen können diese Konfliktfilter wieder entfernt werden. Mit der Python-Funktion ListFieldConflictFilters kann ermittelt werden, ob für eine Feature-Class oder -Tabelle Konfliktfilter definiert wurden.
Hinweis:
Sobald für eine Feature-Class oder -Tabelle ein Feldkonflikt-Filter definiert wurde, können Clients mit Versionen von ArcGIS vor 10.2.1 die Feature-Class oder Tabelle nicht öffnen. Feld-Konfliktfilter können als Feld definiert werden und lassen sich nach einem Versionsabgleich entfernen, wenn es erforderlich wird, mit früheren ArcGIS-Versionen auf die Daten zuzugreifen.
Lösen von Konflikten mit Attributregeln
Attributregeln vereinfachen die Bearbeitung und verbessern die Datenintegrität für Geodatabase-Datasets. Beim Abgleichen einer traditionell versionierten Feature-Class mit Regeln für die sofortige Berechnung oder Beschränkungsregeln werden diese Attributregeln ausgewertet. Wenn eine Beschränkungsregel verletzt wird, wird der Fehler im Zusammenhang mit der Beschränkungsregel gemeldet, und der Abgleich schlägt fehl. Um den Fehler im Zusammenhang mit der Beschränkungsregel zu vermeiden, sollten Sie Konflikte zeilenweise abgleichen.
Lösen von Konflikten mit Beziehungsklassen
Mit Beziehungsklassen lässt sich die referenzielle Integrität zwischen verbundenen Objekten besser durchsetzen. Wenn versionierte Datenquellen an einer Beziehungsklasse beteiligt sind, werden beim Abgleich die Daten hinsichtlich der referenziellen Integrität ausgewertet. Wenn die referenzielle Integrität verletzt wird, werden die beteiligten Features als Konflikte gemeldet und können in der Ansicht "Konflikte" überprüft werden.
Wenn ein Feature aus einer ursprünglichen Beziehungsklasse gelöscht wird, kann dies eine Meldung auslösen, die darauf hinweist, dass ein Feature aus der Zielbeziehungsklasse gelöscht werden soll. Daher müssen Sie sich der Folgen bewusst sein, zu denen das Bearbeiten von Konflikten mit Feature-Classes, die an Beziehungsklassen beteiligt sind, führen kann.
Im Folgenden ist ein Beispiel eines Konflikts dargestellt, der zwischen Beziehungsklassen auftreten kann:
- In einer Parent-Version fügen Sie ein Ziel-Feature hinzu und setzen es mit einem Feature in der Quellklasse in Beziehung.
- In einer Child-Version löschen Sie das Ursprungs-Feature, das verwendet wurde, um das neue Ziel-Feature in Beziehung zu setzen.
- Beim Abgleichen der Änderungen wird in der Quellklasse ein Konflikt der Kategorie "Löschen-Aktualisieren" erkannt.
Weiteres Beispiel:
- In einem Feature-Dataset zu Stromversorgern löschen Sie einen Mast mit einer Beziehung zu einer Umspannstation, wodurch die zugehörige Umspannstation ebenfalls gelöscht wird.
- In einer anderen, gleichzeitig stattfindenden Editiersitzung ändert ein Bearbeiter die Attribute der Umspannstation, die Sie eben indirekt durch das Löschen des zugehörigen Mastes gelöscht haben.
- Beim Abgleichen der Änderungen wird in den Quell- und Zielklassen ein Konflikt der Kategorie "Aktualisieren-Löschen" erkannt.
Wenn in diesem letzten Beispiel ein zweiter Bearbeiter alle Konflikte durch die Repräsentationen in der Editiersitzung ersetzt hat, werden der Mast und die Umspannstation neu erstellt.
Zurückschreiben von Änderungen
Zum Zurückschreiben von Änderungen in die Zielversion müssen Sie über Zugriff zum Bearbeiten dieser Version verfügen. Das bedeutet, dass bei der Version die Zugriffseigenschaft auf "Öffentlich" festgelegt sein muss, oder dass Sie Geodatabase-Administrator sein müssen.
Um Änderungen in die Zielversion zurückzuschreiben, nachdem Sie abgeglichen und Konflikte überprüft haben, klicken Sie auf der Registerkarte Versionierung in der Gruppe Versionierung auf Zurückschreiben.
Tipp:
Andere Benutzer, die die Zielversion lesen, in die Sie die Änderungen zurückgeschrieben haben, sehen die zurückgeschriebenen Änderungen erst, wenn Sie ihre versionierten Workspaces aktualisieren.
Zusätzliche Informationen zum Zurückschreiben:
- Änderungen können nur dann zurückgeschrieben werden, wenn die Zielversion nicht geändert wurde, seit Sie den letzten Abgleich von Änderungen ausgeführt haben. Wenn die Zielversion in der Zwischenzeit geändert wurde, müssen Sie einen erneuten Abgleich ausführen, bevor Sie die Änderungen zurückschreiben.
- Nachdem Änderungen zurückgeschrieben wurden, können Sie nicht rückgängig gemacht werden, da Sie Änderungen auf eine Version anwenden, die aktuell nicht von Ihnen bearbeitet wird.
- Nach dem Zurückschreiben können Sie weitere Änderungen in Ihrer Version vornehmen. Um diese Änderungen auf die Zielversion anzuwenden, müssen Sie die Vorgänge "Abgleichen", "Konfliktlösung" und "Zurückschreiben" erneut ausführen.
Wenn durch das Zurückschreiben das Ende Ihres Workflows markiert wird, können Sie die Version löschen, die Sie bearbeitet haben.