Übung 3c: Verwenden von Quellattributen zum Trennen von Daten.
Im Rahmen dieser Übung werden zwei Methoden zur Verwendung von Attributwerten zur Trennung von Daten basierend auf Attributwerten vorgestellt. Sie können zum Erstellen von Spatial ETL-Werkzeugen zum Kategorisieren von Daten und zum Generieren von Feature-Sätzen mit gemeinsamen Werten verwendet werden.
Mit der ersten Methode werden die Daten im Workspace mit dem ValueMapper-Transformer als Suchtabelle getrennt und die Daten an bestimmte AutoCAD-Blockdefinitionen weitergeleitet. Mit der zweiten Methode werden die Daten beim Schreibvorgang mit dem Fanout By Attribute-Writer-Parameter für ein GML-Dataset getrennt und werden eindeutige Feature-Typen "on-the-fly" generiert.
Führen Sie mit Workbench die folgenden Tasks aus:
- Fügen Sie einen ValueMapper-Transformer hinzu, und ordnen Sie bestimmte Attributwerte im COVER-Feld den in der AutoCAD-Vorlagendatei (.dwg) gespeicherten AutoCAD-Blockdefinitionen zu.
- Machen Sie die AutoCAD-Eigenschaften für den Blocknamen-, die Blockdrehungs- und Blockreferenz (Einfügen)-Entität verfügbar.
- Geben Sie die in den Lernprogrammdaten enthaltenen AutoCAD-Vorlagendaten an.
- Fügen Sie ein zweites Datenziel für ein GML-Dataset hinzu, und legen Sie den Fanout By Attribute-Parameter für jeden eindeutigen Wert im COVER-Feld fest.
Erstellen Sie eine Toolbox und ein Spatial ETL-Werkzeug
Die Erweiterung "Data Interoperability" muss aktiviert sein.
- Starten Sie ArcMap.
-
Klicken auf die Schaltfläche Fenster "Katalog".
auf der Werkzeugleiste Standard.
-
Geben Sie im Textfeld Verzeichnis C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\ ein, und drücken Sie die EINGABETASTE.
Das Verzeichnis wird dem Kataloginhaltsverzeichnis hinzugefügt.
- Klicken Sie mit der rechten Maustaste auf den birds_eggs-Ordner, und klicken Sie dann auf Neu > Toolbox.
.
- Klicken Sie mit der rechten Maustaste auf die Toolbox und anschließend auf Umbenennen. Geben Sie dann nests ein.
- Klicken Sie mit der rechten Maustaste auf die Toolbox nests, und klicken Sie dann auf Neu > Spatial ETL-Werkzeug.
Der Assistent zum Erstellen des Translation-Workspace wird aufgerufen.
Erstellen des Translation-Workspace
Auswählen des FME-Writer
- Klicken Sie auf die Schaltfläche Durchsuchen für das Format.
Das Dialogfeld FME-Reader-Galerie wird geöffnet.
- Geben Sie gdb in das Textfeld Suchen ein.
- Klicken Sie in die Zeile mit dem Format Esri Geodatabase (dateibasiert), und klicken Sie dann auf OK.
Das Dialogfeld FME-Reader-Galerie wird geschlossen.
- Klicken Sie auf Weiter.
Angeben der Datenquelle
- Klicken Sie auf die Suchschaltfläche Quelldaten suchen.
Das Dialogfeld Geodatabase auswählen wird geöffnet.
- Navigieren Sie zum Ordner C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\.
- Klicken Sie auf den Ordner "nests.gdb" und dann auf Öffnen.
Das Dialogfeld Geodatabase auswählen wird geschlossen.
- Klicken Sie auf Weiter, um die Standard-Reader-Parameter für die Geodatabase zu bestätigen.
Auswählen des FME-Writer
- Klicken Sie auf die Schaltfläche Durchsuchen für das Format.
Das Dialogfeld FME-Writer-Galerie wird geöffnet.
- Geben Sie dwg in das Textfeld Suchen ein.
- Klicken Sie in die Zeile mit dem Inhalt Autodesk AutoCAD DWG/DXF, und klicken Sie dann auf OK.
Das Dialogfeld FME-Writer-Galerie wird geschlossen.
- Klicken Sie auf Weiter.
- Klicken Sie auf Weiter, um die Standardparameter für das AutoCAD-DWG-Format zu bestätigen.
Erstellen des Workspace
- Klicken Sie auf Fertig stellen.
Der Assistent verarbeitet die Informationen und ruft Workbench auf.
- Erweitern Sie den Reader-Feature-Typ NESTS und den Writer-Feature-Typ NESTS. Beobachten Sie, dass die Quell-Feature-Attribute direkt dem Ziel-AutoCAD-Dataset zugeordnet werden.
Hinzufügen eines AttributeValueMapper-Transformers
Mit dem AttributeValueMapper-Transformer werden Attributwerte basierend auf anderen Attributen zugewiesen und wird der Suchwert in einem neuen Attribut gespeichert.
Zuordnen bestimmter COVER-Attributwerte zu AutoCAD-Blocknamen und Speichern der Suchwerte in einem Attribut mit dem Namen block_name.
- Geben Sie im Fenster Transformers valuem in das Suchtextfeld ein, und drücken Sie die EINGABETASTE.
-
Doppelklicken Sie auf AttributeValueMapper.
Der Zeichenfläche wird ein AttributeValueMapper-Transformer hinzugefügt.
- Klicken Sie mit der rechten Maustaste auf den AttributeValueMapper-Transformer, und klicken Sie im Kontextmenü auf Einfügen vor.Der Workbench-Assistent wird aufgerufen.
- Klicken Sie auf Weiter.
Der Transformer wird mit den Reader- und Writer-Feature-Typen verknüpft.
- Klicken Sie im ValueMapper-Transformer-Fenster auf die Schaltfläche Eigenschaften.
Das Dialogfeld AttributeValueMapper-Parameter wird geöffnet.
- Klicken Sie auf den Pfeil für Quellattribut, und wählen Sie das Attribut COVER.
- Geben Sie im Textfeld Neuer Attributname block_name ein
Importieren von Einzelwerten
Sie können die Quelleingabewerte manuell eingeben oder mit dem Importassistenten arbeiten. In diesem Abschnitt wird die Verwendung des Importassistenten beschrieben. Sind die Zielwerte nicht verfügbar (wie in diesem Fall), können Sie dieselben Attribute für die Schlüssel- and Wertattribute wählen und eine 1:1-Zuordnung erstellen. Anschließend können Sie die Zielwerte bearbeiten, damit diese den in der Vorlagendatei (.dwg) gespeicherten AutoCAD-Blocknamen entsprechen.
- Klicken Sie auf Importieren.
Der Workbench-Assistent wird aufgerufen.
- Vergewissern Sie sich, dass für Dataset die Datenquelle "C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\nests.gdb" angegeben ist. Sie können auf die Schaltfläche Ändern klicken, um die Einstellungen anzuzeigen, und anschließend auf die Schaltfläche Abbrechen klicken, um das Dialogfeld zu schließen.
- Klicken Sie auf Weiter.
- Klicken Sie im Dialogfeld +++Feature-Typen auswählen auf den Feature-Typ NEST und dann auf Weiter.
- Klicken Sie im Dialogfeld Schlüsselattribut auf das Attribut COVER und dann auf Weiter.
- Klicken Sie im Dialogfeld Schlüsselattribut auf das Wertattribut COVER und dann auf Weiter.
- Klicken Sie im Dialogfeld +++Prüfe Attributwerte auf OK, wenn die Datenprüfung abgeschlossen ist.
Workbench zeigt folgende Meldung an: 5 Sucheinträge gelesen. Klicken Sie auf OK.
- Geben Sie in das Textfeld Standardwert den Wert LOVSK ein.
Während der Ausführung wird der Standardwert verwendet, wenn das Werkzeug feststellt, dass ein Attributwert nicht in der ValueMapper-Suchtabelle aufgeführt ist. Im Rahmen dieser Übung geben Sie einen in Vorlagenzeichnung gespeicherten AutoCAD-Blocknamen an.
- Doppelklicken Sie auf die einzelnen Werte in der rechten Spalte, und ersetzen Sie sie durch einen in der Vorlagenzeichnung gespeicherten AutoCAD-Blocknamen.
-
Klicken Sie auf OK.
Das Dialogfeld AttributeValueMapper-Parameter wird geschlossen.
COVER-Attribut | AutoCAD-Blockname |
---|---|
rock | KRYSS |
willow | BARRTR |
conifer | STOMPKT |
bare | LOVTR |
Verfügbarmachen der AutoCAD-Blockeigenschaften
Mit der Verfügbarmachung bestimmter AutoCAD-Blockeigenschaften für den Writer-Feature-Typ können Sie steuern, wie die Blockreferenzen in die Ausgabe-AutoCAD-Datei (.dwg) eingefügt werden.
- Klicken Sie auf die Schaltfläche Eigenschaften des Writer-Feature-Typs NESTS.
Das Dialogfeld Feature-Typ-Eigenschaften wird geöffnet.
- Klicken Sie auf die Registerkarte Formatattribute.
- Aktivieren Sie die Optionen für autocad_block_name, autocad_entity und autocad_rotation.
-
Klicken Sie auf OK.
Das Dialogfeld Feature-Typ-Eigenschaften wird geschlossen.
Verknüpfen von Eingaben für die verfügbar gemachten Formatattribute
- Erweitern Sie die Attributliste für den ValueMapper-Transformer und den Writer-Feature-Typ NESTS. Wechseln Sie zum Ende der Listen, und nehmen Sie die folgenden Verknüpfungen vor:
- Verknüpfen Sie das ROTATION-Attribut mit dem autocad_rotation-Formatattribut.
Dieses übergibt die Drehungswerte von den Quelldaten an den AutoCAD-Block.
- Verknüpfen Sie das block_name-Attribut mit dem autocad_block_name-Formatattribut.
Hiermit werden die in der AttributeValueMapper-Suchtabelle mit dem DWG-Writer zugeordneten block_name-Werte übergeben.
- Klicken Sie mit der rechten Maustaste auf den Eingabepfeil (rot) für autocad_entity , und klicken Sie im Kontextmenü auf +++Konstante anhängen.
Eine neue Konstante wird als Eingabe verknüpft.
- Doppelklicken Sie auf +++Neue Konstante, und geben Sie autocad_insert ein.
Mit der Angabe der AutoCAD-Entität als autocad_insert wird eine Blockreferenz für jedes Ausgabe-Feature eingefügt. Die Geometrie (oder Symbologie) wird von den in der AutoCAD-Vorlagendatei (.dwg) gespeicherten Blockdefinitionen gespeichert, die Sie im nächsten Abschnitt angeben.
Hinweis:
Alle an den DWG-Writer-Feature-Typ übergebenen Benutzerattribute werden als Blockattribute mit der Blockreferenz für jedes Feature eingefügt. Dies ist das Ergebnis, wenn der DWG-Writer-Parameter Attributausgabe auf Ignorieren festgelegt ist. Hiermit werden tatsächlich alle Attributdefinitionen ignoriert, die in den Blockdefinitionen in der Vorlagendatei gefunden wurden, und wird unterstützt, dass das Spatial ETL-Werkzeug steuert, welche Attribute in die Zeichnungsdatei geschrieben werden.
Festlegen der AutoCAD-Vorlagendatei
Die AutoCAD-Vorlagendatei enthält die von Ihnen in der ValueMapper-Suchtabelle angegebenen Blockdefinitionen.
Geben Sie den Vorlagendateipfad so an, dass er auf die template.dwg-Datei im Lernprogrammordner verweist.
- Erweitern Sie im Navigatorfenster den [ACAD]-Writer-Feature-Typ und den Parameter-Knoten.
- Klicken Sie mit der rechten Maustaste auf Vorlagendatei, und klicken Sie dann im Kontextmenü auf Parameter bearbeiten.
Das Dialogfeld Parameter bearbeiten wird geöffnet.
- Klicken Sie auf die Schaltfläche Durchsuchen (...), und navigieren Sie zum Ordner "C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\template.dwg".
- Klicken Sie im Dialogfeld Vorlagendatei auswählen auf template.dwg und dann auf Öffnen.
- Klicken Sie im Dialogfeld Parameter bearbeiten auf OK.
Werkzeug speichern und umbenennen
Speichern Sie Ihre Arbeit, beenden Sie Workbench, und benennen Sie dann das Werkzeug im Fenster Catalog um.
- Klicken Sie auf Datei > Speichern, um das Werkzeug zu speichern.
- Klicken Sie auf Datei > Beenden, um Workbench zu schließen.
- Klicken Sie mit der rechten Maustaste auf das neue Spatial ETL-Werkzeug im Fenster Katalog, klicken Sie auf Umbenennen, und geben Sie dann +++Verschachtelt mit AutoCAD ein.
Öffnen und Ausführen des Werkzeugs
Öffnen Sie das Werkzeug, legen Sie die Zieldateiparameter fest, und führen Sie das Werkzeug aus.
- Erweitern Sie im Fenster Katalog die Toolbox "+++Nests".
.
-
Doppelklicken Sie auf das Werkzeug +++Verschachtelt mit AutoCAD.
Das Dialogfeld +++Verschachtelt mit AutoCAD wird geöffnet.
- Klicken Sie auf die Schaltfläche Durchsuchen für den Ordner, und navigieren Sie zum Ordner "C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\".
- Geben Sie im Dialogfeld Speichern unter +++nests in das Textfeld Dateiname ein, und klicken Sie auf Speichern. Der FME-Writer hängt die entsprechende Dateierweiterung an die Ausgabe an.
- Klicken Sie auf OK, um das Werkzeug auszuführen.
Das Werkzeug führt die Konvertierung im Hintergrund aus. In der Fortschrittsleiste am unteren Rand der Karte wird der Name des Werkzeugs angezeigt. Sobald das Werkzeug die Ausführung beendet hat, wird eine Popup-Benachrichtigung in der Taskleiste angezeigt. Sie können die Details der Konvertierung im Fenster Ergebnisse überprüfen.
Hinzufügen der Daten zu ArcMap
- Erweitern Sie im Fenster Katalog das DWG-Dataset nests, ziehen Sie die Punkt-Feature-Class in ArcMap, um Ihre Ergebnisse zu überprüfen.
Kopieren und Umbenennen des Werkzeugs
Kopieren Sie das Werkzeug, und verwenden Sie es als Grundlage für ein zweites Werkzeug, mit dem eine Zeichnungsdatei und ein GML-Dataset mit dem Fanout By Attribute-Parameter generiert werden soll.
- Klicken Sie im Fenster Katalog mit der rechten Maustaste auf das Spatial ETL-Werkzeug +++Verschachtelt mit AutoCAD, und klicken Sie im Kontextmenü auf Kopieren.
- Klicken Sie mit der rechten Maustaste auf die Toolbox "Nests", und wählen Sie Einfügen.
- Klicken Sie mit der rechten Maustaste auf das Werkzeug +++Verschachtelt mit AutoCAD (2), klicken Sie auf Umbenennen, und geben Sie dann +++Verschachtelt mit AutoCAD und GML ein.
- Klicken Sie mit der rechten Maustaste auf das Werkzeug +++Verschachtelt mit AutoCAD und GML, und klicken Sie auf Bearbeiten.
Workbench wird aufgerufen.
Hinzufügen eines Writers für GML
Fügen Sie einen zweiten Writer hinzu, der GML-Datasets erstellt, und verknüpfen Sie ihn mit der ValueMapper-Transformer-Ausgabe.
- Klicken Sie im Hauptmenü auf Writer > Writer hinzufügen.
Das Dialogfeld Writer hinzufügen wird geöffnet.
- Klicken Sie auf die Schaltfläche Durchsuchen für das Format, und wählen Sie GML (Geography Markup Language) aus der FME-Writer-Galerie.
- Klicken Sie auf die Schaltfläche Durchsuchen für das Dataset, und navigieren Sie zum Ordner "C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\".
- Geben Sie im Dialogfeld +++Datei wählen nests in das Textfeld Dateiname ein, und klicken Sie auf Speichern. Der FME-Writer hängt die entsprechende Dateierweiterung an die Ausgabe an.
- Navigieren Sie zum Ordner "C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\", geben Sie nests in das Testfeld Dateiname ein, und klicken Sie dann auf Speichern.
- Klicken Sie auf OK.
Workbench fordert Sie zur Erstellung eines neuen Feature-Typs auf.
- Klicken Sie auf Nein.
- Klicken Sie mit der rechten Maustaste auf den AustoCAD-Ausgabe-Feature-Typ mit der Bezeichnung +++NESTS, und wählen Sie im Kontextmenü dann die Option Duplizieren.
- Verknüpfen Sie die ValueMapper-AUSGABE mit der Eingabe des neuen Ziel-Feature-Typs.
- Klicken Sie auf die Schaltfläche Eigenschaften des duplizierten Ziel-Feature-Typs NESTS. Nach Abschluss der Bearbeitung der Einstellungen, werden mit der QuickInfo Informationen ähnlich der voranstehenden Grafik angezeigt.
Das Dialogfeld Feature-Typ-Eigenschaften wird geöffnet.
- Geben Sie im Textfeld Feature-Typ-Name NESTS_gml ein.
- Aktivieren Sie das Kontrollkästchen Fanout By Attribute, klicken Sie auf den Pfeil und wählen Sie COVER.
Mit der Fanout-Einstellung Ausgabedaten basierend auf dem Wert eines Attributs getrennt. Die Daten werden zur Laufzeit getrennt anstatt im Workspace generiert zu werden. In dieser Übung wird hiermit Ausgabe basierend auf dem Wert im COVER-Attributfeld generiert.
- Klicken Sie auf den Pfeil für Dataset, und wählen Sie nests [GML] aus.
-
Klicken Sie auf OK.
Das Dialogfeld Feature-Typ-Eigenschaften wird geschlossen.
Festlegen des Zielparameters für DWG-Datasets
Ein veröffentlichter Parameter ist ein Parameter (eine Einstellung), der (die) bei der Ausführung des Werkzeugs für die Änderung durch den Benutzer zur Verfügung gestellt wurde. Parameter werden im Spatial-ETL-Werkzeug-Dialogfeld als Textfelder angezeigt wie bei den meisten Geoverarbeitungswerkzeugen auch. Im Navigatorfenster sind sie mit einem purpurfarbenen Symbol gekennzeichnet.
Beim Hinzufügen des GML-Writer haben Sie diesen Parameter mit einem Standardzielpfad und -dateinamen festgelegt. In diesem Abschnitt wird dieser Parameter für DWG-Datasets mit einem Standardpfad und -dateinamen festgelegt.
- Erweitern Sie im Navigatorfenster den [ACAD]-Writer-Feature-Typ und den Parameter-Knoten.
- Klicken Sie mit der rechten Maustaste auf Ziel, und klicken Sie dann im Kontextmenü auf Parameter bearbeiten.
Das Dialogfeld +++Veröffentlichten Parameter bearbeiten wird geöffnet.
- Klicken Sie auf die Schaltfläche Durchsuchen (…), und navigieren Sie zum Ordner "C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\".
- Geben Sie im Textfeld Dateiname nests ein, und klicken Sie auf Speichern.
- Klicken Sie auf OK, um das Dialogfeld Veröffentlichten Parameter bearbeiten zu schließen.
Öffnen und Ausführen des Werkzeugs
- Klicken Sie auf Datei > Speichern, um das Werkzeug zu speichern.
- Klicken Sie auf Datei > Beenden, um Workbench zu schließen.
- Erweitern Sie im Fenster Katalog die Toolbox "+++Nests".
.
-
Doppelklicken Sie auf das Werkzeug +++Verschachtelt mit AutoCAD und GML.
Das Dialogfeld +++Verschachtelt mit AutoCAD und GML wird geöffnet.
- Klicken Sie auf OK.
Das Werkzeug führt die Konvertierung im Hintergrund aus. In der Fortschrittsleiste am unteren Rand der Karte wird der Name des Werkzeugs angezeigt. Sobald das Werkzeug die Ausführung beendet hat, wird eine Popup-Benachrichtigung in der Taskleiste angezeigt. Sie können die Details der Konvertierung im Fenster Ergebnisse überprüfen.
Hinzufügen der Daten zu ArcMap
- Ziehen Sie im Fenster Katalog das GML-Dataset nests in ArcMap, um Ihre Ergebnisse zu überprüfen.
Hiermit ist die Übung abgeschlossen.