Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • V Visualization
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • Volker Coors
  • Visualization
  • Wiki
  • FME

FME · Changes

Page history
Update FME authored May 05, 2022 by Rushikesh Padsala's avatar Rushikesh Padsala
Hide whitespace changes
Inline Side-by-side
FME.md
View page @ b8abbc9e
# Useful FME workbenches # Useful FME workbenches
## Add an attribute to CityGML dataset
This example shows how to add an attribute (here: year_of_construction) to an existing CityGML document using FME.
Method 1: Using feature merger and attribute creator
With this method you first add an additional reader to the workbench (here: CSV). Then in the feature merger transformer, you connect port from "CityGML Building" to requestor port and, CSV to supplier port. Inside feature merger mapping on gml_ID is done. The output port "Merged" is then connected to the attribute creator transformer. Within attribute creator, select "citygml_year_of_construction" under new attribute and the CSV field containing year of construction values under attribute value. Connect the output port to the writer port of "CityGML Building" and run the workbench.
An example workbench is available [here](https://transfer.hft-stuttgart.de/gitlab/coors/visualization/-/blob/master/FME_Workbenches/citygml_yoc_method1.zip).
Method 2: Using database joiner and attribute manager
In this method, instead of adding an additional reader database joiner transformer is used to connect datasets based on gml_id or any primary key. Here you connect port from "CityGML Building" to the input port of database joiner transformer. Inside the transformer you select your database (here: CSV), select the CSV table and the map you gml_id from the CityGML file to gml_id from the CSV file. Under "Fields to Add", the field containing year of construction values is selected (here: construction ). Also make sure to set cardinality to either 1:1 or 1:0..1. This will prevent unmatched gml_id from giving you an error and terminating the workbench. Next connect the joined port of database joiner to attribute manager input port. Inside attribute manager, in front of the "citygml_year_of_construction" assign value "construction ". Join the output port to the writer port of "CityGML Building" and run the workbench.
An example workbench is available [here](https://transfer.hft-stuttgart.de/gitlab/coors/visualization/-/blob/master/FME_Workbenches/citygml_yoc_method2.zip).
The difference between using database joiner and CSV as a reader, is that CSV reader with cache all the data from the CSV file on your local machine. This is not good if you are working with a large dataset. With a database joiner, the transformer will read your database on the run and hence will not cache any data on your local machine. This saves time, memory and disk space.
FME workbench is in the repository
## Convert land use shapefile to Cesium ## Convert land use shapefile to Cesium
Landuse shapefile to Cesium is a direct conversion without any transformer. Add your landuse shapefile as reader and choose 3D tiles as writer. Connect the port of shapefile reader to 3D tiles writer. In the writer properties make sure to select automatic in the user attribute to get all the attributes from the shapefile. Incase you only want some attributes from shapefile, select manual attributes and add or remove as required. Landuse shapefile to Cesium is a direct conversion without any transformer. Add your landuse shapefile as reader and choose 3D tiles as writer. Connect the port of shapefile reader to 3D tiles writer. In the writer properties make sure to select automatic in the user attribute to get all the attributes from the shapefile. Incase you only want some attributes from shapefile, select manual attributes and add or remove as required.
......
Clone repository
  • Create a simple web AR application [De]
  • Create a simple web AR application
  • Exercise for Multiresolution Models
    • Feature manipulation engine (FME)
    • Introduction
    • Open source datasets
    • Visualization with ArcGIS
    • Visualization with CesiumJS
    • Visualization with Deck.gl
  • FME
  • OGC API 3D GeoVolume
  • Project_1
  • Styling of 3D building models by Attributes
  • Three.js 101 : Hello World!
  • Useful tools
  • Visualization of Bike Sharing Data
View All Pages

Dies ist die Gitlab-Instanz des Transferportals der Hochschule für Technik Stuttgart. Hier geht es zurück zum Portal