Attribute Management

Attribute Management

Attribute Management

16.03.2016

Die Hauptaufgabe, die mit FME durchgeführt wird ist (abgesehen von der Formatkonvertierung) das Managen von Attributen. Es gibt kaum einen Workspace, in dem nicht in irgendeiner Weise Attribute manipuliert, verändert oder harmonisiert werden.

Attribute werden hinzugefügt, gelöscht, umbenannt, verändert, beschnitten, kopiert, konkateniert, berechnet und vieles,  vieles mehr. Für all die vielen Aufgaben, die es mit Attributen zum Durchführen gab, gab es in FME mindestens genauso viele Transformer und es war schwer den Überblick zu behalten, welcher Transformer für welche Aufgabe benutzt werden sollte.

Mit FME 2016 kommt nun ein weiter neuer Transformer, der jedoch all die anderen Transformer für Attributbearbeitung überflüssig macht. „Der eine sie alle zu beherrschen…“ – der AttributeManager.

Im Einzelnen kann der AttributeManager Attribute erstellen, umbenennen, kopieren, löschen, Werte setzen und reorganisieren. In diesen Eigenschaften ersetzt er also den AttributeCreator, AttributeRenamer, AttributeCopier, AttributeRemover, Attributekeeper, ListRenamer, StringConcatenator, ExpressionEvaluator, AreaCalculator, AttributeRounder etc, etc.

Der Parameterdialog des AttributeManagers beinhaltet 2 Spalten zum AttributeMapping (Input Attribute und Output Attribute), einer Spalte für Definition der Attributwerte und einer weiteren Spalte zur Festlegung der Aktion, die mit dem Attribut durchgeführt werden soll (wie Werte setzen, umbenennen oder löschen).

Eine wichtige Funktionalität ist, dass alle Attribute im Schema mit denen der Transformer verbunden ist sowohl als Eingang als auch Zielattribute zur Verfügung stehen, weshalb sie nicht mehr manuell definiert werden müssen.

 

Wird die zweite und dritte Spalte des Parameterdialogfelds befüllt, so wird die Aktion automatisch auf „Rename“ bzw. „Set Value“ gesetzt. Der neue Wert kann, wie bereits beim AttributeCreator ein fester Wert sein, von einem anderen Attribut stammen (demanch eine Attribute-Copy-Funktion), aus einem Parameter herrühren oder mittels des Arithmetic- bzw. String-Editors vollkommen neu definiert werden bzw. einfach auf NULL gesetzt werden. Die Definition unterschiedlicher Werte abhängig von vordefinierten Bedingungen ist durch die Benutzung der „Conditional Value“-Funktion ebenfalls möglich.

Schließlich kann ich durch Benutzung der Pfeile die Reihenfolge der Attribute im Schema neu festgelegt werden und auf neu erstellte Attribute kann sogar im gleichen Dialogfeld bereits zugegriffen werden um deren Werte z.B. in weiteren Attributen zu verwenden.

Während bisher in FME zwischen der Bearbeitung von Attributen und Listen unterschieden wurde und für die Bearbeitung von Listen spezielle Transformer existierten, können diese nun zusammen mit anderen Attributen mit dem AttribueManager bearbeietet werden. So können ListenAttribute z.B. umbenannt werden. Für das bearbeitetn einzelner Listenelemente ist der Transformer jedoch nicht grundsätzlich konzipiert. Wie beim AttributeManager kann man hier auch die Werte von benachbarten (vorangehenden und nachfolgenden) Features erfassen und beim aktuellen Feature verwenden und Harmonisierungs-Operationen für fehlende, leere Attribute sowie NULL-Werte durchführen.

Wie man sieht ist der Transformer sehr einfach in der Bedienung und weitgehend selbsterklärend, so dass er kaum weiterer Beschreibung bedarf. Trotzdem oder vielleicht genau deswegen wird er zukünftig zum meistverwendeteten Transformer in FME werden.


Top