One thing wish FeatureJoiner had was a CROSS JOIN / Cartesian Product mode to create every permutation of Feature Set A vs Feature Set B (Eg. When creating To-From Lines between every possible Origin Point and every possible Destination Point).
Custom Transfomer FeatureCrossJoiner is not anything really radical in how it gets FeatureJoiner to do this by creating a temporary dummy Cross Join attribute, but perhaps simplifies the process for some users.
You can use the InlineQuerier to do cross joins out of the box:
You can use the InlineQuerier to do cross joins out of the box:
The FeatureJoiner method gives you a few more options for handling geometries. It’s also needed if you’ve self imposed a rule of no python or inlinequeriers when doing advent of code :-)
You can use the InlineQuerier to do cross joins out of the box:
The FeatureJoiner method gives you a few more options for handling geometries. It’s also needed if you’ve self imposed a rule of no python or inlinequeriers when doing advent of code :-)
It’s difficult to argue against self-imposed restrictions ;-)
You can use the InlineQuerier to do cross joins out of the box:
Yup, and similarly use InlineQuerier for exactly that. I get the impression though that in the Community that there is a mix of just not knowing about InlineQuerier for alternative SQL methods, or they find writing the SQL daunting, or maybe be lazy like me and just want a workspace shortcut to just quickly pop 1 x Transformer onto the workspace, connect 2 x connectors and not have to write anything else
Plus as @ebygomm notes, FeatureJoiner has thing like automatically putting the Schema back into Bulk Mode, it can be faster in a lot of circumstances too if the upstream Features are in Bulk Mode and can Aggregate the Left/Right Geometry. But yes, I use both for Cross Joins depending on circumstances.
Again, nothing earth-shattering:just something to be able to avoid a couple of AttributeCreators and an AttributeRemover, and an alternative to point users to with the occasional Cross Join questions that come up.