HOW TO

Zusammenführen von vorhandenen Feature-bezogenen Annotationen

Last Published: January 14, 2021

Zusammenfassung

Hinweis: Die ArcSDE-Software, einschließlich Anwendungsserver, Befehlswerkzeugen und SDK mit C- und Java-APIs, wird in ArcSDE 10.2.2 nicht mehr unterstützt und nicht mehr ausgeliefert.
Hinweis: Dieser Artikel gilt für die ArcGIS-Versionen 9.x. Höhere Versionen von ArcGIS enthalten möglicherweise andere Funktionalität sowie andere Namen für Menüs, Befehle und Geoverarbeitungswerkzeuge, die sich auch an anderen Orten befinden können.

In den angegebenen Anweisungen wird beschrieben, wie Feature-bezogene Annotationen und damit zusammenhängende Features aus verschiedenen Geodatabases in einer Geodatabase zusammengeführt werden, um die Positionen bereits eingerichteter Feature-bezogener Annotationen beizubehalten.

Vorgehensweise

Normalerweise werden neue Feature-bezogene Annotationen in einer verknüpften Feature-Class erstellt, wenn der verknüpften Feature-Class neue Features hinzugefügt werden. Wenn Annotationen in der Quelle aus Anzeigegründen neu positioniert werden, führen Sie den nachfolgend beschriebenen Vorgang durch, um vorhandene Feature-bezogene Annotationen in das Ziel zu verschieben, statt neue Feature-bezogene Annotationen zu erstellen und diese neu zu positionieren. Dieser Vorgang bezieht sich auf das Zusammenführen von Daten, wenn in jeder Geodatabase die gleichen Schemas für Feature-Classes/Feature-bezogene Annotationen definiert sind.

Hinweis: Testen Sie diesen Vorgang, und stellen Sie sicher, dass die Ergebnisse zufriedenstellend sind, bevor Sie ihn in einer Produktionsumgebung ausführen.
Hinweis: Führen Sie alle Daten entweder in einer Personal-Geodatabase oder in einer Spatial Data Engine (SDE) zusammen, da es Probleme mit Feldern des Typs "user_definied" in der Annotation-Feature-Class gibt, wenn ein Anhang aus einer Personal-Geodatabase in SDE erfolgt. Wenn in einer Personal-Geodatabase gearbeitet wird, dann kopieren Sie die Feature-Class und die Feature-bezogene Annotation in ihrer endgültigen Form nach SDE, bevor die Beziehungsklasse erstellt wird (siehe Schritt 12).

Die Feature-Class und die Feature-bezogene Annotation werden über die ObjectID in der Feature-Class und über die FeatureID in der Feature-bezogenen Annotation verknüpft. Da jedes einzelne als Quelle verwendete Paar aus Feature-Class und Feature-bezogener Annotation dieselben ObjectIDs und FeatureIDs enthalten kann, ist es wichtig, dass beim Zusammenführen die alten Links erhalten bleiben und eindeutige Verknüpfungs-IDs verwendet werden.

  1. Erstellen Sie einen Screenshot der Eigenschaften der Beziehungsklasse. Diese Information werden benötigt, um am Ende der Prozedur die Feature-bezogene Beziehung neu zu erstellen.
  2. Löschen Sie die Beziehungsklassen der Feature-bezogenen Annotationen jeder Geodatabase. Dadurch wird die Annotation zu einer Standard-Annotation-Feature-Class. Wenn in einer neuen Geodatabase gearbeitet wird, dann können alle Daten über die Zwischenablage in die neue Geodatabase kopiert werden.
  3. Erstellen Sie in der Feature-Class das Textfeld "Old_OID". Damit alle Old_OID-Werte für Primär- und Fremdschlüssel in der rekonstruierten Beziehungsklasse eindeutig dargestellt werden können, muss ein Faktor ("neuer Faktor") hinzugefügt werden. Wählen Sie einen numerischen Faktor oder einen Alpha-Faktor aus. Wenn mehr als zwei Datasets kombiniert werden, sind Alpha-Faktoren einfacher in der Verwendung, da es nicht notwendig ist, den höchsten numerischen Wert in Old_OID zu berücksichtigen. In diesen Schritten werden Alpha-Faktoren verwendet.
    1. Bestimmen Sie für jedes Paar aus Feature-Class und Feature-bezogener Annotation einen eindeutigen Alpha-Faktor, der als neuer Faktor ("newfactor") verwendet werden soll. Zum Beispiel 'a' für FC1/FLA1, 'b' für FC2/FLA2 und so weiter, bis allen Paaren ein eindeutiger neuer Faktor zugewiesen ist.
    2. Berechnen Sie in ArcMap Old_OID = [objectid] & "newfactor". Achten Sie darauf, doppelte Anführungszeichen zu verwenden.
  4. Erstellen Sie in der Annotation-Feature-Class das Textfeld "Old_FID". Derselbe Fator wie in Schritt 3 ("neuer Faktor") wird der entsprechenden Old_FID der Feature-bezogenen Annotation hinzugefügt, da sie der ObjectID der zugehörigen Feature-Class entspricht.
    1. Fügen Sie die "newfactor"-IDs ein, wie oben beschrieben.
    2. Berechnen Sie Old_FID = [featureid] & "newfactor".
Hinweis: Die obigen Schritte müssen für alle Paare aus Feature-Class und Feature-bezogener Annotation ausgeführt werden.
  1. Verwenden Sie in ArcCatalog den Assistenten "Laden einfacher Objekte", um Quell-Feature-Classes in die Ziel-Feature-Class zu laden:
    1. Klicken Sie mit der rechten Maustaste auf die Ziel-Feature-Class, und wählen Sie Laden > Daten laden aus.
    2. Um Daten einzugeben, navigieren Sie zur Feature-Class FC2 und wählen diese aus.
    3. Klicken Sie auf Hinzufügen.
    4. Wenn mehr als zwei Datasets kombiniert werden, dann navigieren Sie zu den anderen gewünschten Datasets und fügen diese hinzu.
    5. Klicken Sie in den anderen Dialogfeldern auf Weiter.
  2. Verwenden Sie in ArcToolbox das Werkzeug Annotation-Feature-Class anhängen, um die als Quelle verwendeten Feature-bezogenen Annotationen an die als Ziel verwendete Feature-bezogene Annotation anzuhängen.
    1. Navigieren Sie für die Eingabe-Features zu den als Quelle verwendeten Feature-bezogenen Annotationen, und wählen Sie sie aus.
    2. Navigieren Sie für die Ausgabe-Feature-Class zu der als Ziel verwendeten Feature-bezogenen Annotation FLA1, und wählen Sie diese aus. Klicken Sie auf OK.
Hinweis: Alle nicht platzierten Annotationen in der Quelle werden ebenfalls an das Ziel angehängt. Zwischen Geodatabases verschiedener Typen darf nicht angehängt werden, zum Beispiel von Personal-Geodatabase an SDE.
  1. Nachdem alle Daten geladen bzw. angehängt wurden, registrieren Sie, wenn SDE verwendet wird, die endgültige Feature-Class/Feature-bezogene Annotation als versioniert.
  2. Fügen Sie die endgültige Feature-Class und Feature-bezogene Annotation in ArcMap ein, und starten Sie eine Editiersitzung.
  3. Verbinden Sie die Feature-Class mit der Feature-bezogenen Annotation über Old_FID bzw. Old_OID.
    1. Klicken Sie mit der rechten Maustaste auf FLA, und wählen Sie Verbindungen und Beziehungen > Verbindung aus.
    2. Klicken Sie auf das erste Dropdown-Menü und dann auf Attribute einer Tabelle verbinden.
    3. Klicken Sie auf das zweite Dropdown-Menü und dann auf das Feld "Old_FID".
    4. Klicken Sie auf das dritte Dropdown-Menü, um die Feature-Class auszuwählen. Wenn die Feature-Class zurzeit nicht in der Karte enthalten ist, klicken Sie auf die Schaltfläche Durchsuchen, um ihn auf dem Datenträger zu suchen.
    5. Klicken Sie auf das vierte Dropdown-Menü und dann auf das Feld "Old_OID".
    6. Klicken Sie auf OK.
Hinweis: Erstellen Sie für das Join-Feld keinen Index. Mit Index könnten Probleme bei der Beseitigung von Old_OID entstehen.
  1. Öffnen Sie die Attributtabelle der Feature-bezogenen Annotation, und berechnen Sie FLA.FeatureId = FC.Objectid.
  2. Speichern Sie die Änderungen, beenden Sie die Bearbeitung, entfernen Sie die Verbindung, und beenden Sie ArcMap.
  3. Verwenden Sie den Screenshot der Eigenschaften der Beziehungsklasse aus Schritt 1, um eine neue Beziehungsklasse zu erstellen. Wenn der vorherige Name der Beziehungsklasse bereits verwendet wird, dann geben Sie einen anderen Namen für die neue Beziehungsklasse an.
  4. Entfernen Sie in ArcCatalog die Felder "Old_OID" und "Old_FID", die hinzugefügt wurden. Wenn ein allgemeiner Funktionsfehler ausgegeben wurde, dann überprüfen Sie auf der Registerkarte "Indizes", ob ein temporärer Index zu Old_OID vorhanden ist. Wenn dies der Fall ist, dann entfernen Sie ihn.

Artikel-ID:000009474

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden