Skip to main content
Solved

Deaggregator in Custom Transformer Loop Holding Until All Records Pass

  • August 21, 2018
  • 3 replies
  • 21 views

I have a deaggregator transformer in a custom transformer loop. When I run the workspace, the deaggregator holds on to all features until each row has gone through the loop. I am wanting one row to pass through the entire custom loop transformer, all the way, before the next row entering.

Best answer by hollyatsafe

Hi @preichart,

The Deaggregator is waiting until all the features have passed through because the Snapper takes all the features to see if they are in the specified distance of one another. If you want this to work on a per row basis I suggest setting the GroupBy parameter to a unique row ID, if you do not have an attribute already to use as an UID you can set this up by using a Counter before the Deaggregator and then in the Snapper set the Group By parameter to _count and then set the Input Ordered to By Group (you may want to add a Sorter before the Snapper to ensure this is truly the case as if not it could cause undesired behaviour). I believe this should do the trick.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

3 replies

  • Author
  • 3 replies
  • August 21, 2018

Adding image of custom transformer loop.

 

 


Forum|alt.badge.img+2
  • 719 replies
  • Best Answer
  • August 21, 2018

Hi @preichart,

The Deaggregator is waiting until all the features have passed through because the Snapper takes all the features to see if they are in the specified distance of one another. If you want this to work on a per row basis I suggest setting the GroupBy parameter to a unique row ID, if you do not have an attribute already to use as an UID you can set this up by using a Counter before the Deaggregator and then in the Snapper set the Group By parameter to _count and then set the Input Ordered to By Group (you may want to add a Sorter before the Snapper to ensure this is truly the case as if not it could cause undesired behaviour). I believe this should do the trick.


  • Author
  • 3 replies
  • August 22, 2018

Hi @preichart,

The Deaggregator is waiting until all the features have passed through because the Snapper takes all the features to see if they are in the specified distance of one another. If you want this to work on a per row basis I suggest setting the GroupBy parameter to a unique row ID, if you do not have an attribute already to use as an UID you can set this up by using a Counter before the Deaggregator and then in the Snapper set the Group By parameter to _count and then set the Input Ordered to By Group (you may want to add a Sorter before the Snapper to ensure this is truly the case as if not it could cause undesired behaviour). I believe this should do the trick.

After adding the GroupBy and unique row ID I still had the same problem. Making the custom transformer external and linked (Looping with a Blocking Transformer) fixed the problem.

 

Thanks for your help!