Skip to main content

FME Form 2023.0

I have four datasets, three line datasets which I add an attribute to distinguish it from the others, this attribute is called MaxLength. The forth dataset is a point dataset. The three lines datasets are run together and then run I a pointonline with a groupby using the MaxLength attribute in the line datasets but I get no matches. If I remove the groupby then I get results.

 

Is the above possible with the group by or do I just need to run the pointonline with each line dataset separately?

 

imageimageimageimage

Group By does not work like that. It searches for matching records in the attributes you grouped by and then executes the transformer on those groups.

 

If your point dataset does not have the Group-By attribute, the PointOnLineOverlayer cannot group it, and thus you get 0 overlaps.

 

If your point dataset has records with the MaxLength attribute value set to e.g. 20, the PointOnLineOverlayer in Group By mode would only overlay these points with lines who have a MaxLength attribute value of 20. I hope this explains the Group By behaviour a little.

 

The same goes for the NeighborFinder: if there is no matching attribute between the Candidates and Bases, the Transformer cannot group the features and 0 neighbors are found.

 

So the behaviour is as expected. What do you want to accomplish with your workspace? If you put all three line datasets in the Line input of the PointOnLineOverlayer, and the point dataset in the Point input, you don’t have to run the Overlayer multiple times, right?

 


Group By does not work like that. It searches for matching records in the attributes you grouped by and then executes the transformer on those groups.

 

If your point dataset does not have the Group-By attribute, the PointOnLineOverlayer cannot group it, and thus you get 0 overlaps.

 

If your point dataset has records with the MaxLength attribute value set to e.g. 20, the PointOnLineOverlayer in Group By mode would only overlay these points with lines who have a MaxLength attribute value of 20. I hope this explains the Group By behaviour a little.

 

The same goes for the NeighborFinder: if there is no matching attribute between the Candidates and Bases, the Transformer cannot group the features and 0 neighbors are found.

 

So the behaviour is as expected. What do you want to accomplish with your workspace? If you put all three line datasets in the Line input of the PointOnLineOverlayer, and the point dataset in the Point input, you don’t have to run the Overlayer multiple times, right?

 

Thanks @joepk​ I appreciate you taking the time to reply and yes just using the transformer incorrectly, so need to think of a different approach to read in all three lines datasets, process and separate again at output.


Reply