Hi - is there a way in your dataset to filter the green records beforehand into A and B (dark and light green) using a tester/testfilter or similar?
Then run 1 x spatialfilter against the feature A's
Then a second spatialfilter against the feature B's
Alternatively, i think Spatialrelator might be worth a look
I'd think that's a sensible way of getting around it - but doesn't truly answer the question as to why it happens/how it is decided.
I'd expect it's simply order that the feature hits the transformer in - so you could control this with sorting beforehand
Hi - is there a way in your dataset to filter the green records beforehand into A and B (dark and light green) using a tester/testfilter or similar?
Then run 1 x spatialfilter against the feature A's
Then a second spatialfilter against the feature B's
Alternatively, i think Spatialrelator might be worth a look
The first filter feature in wins. As soon as a candidate passes against one filter , those attributes are transferred and the feature is kicked out the passed port.
If you can't sort your filters, you can use a SpatialRelator instead which can add the attributes of all intersecting features as a list, which you can then sort to determine which attributes to transfer. (by feature type, largest area, some other attribute, etc)
The first filter feature in wins. As soon as a candidate passes against one filter , those attributes are transferred and the feature is kicked out the passed port.
If you can't sort your filters, you can use a SpatialRelator instead which can add the attributes of all intersecting features as a list, which you can then sort to determine which attributes to transfer. (by feature type, largest area, some other attribute, etc)
That makes sense that is first in - is that mentioned/recorded in the documentation anywhere?
Ideally I would take the attributes of the majority/largest intersecting feature. But presumably when you say largest area you mean the input features? To calculate largest area of the 'green' dataset in each 'orange' cell is probably going to need a clipper and some extra steps right?
That makes sense that is first in - is that mentioned/recorded in the documentation anywhere?
Ideally I would take the attributes of the majority/largest intersecting feature. But presumably when you say largest area you mean the input features? To calculate largest area of the 'green' dataset in each 'orange' cell is probably going to need a clipper and some extra steps right?
In this scenario, yes it would be area of the original feature, not the overlapping area.
Clipping the green features by the orange features prior to the spatialRelator would work for scenarios where the orange features themselves have no overlaps.
If they do, you would probably need to do something involving UniqueIDs, AreaOnAreaOverlayer (with list), AreaCalculator, ListExploder/Cloner, Aggregator (group by on foreign key, sum area), FeatureMerger back on original orange features, with list, sort list to get largest overlapping area.