|
|
# Hinzufügen eines Attributs zum CityGML-Datensatz (mit attribute-join) |
|
|
\ No newline at end of file |
|
|
# Hinzufügen eines Attributs zum CityGML-Datensatz (mit attribute-join)
|
|
|
|
|
|
Dieses Beispiel zeigt, wie man mit FME ein Attribut (hier: Baujahr) zu einem bestehenden CityGML-Dokument hinzufügt. Die gleiche Methode kann für das Hinzufügen von Attributen durch Attribut-Join zu beliebigen CityGML-CityObjects verwendet werden, unabhängig von deren Detaillierungsgrad. Als Beispiel wird hier der CityGML-Gebäudedatensatz verwendet.
|
|
|
|
|
|
Methode 1: Verwendung von Feature Merger und Attribute Creator
|
|
|
|
|
|
Bei dieser Methode fügen Sie zunächst ein weiteres Lesegerät zur Workbench hinzu (hier: CSV). Dann verbinden Sie im Feature-Merger-Transformer den Port von "CityGML Building" mit dem Requestor-Port und den CSV-Port mit dem Supplier-Port. Darin wird das Feature Merger Mapping auf gml_ID durchgeführt. Der Ausgangsanschluss "Merged" wird dann mit dem Transformator für die Attributerstellung verbunden. Wählen Sie im Attribute Creator "citygml_year_of_construction" als neues Attribut und das CSV-Feld mit den Werten für das Baujahr als Attributwert. Verbinden Sie den Ausgabeport mit dem Writer-Port von "CityGML Building" und starten Sie die Workbench.
|
|
|
|
|
|
Eine Beispiel-Workbench ist [hier](https://transfer.hft-stuttgart.de/gitlab/coors/3d-stadtmodelle/-/blob/master/FME_Workbenches/citygml_yoc_method1.zip) verfügbar.
|
|
|
|
|
|
Methode 2: Verwendung von Datenbank-Joiner und Attributmanager
|
|
|
|
|
|
Bei dieser Methode wird kein weiterer Datenbank-Joiner hinzugefügt, sondern ein Transformator verwendet, um Datensätze auf der Grundlage der gml_id oder eines beliebigen Primärschlüssels zu verbinden. Hier verbinden Sie den Port von "CityGML Building" mit dem Eingangsport des Datenbank-Joiner-Transformers. Im Transformator wählen Sie Ihre Datenbank aus (hier: CSV), wählen die CSV-Tabelle und ordnen dann die gml_id aus der CityGML-Datei der gml_id aus der CSV-Datei zu. Unter "Hinzufügende Felder" wird das Feld mit den Werten für das Baujahr ausgewählt (hier: Bau). Stellen Sie außerdem sicher, dass die Kardinalität entweder auf 1:1 oder 1:0..1 eingestellt ist. Dadurch wird verhindert, dass nicht übereinstimmende gml_id einen Fehler verursachen und die Workbench beenden. Als nächstes verbinden Sie den Join-Port des Datenbank-Joiners mit dem Input-Port des Attribut-Managers. Geben Sie im Attributmanager vor "citygml_year_of_construction" den Wert "construction" ein. Verbinden Sie den Ausgangsanschluss mit dem Writer-Anschluss von "CityGML Building" und starten Sie die Workbench.
|
|
|
|
|
|
Eine Beispiel-Workbench ist [hier](https://transfer.hft-stuttgart.de/gitlab/coors/3d-stadtmodelle/-/blob/master/FME_Workbenches/citygml_yoc_method2.zip) verfügbar.
|
|
|
|
|
|
Der Unterschied zwischen dem Datenbank-Joiner und dem CSV-Leser besteht darin, dass der CSV-Leser alle Daten aus der CSV-Datei auf Ihrem lokalen Rechner zwischenspeichert. Dies ist nicht gut, wenn Sie mit einem großen Datensatz arbeiten. Mit einem Datenbank-Joiner liest der Transformer Ihre Datenbank während der Ausführung und speichert daher keine Daten auf Ihrem lokalen Rechner. Das spart Zeit, Speicher und Festplattenplatz. |
|
|
\ No newline at end of file |