Skip to main content
Solved

Help me understand Aggregator Hierarchies?

  • February 6, 2025
  • 6 replies
  • 79 views

aron
Supporter
Forum|alt.badge.img+16
  • Supporter

Case: To get an unified look I am trying to aggreagate line features before offsetting them. Once they are offset I want to deaggregate them back to their original geometries and attributes. 

I assume using ‘Geometry - Assemble hierarchy’ in the Aggregator is the way to go. Unfortunately I find the documentation a bit confusing.

Q1: Could someone please explain the parent - child concept? I have features and their attributes, so two(?) levels deep. I want to “pack” and then “unpack” them. But I don’t understand where to get the ‘parent ID’ or ‘child ID list attribute’? It would make sense to me that they were created when I group the features, not before?

Q2: In the documentation the word nodes is used frequently. I guess this should be understood as ‘parts’?

NB this might not even work. When using the setting ‘geometry - assemble one level’ features wont deaggregate after being offset. If it is also so when using Hierarchies, is there an other tool to achieve my desired result?

Best answer by joepk

Q1: Could someone please explain the parent - child concept? I have features and their attributes, so two(?) levels deep. I want to “pack” and then “unpack” them. But I don’t understand where to get the ‘parent ID’ or ‘child ID list attribute’? It would make sense to me that they were created when I group the features, not before?

The Aggregator aggregates features into a “parent” feature. All of the features in one parent feature can be seen as childs of the parent. 

When aggregating, you can give features you want to aggregate into the same parent feature the same ID, and pass that ID on as a parent ID. 

The child list ID is an ID you pass on to a parent feature, which will result in an aggregation of all the child IDs in the list to the parent feature which carries the list.

I hope this kind of makes sense, this is naturally confusing stuff. 

Q2: In the documentation the word nodes is used frequently. I guess this should be understood as ‘parts’?

A node is the same as a vertex. A line consists of nodes with edges in between them. Try to run your lines to the TopologyBuilder, this has nothing to do with parent/child IDs, but it will give some insights on how FME handles geometries.

View original
Did this help you find an answer to your question?
This post is closed to further activity.
It may be a question with a best answer, an implemented idea, or just a post needing no comment.
If you have a follow-up or related question, 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.

6 replies

max_h
Supporter
Forum|alt.badge.img+10
  • Supporter
  • February 6, 2025
aron wrote:

Case: To get an unified look I am trying to aggreagate line features before offsetting them. Once they are offset I want to deaggregate them back to their original geometries and attributes. 

 

So what do you desire as result exactly? What would be the difference to the pre-aggregated state when you’re deaggregating geometries and attributes?
Sounds to me that you could simply use your original features or am I mistaken?


aron
Supporter
Forum|alt.badge.img+16
  • Author
  • Supporter
  • February 6, 2025
haverm wrote:

So what do you desire as result exactly? What would be the difference to the pre-aggregated state when you’re deaggregating geometries and attributes?
Sounds to me that you could simply use your original features or am I mistaken?

 

The reason I want to merge the line features is that they sometimes self intersect when being offset if they are separate features. I also trim the ends in a way that is easier managed if they are merged. Once in an offset position I need to return to the original parts since they contain important attributes needed for later processing. I am trying to find a way to simplify the geometry as much as possible before offset, to avoid having to do a bunch of repairs afterwards, like removing dangles and similar.


max_h
Supporter
Forum|alt.badge.img+10
  • Supporter
  • February 6, 2025

In your aggregator you can generate a list of your wanted attributes and after you offset your lines you can use a deaggregator and explode said lists


aron
Supporter
Forum|alt.badge.img+16
  • Author
  • Supporter
  • February 7, 2025
haverm wrote:

In your aggregator you can generate a list of your wanted attributes and after you offset your lines you can use a deaggregator and explode said lists

Unfortunatly the deaggregator does not split the lines after offsetting when using the ‘geometry - assemble one level’ setting. Thats why I am trying to see if ‘Geometry - Assemble hierarchy’‘Geometry - Assemble hierarchy’ is the way to go.


max_h
Supporter
Forum|alt.badge.img+10
  • Supporter
  • February 11, 2025

If you havnt solved it already by yourself, a small sample of your data/lines and/or a picture of your workspace with its configuration could help us to help you.


joepk
Influencer
Forum|alt.badge.img+20
  • Influencer
  • Best Answer
  • February 11, 2025

Q1: Could someone please explain the parent - child concept? I have features and their attributes, so two(?) levels deep. I want to “pack” and then “unpack” them. But I don’t understand where to get the ‘parent ID’ or ‘child ID list attribute’? It would make sense to me that they were created when I group the features, not before?

The Aggregator aggregates features into a “parent” feature. All of the features in one parent feature can be seen as childs of the parent. 

When aggregating, you can give features you want to aggregate into the same parent feature the same ID, and pass that ID on as a parent ID. 

The child list ID is an ID you pass on to a parent feature, which will result in an aggregation of all the child IDs in the list to the parent feature which carries the list.

I hope this kind of makes sense, this is naturally confusing stuff. 

Q2: In the documentation the word nodes is used frequently. I guess this should be understood as ‘parts’?

A node is the same as a vertex. A line consists of nodes with edges in between them. Try to run your lines to the TopologyBuilder, this has nothing to do with parent/child IDs, but it will give some insights on how FME handles geometries.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings