Solved

How do I use the "Workspace Runner"-Transformer correctly?

  • 9 February 2021
  • 3 replies
  • 3 views

workflow_02workflow_01Dear FME community,

I want to create 3D-tiles from city-gml-data. These tiles should be sved as OBJ-files. I like to create simple models of trees of coordinates. Since there are over 200000 coordinates, there will be over 200000 trees. Each tree will have a certain amount of polygons. So at the end there would be several million polygons in one file, if I were to save one OBJ-file. I decided to create over 200 tiles in order to have many smaller files.

In order to create those files, I would like to use the "Workspace Runner"-Transformer.

 

So I have one workspace, that created the tiles. In this workspace I basically created tiles made out of point-clouds. Now I want to transform every pointcloud-file into meshes which sit on one tile. Each point in the point-cloud will be used to create the tree geometry. Since I have over 200 point-cloud files I want FME to send every singe point-cloud file into the workspace that creates the geometry out of the points. At the end I wish to have squared-tiles full of trees saved in individual, separated OBJ-files.

I have tried several things, but at the end I either get only one obj-file or nothing.

 

 

In the screenshots, you can see my workflows. In the second workflow with the workspace runner I want to load in all the over 200 LAS-files in order to create the 3D-tiles automatically.

 

I would be very happy, if someone could help me with this problem :)

 

Thank you very much in advance!

Christian Lendl

icon

Best answer by chrisatsafe 9 February 2021, 18:46

View original

3 replies

Badge +2

Hi @christianlendl​ ,

 

You're on the right track! The problem that I see from the screenshot, and from your description, is that you are specifying a single OBJ filename rather than using a fanout to set the destination file name. Since the WorkspaceRunner will run once for each feature that is passed into it, and the OBJ filename you have set is currently "tile_02", the WorkspaceRunner is running the child workspace 218 times but overwriting the tile_02 file every time.

 

There are two ways you can fanout, Dataset and Feature Type. In this case, you'll want to use a feature type fanout in the OBJ writer feature type (file) rather than a dataset fanout (folder). However, you can fanout on both if you want to create individual folders for each obj file as well.

 

In your child workspace, try changing the OBJ writer feature type's filename parameter to an attribute value or by constructing the filename in the Text Editor.

 

2021-02-09_9-39-41 

Alternatively, if you want the file naming to be handled by the parent workspace, that is also an option. You'll still use the same fanout method, but first you'll need to create a published parameter for the filename parameter in the child workspace before setting the value to fanout by in the WorkspaceRunner.

Hey @chrisatsafe​ 

thank you so much for your help! I finally got it to work and it worked out fine! Thank you very much for you valuable hints :)

 

with kind regards

Christian Lendl

Badge +2

Hey @chrisatsafe​ 

thank you so much for your help! I finally got it to work and it worked out fine! Thank you very much for you valuable hints :)

 

with kind regards

Christian Lendl

That's great, thanks for letting me know you were able to get it working!

Reply